3.1 Αριθμητικές , λογικές πράξεις και εκφράσεις-Π.Υ. Γπ

  • Τι είναι οι τελεστές, ποιες κατηγορίες υπάρχουν;
  • Ποιοι αριθμητικοί τελεστές χρησιμοποιούνται στην  Python;
  • Τι είναι οι σχεσιακοί/συγκριτικοί τελεστές που χρησιμοποιούνται στην  Python;
  • Πως εφαρμόζονται οι σχεσιακοί τελεστές σε συμβολοσειρές στην  Python;
  • Ποιες πράξεις γίνονται σε μεταβλητές ή σε εκφράσεις λογικού τύπου;
  • Ποιοι λογικοί τελεστές χρησιμοποιούνται στην  Python;
  • Να περιγράψετε την λειτουργία των λογικών τελεστών and ,or, not.
  • Τι είναι ιεραρχία πράξεων και τι προτεραιότητα τελεστών;

Παρατηρήσεις:

  • Αν σε μία σύνθετη έκφραση υπάρχουν τελεστές  με την ίδια προτεραιότητα, τότε οι πράξεις εκτελούνται από αριστερά προς τα δεξιά.
  • Αν θέλουμε να αλλάξουμε την ιεραρχία των πράξεων , χρησιμοποιούμε παρενθέσεις.

Π.χ. στην έκφραση 8-12/3 ,αν θέλουμε να εκτελεστεί πρώτα η αφαίρεση πριν τη διαίρεση η οποία προηγείται στην προτεραιότητα τελεστών, τότε  θα χρησιμοποιήσουμε την παρένθεση ως εξής (8-12)/3 .

  • Μεταξύ λογικών τελεστών η προτεραιότητα είναι ως εξής:

1. not

2. and

3. or

  • Στη πράξη του υπολοίπου ακέραιας διαίρεσης %, όταν ο διαιρέτης είναι μεγαλύτερος του διαιρετέου το αποτέλεσμα είναι η τιμή του διαιρετέου π.χ. 5%13—>5

Ασκήσεις:

  1. Να γράψετε για κάθε μία από τις παρακάτω τιμές σε ποιο τύπο δεδομένων αντιστοιχεί;

α. 230         β.’Κυριακή’     γ. False       δ.’6970345234′

2. Να γράψετε κάθε μια από τις παρακάτω αριθμητικές παραστάσεις σε εκφράσεις της  γλώσσα  Python.

Α) a=5b+3 , Β) y=2x+1/(x-2) , Γ) y=x2+2x+1

3.Ποια τιμή θα έχουν οι μεταβλητές χ,ψ,ζ μετά την εκτέλεση των παρακάτω εντολών;

χ=4+30%7/3     ψ=(20+5)/5%11+4    ζ=2*(8/4.0+2.5)/2

4. Να συμπληρώσετε τον παρακάτω πίνακα:

W                 Ζ                   not(W) or Z and W

True          True

False         True

False        False

True        False

5. Αν Α=3 ,Β=5 και Γ=2 να χαρακτηρίσετε τις παρακάτω προτάσεις Π1, Π2  ως True  ή  False :

Π1)       (Α/Β)==0 or (B>=Γ)

Π2)      not(A>Γ) and (A%Γ<Γ) or (Β-Γ !=Α)

6. Ποια είναι το αποτελέσματα των παρακάτω συγκρίσεων:

α)             ‘Α’ > ‘Β’                               β)        ‘κακός’ <‘καλός’

7. ΣΩΣΤΟ-ΛΑΘΟΣ

1. Ο τελεστής and αντιστοιχεί στην πράξη της διάζευξης δυο λογικών εκφράσεων. Σ       Λ

2.Ο τελεστής της ισότητας (==) είναι αριθμητικός τελεστής.        Σ       Λ

3.Μεταξύ των λογικών τελεστών, ο τελεστής not έχει την υψηλότερη προτεραιότητα Σ   Λ

4.Η τιμή 20/3.0 είναι πραγματικού τύπου.    Σ       Λ

5. Σε μια σύνθετη έκφραση οι λογικοί τελεστές έχουν υψηλότερη προτεραιότητα από τους συγκριτικούς τελεστές.    Σ       Λ

Κατηγορίες: Χωρίς κατηγορία | Δεν επιτρέπεται σχολιασμός στο 3.1 Αριθμητικές , λογικές πράξεις και εκφράσεις-Π.Υ. Γπ

Μεταβλητές και τύποι δεδομένων

Προγραμματισμός υπολογιστών  Γπ -2022-2023 

