ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ (ΟΜΑΔΑ ΘΕΜΑΤΩΝ A)

Σχετικά έγγραφα
ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ. 1) Έστω η λογική συνάρτηση F = A' + Β'. D + B. C' + C. D' (όπου οι τόνοι δηλώνουν συμπληρώματα).

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PYTHON (ΟΜΑΔΑ Α)

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Αριθμητικά Συστήματα

Ελίνα Μακρή

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Κατ οίκον Εργασία ΚE5

Λογική Σχεδίαση Ψηφιακών Συστημάτων

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

ΠΛΗΡΟΦΟΡΙΚΗ I. 4 η ΔΙΑΛΕΞΗ Αριθμητικά Συστήματα

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ Ι ΕΞΕΤΑΣΕΙΣ ΦΕΒΡΟΥΑΡΙΟΥ 2010

Δυαδικό Σύστημα Αρίθμησης

Συνδυαστικά Λογικά Κυκλώματα

Δυαδικη παρασταση αριθμων και συμβολων

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ

Σημειωματάριο μαθήματος 1ης Νοε. 2017

9. OIΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΠΟΛΛΑΠΛΩΝ ΕΙΣΟ ΩΝ

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Αριθμητικά Συστήματα. Επιμέλεια Διαφανειών: Δ.

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1

Εισαγωγή στην Επιστήμη των Υπολογιστών

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Συστήματα Αρίθμησης ΔΥΑΔΙΚΟ ΣΥΣΤΗΜΑ ΑΡΙΘΜΗΣΗΣ

Σύστημα αρίθμησης. Τρόπος αναπαράστασης αριθμών Κάθε σύστημα αρίθμησης έχει μία βάση R

Πληρουορική Γ Γσμμασίοσ

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Γ2.1 Στοιχεία Αρχιτεκτονικής. Γ Λυκείου Κατεύθυνσης

Ψηφιακά Συστήματα. 6. Σχεδίαση Συνδυαστικών Κυκλωμάτων

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Πράξεις με δυαδικούς αριθμούς

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

10-δικό δικό

Αριθμητικά Συστήματα Η ανάγκη του ανθρώπου για μετρήσεις οδήγησε αρχικά στην επινόηση των αριθμών Κατόπιν, στην επινόηση συμβόλων για τη παράσταση

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 2 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

Εισαγωγή στον Προγραμματισμό

Ψηφιακά Κυκλώματα Ι. Μάθημα 1: Δυαδικά συστήματα - Κώδικες. Λευτέρης Καπετανάκης

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Αναδροµικές Συναρτήσεις Χειµερινό Εξάµηνο 2014

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΡΙΤΗ 13 ΙΟΥΝΙΟΥ 2017

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

Κεφάλαιο 8: Προγραμματίζοντας αλγορίθμους έξυπνα και δημιουργικά

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

ΘΕΜΑ : ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΗΣΗΣ. ΔΙΑΡΚΕΙΑ: 1 περιόδους. 22/1/ :11 Όνομα: Λεκάκης Κωνσταντίνος καθ. Τεχνολογίας

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 11

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

γρηγορότερα. Αν θέλουμε να μηδενίσουμε όλα τα υπόλοιπα bit μπορούμε να χρησιμοποιήσουμε την εντολή:

Θέματα Προγραμματισμού Η/Υ

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Αριθµητική υπολογιστών

Ενότητα: Δυαδική Αναζήτηση Σχέδιο Δραστηριότητας: Παιχνίδι: Βρες τον αριθμό

Η γλώσσα προγραμματισμού Strange

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΩΝ & Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΩΝ

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Α Β Γ static; printf("%c\n", putchar( A +1)+2); B DB BD. int i = 0; while (++i); printf("*");

Ανασκόπηση στα ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Ψηφιακά Συστήματα. 1. Συστήματα Αριθμών

Η γλώσσα προγραμματισμού C

e-book ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΑΣΚΗΣΕΙΣ

ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

Εισαγωγή στους Η/Υ και τις Εφαρμογές Ενότητα 5: Επεξεργασία δεδομένων με τη γλώσσα προγραμματισμού python Υπο-ενότητα 5.2: Συμβολοσειρές-Έλεγχος Ροής

ΘΕΜΑ Α. 1. Η δυαδική αναζήτηση χρησιμοποιείται μόνο σε ταξινομημένες συλλογές δεδομένων.