Κεφάλαιο 3

3.1.1 Τύποι δεδομένων

  1. Τι είναι τα δεδομένα και που βρίσκονται;

2. Τι καλούμε  ‘ τύπο δεδομένων ‘

3.  Ποιοι τύποι δεδομένων υπάρχουν στην Python;

4. Ποιους τύπους αριθμών περιλαμβάνει ο αριθμητικός τύπος δεδομένων;

5. Τι τιμές λαμβάνει ο λογικός τύπος δεδομένων στην Python;

6. Τι είναι οι συμβολοσειρές /αλφαριθμητικά (strings) στην Python;

Προσοχή-παρατηρήσεις!

  • Στην Python δε δηλώνουμε ποιο τύπο δεδομένων χρησιμοποιούμε.
  • Αν ένας αριθμός δεν έχει πρόσημο θεωρείται ότι είναι θετικός π.χ.      3  == +3
  • Το δεκαδικό τμήμα σε αριθμό κινητής υποδιαστολής (float)   χωρίζεται με τελεία “.και όχι με κόμμα,” π.χ.      3.14                  και όχι       3,14
  • Σε ένα αριθμό αριθμό κινητής υποδιαστολής (float ή floating point) το Ε δηλώνει δύναμη του 10 π.χ. 13.2Ε2 =13.2 *10**2           ή                   13.2Ε-2= 13.2*10**-2
  • Τους μιγαδικούς αριθμούς (complex numbers) δεν θα τους χρησιμοποιήσουμε.
  • Για να ελέγξουμε τον τύπο δεδομένων χρησιμοποιούμε την εντολή  type( )
Κατηγορίες: Χωρίς κατηγορία | Δεν επιτρέπεται σχολιασμός στο Μεταβλητές και τύποι δεδομένων

Προγραμματισμός Υπολογιστών Γ π

 

ask_stack_2

Να γράψετε ένα πρόγραμμα στη Python το οποίο θα διαβάζει αριθμούς από το πληκτρολόγιο,
μέχρι να δοθεί ο αριθμός 0. Κάθε φορά που θα διαβάζει έναν θετικό αριθμό, θα τον
προσθέτει στη στοίβα με όνομα  myNum. Όταν διαβάζει έναν αρνητικό αριθμό θα αφαιρεί τόσους
αριθμούς από τη στοίβα, όσο είναι η τιμή του αριθμού. Ο αλγόριθμος θα τερματίζει
όταν αδειάσει η στοίβα.

 

ask_stack_1

Να αναπτύξετε πρόγραμμα στη Python το οποίο:

Α. ΔΙΑΒΑΖΕΙ μία λέξη.

Β. Δημιουργεί μια στοίβα με το όνομα LEXI.

Γ. Εισάγει κάθε γράμμα της λέξης στην στοίβα LEXI.

Δ. Εμφανίζει την παραπάνω λέξη αντεστραμμένη αφαιρώντας το κάθε γράμμα της από      την  στοίβα

ask_epan_D_2019

Thema D Epan 2019

ask_thema_G_2018

THEMA G 2018

Κατηγορίες: Χωρίς κατηγορία | Δεν επιτρέπεται σχολιασμός στο Προγραμματισμός Υπολογιστών Γ π

ask_thema_D_2021

2021

Κατηγορίες: Χωρίς κατηγορία | Δεν επιτρέπεται σχολιασμός στο ask_thema_D_2021

ask_thema_G_2019

από 2022 02 16 07 48 18

Κατηγορίες: Χωρίς κατηγορία | Δεν επιτρέπεται σχολιασμός στο ask_thema_G_2019

ask_thema_G_epan_2020

themaG epan.2020

Κατηγορίες: Χωρίς κατηγορία | Δεν επιτρέπεται σχολιασμός στο ask_thema_G_epan_2020

Γπ Π.Υ.

ask_7_2

Στο δήμο Πατρέων θα γίνει πρόσληψη 3 προσωρινών υπαλλήλων ανάλογα με τα μόρια του κάθε υποψηφίου.

Να γραφεί πρόγραμμα που:

Α. Για κάθε ένα από τους  υποψήφιους διαβάζει το ονοματεπώνυμό του  τα μόριά του και τα τοποθετεί σε κατάλληλες λίστες. Ο τερματισμός εισαγωγής γίνεται όταν δοθεί για τιμή στα μόρια το  -1. (Οι υποψήφιοι είναι περισσότεροι από τους προσληφθέντες)

Β.Θα καλεί συνάρτηση η οποία θα εμφανίζει το ονοματεπώνυμο και δίπλα τα μόρια, εμφανίζοντας  πρώτα αυτούς με τα περισσότερα μόρια καθώς και το πλήθος τους.

Γ. Θα διαβάζει το ονοματεπώνυμο ενός υποψηφίου και θα εξετάζει αν προσλαμβάνεται ή όχι εμφανίζοντας το αντίστοιχο μήνυμα.

( Δεν υπάρχουν υποψήφιοι με το ίδιο ονοματεπώνυμο ούτε ισοβαθμία στα μόρια)

Κατηγορίες: Χωρίς κατηγορία | Δεν επιτρέπεται σχολιασμός στο

Γπ 3-12-21 ΠΥ

ask5_23

Στο πρωτάθλημα ποδοσφαίρου συμμετέχουν 12 ομάδες
Οι τρεις πρώτες στη βαθμολογία συμμετέχουν στις ευρωπαϊκές διοργανώσεις
ως εξής: η πρώτη συμμετέχει κατευθείαν στους ομίλους champion League, η δεύτερη στον Β προκριματικό γύρο και η τρίτη στον A προκριματικό γύρο.

Να γράψετε πρόγραμμα το οποίο:
1. ΘΑ ΔΙΑΒΑΖΕΙ τα ονόματα των ομάδων και θα τα καταχωρεί στην λίστα ΟMADA.
2.Για κάθε ομάδα θα διαβάζει τον αριθμό των νικών και των ισοπαλιών που πέτυχε στη
διάρκεια του πρωταθλήματος και θα τα καταχωρεί στη λίστες nikes και iso
3. Κάθε νίκη παίρνει 3 βαθμούς και κάθε ισοπαλία 1 βαθμό, τα υπολογίζει και τα καταχωρεί στη λίστα grade με την συνολική βαθμολογία της κάθε ομάδας
4. ΕΜΦΑΝΙΖΕΙ τα ονόματα των ομάδων που θα συμμετάσχουν στις ευρωπαϊκές διοργανώσεις καθώς και ποιες διοργανώσεις είναι

 

 

ΒΠ

Β= 0100 0010

 

BASK           BASK1      BASK2           BASK3          BASK4

Γπ      25-11-2021-      Π.Υ

ask5_20

Σε ένα κατάστημα πώλησης ανταλλακτικών αυτοκινήτων  έχουν καταχωρηθεί σε πίνακα βιβλίου 2000 διαφορετικά ανταλλακτικά και σε ένα άλλο πίνακα ο αριθμός των ανταλλακτικών που είναι διαθέσιμα. Για ανταλλακτικά που δεν υπάρχει απόθεμα έχει καταχωρηθεί ο αριθμός μηδέν (0).

Το κατάστημα θέλει να φτιάξει ένα  πρόγραμμα σε Python το οποίο θα κάνει τα εξής:

  1. Για κάθε ανταλλακτικό , ΔΙΑΒΑΖΕΙ την ονομασία του και τον αριθμό που είναι διαθέσιμα και τα καταχωρεί στις λίστες ΟΝΟΜΑ, και POSO αντίστοιχα.
  2. ΤΑΞΙΝΟΜΕΙ αλφαβητικά την λίστα ONOMA με τις ονομασίες των ανταλλακτικών και ταυτόχρονα αλλάξει τις θέσεις  των αντίστοιχων αριθμών  ανταλλακτικών που είναι διαθέσιμα στη λίστα POSO.
  3. Στη συνέχεια ΔΙΑΒΑΖΕΙ το ανταλλακτικό που θέλει ένας πελάτης να αγοράσει.

α. ΑΝ υπάρχει το ανταλλακτικό  ΕΛΕΓΧΕΙ αν υπάρχουν διαθέσιμα ανταλλακτικά,                      μειώνει τον αριθμό τους κατά ένα (1) και ΕΜΦΑΝΙΖΕΙ τον αριθμό των υπολοίπων.

β. Αν ΔΕΝ υπάρχει διαθέσιμο ανταλλακτικό εμφανίζει το μήνυμα ‘ΥΠΑΡΧΕΙ έλλειψη’.

γ. Αν δεν έχει καταχωρηθεί η ονομασία ενός ανταλλακτικού ΕΜΦΑΝΙΖΕΙ το                                μήνυμα   ’ΔΕΝ ΥΠΑΡΧΕΙ τέτοιο ανταλλακτικό’.

  1. Στο τέλος ΕΜΦΑΝΙΖΕΙ όλες τις ονομασίες των ανταλλακτικών που είναι σε έλλειψη.