2.1 Διαιρετότητα, ισοϋπόλοιποι αριθμοί. q Z, a = b q + r.

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Εισαγωγή στους Υπολογιστές

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 3 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

Σημειωματάριο Δευτέρας 30 Οκτ. 2017

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 2

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΠΛΗ-21

Αθροιστές. Ημιαθροιστής

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

ΑΣΚΗΣΗ 3 ΣΥΝΔΥΑΣΤΙΚΑ ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ: ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ

Ενότητα 4 ΛΟΓΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ ΔΥΟ ΕΠΙΠΕΔΩΝ

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ

Χαράλαµπος Σκόκος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΞΕΤΑΣΕΙΣ ΕΑΡΙΝΟΥ ΕΞΑΜΗΝΟΥ Ερωτήσεις

ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ

Γράψτε ένα πρόγραμμα που να τυπώνει τον Αριθμό Μητρώου σας με χρήση της συνάρτησης print.

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών

1. ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΩΝ. α i. (α i β i ) (1.3) όπου: η= το πλήθος ακεραίων ψηφίων του αριθμού Ν. n-1

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Transcript:

ΑΣΚΗΣΗ 1 Δίνεται η λογική συνάρτηση: F = ((A AND B) OR (B AND C) OR (A AND C)) ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ (ΟΜΑΔΑ ΘΕΜΑΤΩΝ A) α) Σχεδιάστε το λογικό κύκλωμα που υλοποιεί τη συνάρτηση F. β) Σχηματίστε τον πίνακα αληθείας της F, συμπεριλαμβάνοντας και όσα ενδιάμεσα αποτελέσματα δημιουργούνται. γ) Γράψτε πρόγραμμα σε γλώσσα python, το οποίο να διαβάζει τις τιμές των εισόδων του κυκλώματος A, B και C και να εμφανίζει την τιμή εξόδου F της παραπάνω λογικής συνάρτησης. ΑΣΚΗΣΗ 2 α) Έστω η παρακάτω αναδρομική συνάρτηση: def fn(v): if (v==1 or v==0): return(1) if (v%2==1): return(fn(v-1)+4) else: return(fn(v/2)+3) Ποια θα είναι η τιμή της fn(9); Τεκμηριώστε την απάντησή σας. β) Σχεδιάστε Διάγραμμα Ροής Προγράμματος - ΔΡΠ (flowchart), το οποίο να υπολογίζει το άθροισμα όλων των περιττών ακέραιων αριθμών από το 1 έως το 50. ΑΣΚΗΣΗ 3 α) Μετατρέψτε τον δεκαδικό αριθμό (55) 10 σε δυαδικό, δείχνοντας όλα τα βήματα της μετατροπής. β) Μετατρέψτε τον δεκαεξαδικό αριθμό (C1.2A) 16 σε οκταδικό μέσω του δυαδικού συστήματος. γ) Να εκτελέσετε την αφαίρεση 6 10-15 10 στο δυαδικό σύστημα, χρησιμοποιώντας τη μέθοδο του συμπληρώματος ως προς δύο. Για την απεικόνιση των δυαδικών αριθμών να χρησιμοποιήσετε 8 ψηφία. ΑΣΚΗΣΗ 4 a) Γράψτε πρόγραμμα σε γλώσσα προγραμματισμού python, το οποίο θα διαβάζει 20 ακέραιες τιμές, και θα εμφανίζει στην οθόνη το άθροισμα των τριών μεγαλύτερων τιμών. b) Να γραφεί στη γλώσσα προγραμματισμού python η συνάρτηση: def symp(bin) που δέχεται ως μια λίστα bin, η οποία περιέχει ακεραίους αριθμούς που αντιπροσωπεύουν τα ψηφία ενός δυαδικού αριθμού. Η συνάρτηση επιστρέφει το συμπλήρωμα ως προς 1 του δυαδικού αριθμού. Αν η είσοδος δεν είναι δυαδικός αριθμός επιστρέφει το -1. ΑΣΚΗΣΗ 5 Να γραφεί πρόγραμμα στη γλώσσα προγραμματισμού python, το οποίο να διαβάζει έναν θετικό ακέραιο αριθμό και να βρίσκει το πλήθος των εμφανίσεων κάθε ψηφίου.. ΑΣΚΗΣΗ 6 Οι αριθμοί Fibonacci είναι φυσικοί αριθμοί που διατάσσονται σε μία αύξουσα ακολουθία. Κάθε αριθμός Fibonacci προκύπτει από το άθροισμα των δύο προηγούμενων, θεωρώντας τους δύο πρώτους ίσους με 0 και 1. Η ακολουθία αριθμών Fibonacci έχει ως εξής: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144,... Δηλαδή, 1=0+1, 2=1+1, 3=2+1, 5=3+2, 8=5+3, κ.ο.κ. Να γραφεί συνάρτηση στη γλώσσα python, η οποία θα έχει ως όρισμα έναν θετικό ακέραιο αριθμό και θα επιστρέφει τον αριθμό Fibonacci που είναι πλησιέστερος στον αριθμό του ορίσματος. Αν τυχόν ο ακέραιος αριθμός (το όρισμα της συνάρτησης) ισαπέχει από δύο (προφανώς διαδοχικούς) αριθμούς Fibonacci, η συνάρτηση να επιστρέφει τον μικρότερο από τους δύο αριθμούς Fibonacci. Επιλύστε τα 5 από τα 6 θέματα. Καλή Επιτυχία.