ask5 22

 

==============================================================

ask5_21

Ένα κατάστημα Υ/Η αποφάσισε να δώσει μια δωροεπιταγή στο πελάτη που θα κάνει την μεγαλύτερη αγορά της ημέρας.

Να γράψετε πρόγραμμα που:

α. Θα ΔΙΑΒΑΖΕΙ το όνομα του  κάθε πελάτη και το ποσό αγοράς του .

β. Θα ΚΑΤΑΧΩΡΕΙ το όνομα και το ποσό  σε κατάλληλες λίστες.

γ. Θα ΤΕΡΜΑΤΙΖΕΙ αν δοθεί η λέξη “ΤΕΛΟΣ” για όνομα.

δ. Θα ΕΜΦΑΝΙΖΕΙ το όνομα του πελάτη που κέρδισε την δωροεπιταγή.

==================================================

ask5_27

Να γράψετε  πρόγραμμα που θα εισάγει 5 ονόματα στη λίστα ΟΝΟΜΑΤΑ.

  1. Να γράψετε συνάρτηση που θα ΚΑΛΕΙ την λίστα ΟΝΟΜΑΤΑ και θα επιστρέφει True εάν η λίστα είναι ταξινομημένη αλφαβητικά, διαφορετικά θα επιστρέφει False.
  2. Θα εμφανίζει το μήνυμα “Ταξινομημένη λίστα” αν είναι ταξινομημένη αλφαβητικά η λίστα ΟΝΟΜΑΤΑ,  διαφορετικά θα την ταξινομεί και θα εμφανίζει το μήνυμα “Ταξινομήθηκε”

=======================================

Σ.Α.Δ.Ε

στο αρχείο  .html εισάγετε τον παρακάτω κώδικα.

<p>
Δυαδική αναζήτηση<p>
Lista=[1,22,35,41,52,63,77,81]<p>
Name=[‘NIKOS’,’PETROS’,’HLIAS’,’KOSTAS’,’MARIOS’,’SPYROS’,’XRISTOS’,’FOTEINI’]

<form method=”POST” action=”/python”>
{%csrf_token%}
<label for=”key”>Δώσε ένα αριθμό για αναζήτηση:</label><br>

<input type=”text” id=”key” name=”key” value=””><br>

</form>

Tο κλειδί <b>{{key}}</b> {{log}} βρίσκεται στη θέση <b>{{pos}} και είναι του/ης {{name}}</b> <br>
<b>L[{{pos}}]={{key}}</b>

στο urls.py  να γράψετε τα παρακάτω.

path (‘python’,views.python,name=’python’)

στο views.py  να γράψετε τα παρακάτω.

def python(request):
key=0
mid=0
pos=-1
log=”ΔΕΝ”
name=”
if request.method == ‘POST’:
key= int(request.POST[‘key’])
L=[1,22,35,41,52,63,77,81]
Name=[‘NIKOS’,’PETROS’,’HLIAS’,’KOSTAS’,’MARIOS’,’SPYROS’,’XRISTOS’,’FOTEINI’]
first=0
last=len(L)-1
while first<=last and pos==-1:
mid=int((first+last)/2)
if L[mid]==key:
pos=mid
elif L[mid]<key:
first=mid+1
else:
last=mid-1
if pos==-1:
return render(request,’python.html’,{‘log’:log,’key’:key})
else:
name=Name[pos]
return render(request,’python.html’,{‘pos’:pos,’name’:name,’key’:key})

 

 

ask_

Να γραφεί συνάρτηση η οποία θα δέχεται ως όρισμα  μια λίστα με ονόματα αλφαβητικά ταξινομημένα και  ένα όνομα για αναζήτηση. Να χρησιμοποιηθεί ο αλγόριθμος δυαδικής αναζήτησης και αν το όνομα αναζήτησης βρίσκεται μέσα στη λίστα να επιστρέφει την τιμή True,  διαφορετικά αν δεν υπάρχει να επιστρέφει την τιμή False

Δομή επανάληψης

bs 600 337

Δυαδική αναζήτηση

BinarySearch

Κατηγορίες: Χωρίς κατηγορία | Δεν επιτρέπεται σχολιασμός στο

Γπ Π.Υ   5-11-21

 

drast_23

Να δημιουργηθεί αρχικά μια συνάρτηση που να
υπολογίζει το μεγαλύτερο μεταξύ δύο αριθμών με το όνομα
max_of_two.