1 Λογικό κύκλωμα που υλοποιεί τη συνάρτηση F: A B ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ C F β) Πίνακας αληθείας: A B C A AND B B AND C A AND C F 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 γ) Πρόγραμμα σε γλώσσα python: a = int(raw_input("type value of A (0-1): ")) b = int(raw_input("type value of B (0-1): ")) c = int(raw_input("type value of C (0-1): ")) if ((a*b) or (a*c) or (b*c)): f = 1 else: f = 0 print "H exodos einai f =", f 2. a) Κλήση της fn(9) v%2=1, επομένως return(fn(8)+4) - Σημείο 1 Κλήση της fn(8) v%2=0, επομένως return(fn(4)+3) - Σημείο 2 Κλήση της fn(4) v%2=0, επομένως return(fn(2)+3) - Σημείο 3 Κλήση της fn(2) v%2=0, επομένως return(fn(1)+3) - Σημείο 4 Κλήση της fn(1) v=1, επομένως return(1) Επιστροφή 1 στο Σημείο 4 Επιστροφή 1+3=4 στο Σημείο 3 Επιστροφή 4+3=7 στο Σημείο 2 Επιστροφή 7+3=10 στο Σημείο 1 Επιστροφή 10+4=14 Επομένως, η fn(9) θα επιστρέφει το 14. β)

ΑΡΧΗ P := 0 I = 1 P := P + I I := I + 2 I>50 PRINT P ΤΕΛΟΣ 3. α) Β) Βάση Πηλίκο Υπόλοιπο 55:2 = 27 1 27:2 = 13 1 13:2 = 6 1 6:2 = 3 0 3:2 = 1 1 1:2 = 0 1 C1.2A <16> = 1100 0001. 0010 1010 <2> = 1 1 0 1 1 1 011 000 001. 001 010 100 <2> = 301.124 <8> γ) Υπολογισμός του 6-15 6 10 = (00000110) 2

15 10 = (00001111) 2 Συμπλήρωμα ως προς 1 του 15: 11110000 Συμπλήρωμα ως προς 2 του 15: 11110001 06 00000110 00000110-15 - 00001111 + 11110001 11110111 Το αποτέλεσμα 11110111 είναι αρνητικός αριθμός (το αριστερά ψηφίο του είναι 1). Για να βρούμε την απόλυτη τιμή του στο δεκαδικό σύστημα, υπολογίζουμε το συμπλήρωμά του ως προς 2: Συμπλήρωμα ως προς 1 του 11110111: 00001000 Συμπλήρωμα ως προς 2 του 11110111: 00001001 (=9) Επομένως, το αποτέλεσμα είναι 11110111 2 = -9 10 4. a) a=[] for i in range(0,20,1): a.sort() a.append(int(raw_input("type value: "))) print a[19]+a[18]+ a[17] b) def symp(bin): for i in range(0,len(bin),1): if (bin[i]==1): bin[i]=0 elif (bin[i]==0): bin[i]=1 else: return(-1) return(bin). 5. a = int(raw_input("type value of a: ")) digits=[0,0,0,0,0,0,0,0,0,0,0] if (a==0): digits[0] = 1 while (a>0): digits[a%10]=digits[a%10]+1 a/=10 for i in range(0,10,1): if (digits[i]>0): print "Digit", i, "occurs", digits[i], "time(s)" 6)

def nearestfib(x): prevf=0 currf=1 while True: nextf = currf + prevf prevf = currf currf = nextf; if (currf > x): break if (currf - x < x - prevf): return currf else: return prevf