Στη συνέχεια, να δημιουργηθεί μια νέα συνάρτηση
που να βρίσκει το μεγαλύτερο μεταξύ τριών αριθμών με το όνομα
max_of_three,

χρησιμοποιώντας κατάλληλα τη συνάρτηση
max_of_two.

drast_ 25.
Να γράψετε πρόγραμμα σε Python που θα:
1) Διαβάζει ένα ποσό, σε ευρώ.
2) Να μετατρέπει το ποσό που διάβασε σε Λίρες Αγγλίας
(δεχόμαστε ότι 1€ = 0,85 Λίρες).
3) Να εμφανίζει το ποσό σε ευρώ και Λίρες Αγγλίας.

Επέκταση: Αφού διαβάσει το ποσό, να διαβάζει και την ισοτιμία
του ενός ευρώ έναντι της Λίρας Αγγλίας και στη συνέχεια με βάση
την ισοτιμία αυτή να κάνει τη μετατροπή.

drast_28.
Ένας σκληρός δίσκος έχει χωρητικότητα 500 MB για αποθήκευση
αρχείων. Ο κάτοχός του τον γεμίζει με αρχεία. Θεωρώντας ότι το αποθηκευτικό μέσο είναι αρχικά άδειο, να γράψετε πρόγραμμα σε
Python που θα διαβάζει το μέγεθος κάθε αρχείου σε MB, μέχρι το
συνολικό μέγεθος να ξεπεράσει τη χωρητικότητά αυτή. Στη
συνέχεια θα εμφανίζει το συνολικό πλήθος των αρχείων που
έχουν αποθηκευθεί στο δίσκο.

drast_ 33.
Να γράψετε πρόγραμμα σε Python με το οποίο: Να
καταχωρούνται επαναληπτικά, ο αριθμός κυκλοφορίας οχήματος
και ποσό κλήσης από παρκάρισμα ή άλλη αιτία, με την
καταχώρηση να επαναλαμβάνεται μέχρι να δοθεί αριθμός
κυκλοφορίας 99.
Στο τέλος να εμφανίζει:
1. Το πλήθος των οχημάτων που καταχωρήθηκαν.
2. Το συνολικό ποσό κλήσεων που θα εισπραχθεί.
3. Τον αριθμό κυκλοφορίας του τελευταίου από τα οχήματα που
έλαβαν το μέγιστο ποσό κλήσης, καθώς και το ποσό της κλήσης
αυτής.

Κατηγορίες: Χωρίς κατηγορία | Δεν επιτρέπεται σχολιασμός στο Γπ Π.Υ   5-11-21

Γπ Π.Υ. 29-10-2021

ask4_10

Μια ομάδα βόλεϊ αποτελείται από 14 παίκτες. Η ομάδα συμμετείχε σε 28 αγώνες.

Να γράψετε πρόγραμμα για κάθε παίκτη:

Α. Θα διαβάζει το όνομα του.

Β. Θα διαβάζει την συμμετοχή του σε κάθε αγώνα με “ΝΑΙ” ή “ΟΧΙ”.

Γ. Θα διαβάζει τους πόντους που πέτυχε σε κάθε ένα αγώνα που συμμετείχε.

Δ. Θα εμφανίζει το όνομα του, το αριθμό συμμετοχών του και τον μέσο όρο των πόντων του.

ask4_11

Σε ένα γραπτό διαγώνισμα  συμμετείχαν 27 μαθητές, στους οποίους δόθηκαν  4 θέματα.  To κάθε θέμα βαθμολογείται με 25 μονάδες.

Να γράψετε πρόγραμμα που:

  1. Θα διαβάζει το όνομα του κάθε μαθητή,

2. Θα διαβάζει την βαθμολογία του  για κάθε ένα θέμα.

3. Θα εμφανίζει το όνομα, την συνολική βαθμολογία του σε εικοσαβάθμια κλίμακα και το μήνυμα “ΠΑΝΩ από την βάση” εάν έχει βαθμό μεγαλύτερο ή ίσο του 10 διαφορετικά να εμφανίζει το μήνυμα “ΚΑΤΩ από την βάση”.

4. Θα  εμφανίζει με ανάλογο μήνυμα το ποσοστό % των μαθητών που βαθμολογήθηκαν πάνω από την βάση και το ποσοστό % των μαθητών  που βαθμολογήθηκαν κάτω από την βάση.

 

 

 

Κατηγορίες: Χωρίς κατηγορία | Δεν επιτρέπεται σχολιασμός στο Γπ Π.Υ. 29-10-2021