Κυριακή 15 Ιανουαρίου 2023

 

ΕΠΙΣΗΜΑΝΣΕΙΣ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΑ Α’ ΤΕΤΡΑΜΗΝΟΥ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Γ’ ΤΑΞΗΣ «ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ»

(ΥΛΗ;ΑΠΟ ΤΟ ΒΙΒΛΙΟ ΣΕΛΙΔΕΣ 24-35 ΧΩΡΙΣ ΤΙΣ ΑΛΥΤΕΣ ΑΣΚΗΣΕΙΣ-ΚΑΙ ΑΠΟ ΤΗΝ ΠΑΡΑΔΟΣΗ ΤΑ 4 ΤΕΛΕΥΤΑΙΑ ΜΑΘΗΜΑΤΑ)


ΤΜΗΜΑΤΑ Γ2,Γ4,Γ5

ΠΩΣ ΜΠΟΡΩ ΝΑ ΔΩΣΩ ΤΙΜΗ ΣΕ ΜΙΑ ΜΕΤΑΒΛΗΤΗ ΜΕ ΣΥΜΒΟΛΙΚΟ ΟΝΟΜΑ x;

#ΜΕΣΑ ΑΠΟ ΤΟ ΠΡΟΓΡΑΜΜΑ

x=5

#ΑΠΟ ΤΟ ΠΛΗΚΤΡΟΛΟΓΙΟ

x=input(‘ΔΩΣΤΕ ΕΝΑ ΑΡΙΘΜΟ’)

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

Π.Χ

   x=a+b-12

   print x

   ή

   print a+b-12

   ή

 k=1/(l+m)-4.0

print  k

 ή

print 1/(l+m)-4.0

ΠΩΣ ΜΠΟΡΩ ΝΑ ΑΥΞΗΣΩ ΜΙΑ ΜΕΤΑΒΛΗΤΗ ΚΑΤΑ 5 ΜΟΝΑΔΕΣ;

#ΣΤΗΝ PYTHON ‘=’ EINAI TO ΣΥΜΒΟΛΟ ΕΚΧΩΡΗΣΗΣ ΣΗΜΑΙΝΕΙ ΒΑΛΕ

#ΣΤΗΝ ΜΕΤΑΒΛΗΤΗ ΑΡΙΣΤΕΡΑ ΟΤΙ ΒΡΙΣΚΕΤΑΙ ΔΕΞΙΑ (ΤΙΜΗ ΜΕΤΑΒΛΗΤΗΣ #ή ΣΤΑΘΕΡΑ ή ΑΠΟΤΕΛΕΣΜΑ ΠΡΑΞΕΩΝ ΜΕΤΑΞΥ #ΜΕΤΑΒΛΗΤΩΝ,ΣΤΑΘΕΡΩΝ) ΣΥΜΒΟΛΟ  ΙΣΟΤΗΤΑΣ ΤΟ ΔΙΠΛΟ ΙΣΟΝ ’==’

a=a+5

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

 

(1+1/5.0)**3/(127%12)**2

ΠΑΡΑΤΗΡΗΣΗ;ΟΙ ΕΝΤΟΛΕΣ if,for,while ΕΧΟΥΝ ΕΜΒΕΛΕΙΑ ΚΑΙ ΑΝΑΦΕΡΟΝΤΑΙ ΣΤΙΣ ΕΝΤΟΛΕΣ ΠΟΥ ΤΙΣ ΑΚΟΛΟΥΘΟΥΝ ΚΑΙ ΕΙΝΑΙ ΤΟΠΟΘΕΤΗΜΕΝΕΣ ΠΙΟ ΔΕΞΙΑ ΑΠΟ ΑΥΤΕΣ ΑΛΛΙΩΣ ΕΝΤΟΛΕΣ ΠΟΥ ΑΡΧΙΖΟΥΝ ΣΤΗΝ ΙΔΙΑ ΣΤΗΛΗ ΜΕ ΤΙΣ if,for,while ΕΙΝΑΙ ΕΞΩ ΑΠΟ ΤΗΝ ΕΜΒΕΛΕΙΑ ΤΟΥΣ.

if συνθηκη:                       for ...........................:          while συνθηκη:

        εντολη1                             εντολη1                              εντολή 1

        εντολη2                             εντολη2                              εντολη  2

εντολή3                            εντολή3                                εντολή3      

Οι εντολές1,2 είναι εντός εμβέλειας των αντίστοιχων εντολών οι εντολές 3 εκτος εμβέλειας των αντίστοιχων εντολών

 ΠΩΣ   ΜΠΟΡΩ ΝΑ ΕΚΤΕΛΕΣΩ ΜΙΑ ΕΝΤΟΛΗ ή ΠΕΡΙΣΣΟΤΕΡΕΣ ΟΤΑΝ ΙΣΧΥΕΙ ΜΙΑ ΣΥΝΘΗΚΗ

Π.Χ 

(συνθήκες x==1,x>1)

If x==1:

    k=5

ή

if x>1:

    k=6

    a=a+5

ΠΩΣ ΜΠΟΡΩ ΝΑ ΕΛΕΓΞΩ ΑΝ ΜΙΑ ΜΕΤΑΒΛΗΤΗ ΑΝΗΚΕΙ ΣΕ ΔΙΑΔΟΧΙΚΑ ΑΡΙΘΜΗΤΙΚΑ ΔΙΑΣΤΗΜΑΤΑ ΚΑΙ ΝΑ ΕΚΤΕΛΕΣΩ ΑΝΤΙΣΤΟΙΧΕΣ ΕΝΤΟΛΕΣ.

#ΕΧΟΥΜΕ ΑΥΞΗΣΗ ΤΗΣ ΤΙΜΗΣ ΤΗΣ ΜΕΤΑΒΛΗΤΗΣ b ΚΑΤΑ

#10%ή20%ή,30% ΑΝΤΙΣΤΟΙΧΑ ΓΙΑ ΟΠΟΙΑ ΑΠΟ ΤΙΣ 3 ΣΥΝΘΗΚΕΣ ΙΣΧΥΕΙ

If  b>5 and b<=10:

     b=b+b*10/100

elif b>10 and b<=20:

     b=b+b*20/100

elif b>20:

     b=b+b*30/100

else  ‘ΑΡΙΘΜΟΣ ΕΚΤΟΣ ΟΡΙΩΝ’

ΠΩΣ ΜΠΟΡΩ ΝΑ ΠΑΡΑΓΩ ΔΙΑΔΟΧΙΚΕΣ ΤΙΜΕΣ ΜΕ ΑΡΧΗ ΜΙΑ ΤΙΜΗ,ΔΕΥΤΕΡΗ ΤΙΜΗ  ‘ΦΡΑΓΜΑ’ ΚΑΙ ΤΡΙΤΗ ΤΙΜΗ ΒΗΜΑ ΜΕΤΑΒΟΛΗΣ.

range(αρχή,φράγμα,βήμα)

Π.χ

    range(1,10,2) à1,3,5,9

ή ΜΕ ΕΝΑ ΟΡΙΣΜΑ

    range(5)à0,1,2,3,4 ΑΡΧΙΖΩ ΑΠΟ ΤΟ 0 ΦΡΑΓΜΑ ΤΟ 5

ΠΩΣ ΜΠΟΡΩ ΓΙΑ ΚΑΘΕ ΤΙΜΗ ΠΟΥ ΠΑΡΑΓΕΙ Η range ΝΑ ΕΚΤΕΛΩ ΜΙΑ ή ΠΕΡΙΣΣΟΤΕΡΕΣ ΕΝΤΟΛΕΣ;

ΜΕ ΤΗΝ εντολη for:

 

#ΔΙΑΒΑΖΕΙ 5 ΑΡΙΘΜΟΥΣ ΑΠΟ ΤΟ ΠΛΗΚΤΡΟΛΟΓΙΟ ΚΑΙ ΤΟΥΣ ΠΡΟΣΘΕΤΕΙ

a=0

for i in range(5):

    x=input("ΔΩΣΤΕ ΕΝΑΝ ΑΡΙΘΜΟ")

    a=a+x

print 'ΑΘΡΟΙΣΜΑ ΑΡΙΘΜΩΝ=',a

ΠΩΣ ΜΠΟΡΩ ΝΑ  ΕΚΤΕΛΩ ΜΙΑ ή ΠΕΡΙΣΣΟΤΕΡΕΣ ΕΝΤΟΛΕΣ ΟΣΟ ΙΣΧΥΕΙ ΜΙΑ ΣΥΝΘΗΚΗ;

ΜΕ ΤΗΝ ΕΝΤΟΛΗ while:

        While συνθήκη

                   εντολή(ες)

ΟΙ ΕΝΤΟΛΕΣ ΘΑ ΠΡΕΠΕΙ ΝΑ ΕΠΗΡΕΑΖΟΥΝ ΤΗ ΣΥΝΘΗΚΗ ΑΛΛΙΩΣ ΘΑ ΕΧΟΥΜΕ ΑΤΕΡΜΟΝΗ ΕΠΑΝΑΛΗΨΗ (ΕΦΟΣΟΝ ΕΙΣΑΧΘΟΥΜΕ ΣΕ ΑΥΤΗ)ΔΗΛΑΔΗ ΕΠΑΝΑΛΗΨΗ ΠΟΥ ΔΕΝ ΤΕΛΕΙΩΝΕΙ ΠΟΤΕ(ΠΕΣΑΜΕ ΣΕ LOOP ΟΠΩΣ ΛΕΝΕ ΟΡΙΣΜΕΝΟΙ ΠΡΟΓΡΑΜΜΑΤΙΣΤΕΣ).

#ΔΙΑΒΑΖΕΙ ΑΠΟ ΤΟ ΠΛΗΚΤΡΟΛΟΓΙΟ ΑΡΙΘΜΟΥΣ ΜΕ ΣΗΜΑΔΙ ΤΕΛΟΥΣ

#ΤΟΝ ΑΡΙΘΜΟ 0 ΚΑΙ ΤΟΥΣ ΑΘΡΟΙΖΕΙ.

x=input("ΔΩΣΤΕ ΕΝΑΝ ΑΡΙΘΜΟ")

sum=0

while x!=0:

    sum=sum+x

    x=input("ΔΩΣΤΕ ΕΝΑΝ ΑΡΙΘΜΟ")

print sum

#ΔΙΑΒΑΖΕΙ ΑΠΟ ΤΟ ΠΛΗΚΤΡΟΛΟΓΙΟ ΑΡΙΘΜΟΥΣ ΜΕ ΣΗΜΑΔΙ ΤΕΛΟΥΣ

 #ΤΟΝ ΑΡΙΘΜΟ 0 ΚΑΙ ΤΟΥΣ ΠΟΛΛΑΠΛΑΣΙΑΖΕΙ.

x=input("ΔΩΣΤΕ ΕΝΑΝ ΑΡΙΘΜΟ")

ginom=1

while x!=0:

    ginom=ginom*x

    x=input("ΔΩΣΤΕ ΕΝΑΝ ΑΡΙΘΜΟ")

print  ‘ΓΙΝΟΜΕΝΟ ΑΡΙΘΜΩΝ=’,ginom

 

 

#ΔΙΑΒΑΖΕΙ ΑΠΟ ΤΟ ΠΛΗΚΤΡΟΛΟΓΙΟ ΑΡΙΘΜΟΥΣ ΜΕ ΣΗΜΑΔΙ ΤΕΛΟΥΣ

#ΤΟΝ ΑΡΙΘΜΟ ΚΑΙ ΒΡΙΣΚΕΙ ΤΟΝ ΜΕΓΙΣΤΟ ΤΟΝ ΕΛΑΧΙΣΤΟ  ΚΑΙ ΤΗΝ

#ΑΠΟΛΥΤΗ ΔΙΑΦΟΡΑ ΤΟΥΣ.

x=input("ΔΩΣΤΕ ΕΝΑΝ ΑΡΙΘΜΟ 0 ΓΙΑ ΤΕΛΟΣ")

max=x

min=x

while x!=0:

    if x>max:

        max=x

#ΕΙΝΑΙ ΛΑΘΟΣ ΝΑ ΒΑΛΟΥΜΕ else ΑΝΑΜΕΣΑ ΣΤΑ ΔΥΟ if ΔΙΟΤΙ ΜΠΟΡΕΙ 

#ΝΑ

#ΥΠΑΡΧΟΥΝ ΑΡΙΘΜΟΙ  ΣΕ ΜΕΓΕΘΟΣ ΜΕΤΑΞΥ ΜΕΓΙΣΤΟΥ ΚΑΙ ΕΛΑΧΙΣΤΟΥ #ΑΡΙΘΜΟΥ       

    if x<min:

        min=x

    x=input("ΔΩΣΤΕ ΕΝΑΝ ΑΡΙΘΜΟ 0 ΓΙΑ ΤΕΛΟΣ")   

print "ΜΕΓΙΣΤΟΣ Ο ",max,"ΕΛΑΧΙΣΤΟΣ Ο ",min

print "ΑΠΟΛΥΤΗ ΔΙΑΦΟΡΑ ΜΕΓΙΣΤΟΥ,ΕΛΑΧΙΣΤΟΥ ",max-min

#Ο ΜΕΓΙΣΤΟΣ ΕΙΝΑΙ ΠΑΝΤΑ ΜΕΓΑΛΥΤΕΡΟΣ ή ΙΣΟΣ ΤΟΥ ΕΛΑΧΙΣΤΟΥ

 

Πέμπτη 28 Οκτωβρίου 2021

ΑΣΚΗΣΕΙΣ PYTHON ΓΙΑ ΕΞΑΣΚΗΣΗ

 


ΓΠ:ΕΚΤΟΣ ΑΠΡΟΟΠΤΟΥ ΤΗΝ ΤΡΙΤΗ 23/11/2021 

ΕΠΑΝΑΛΗΨΗ ΔΙΑΓΩΝΙΣΜΑΤΟΣ

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

ΕΚΤΟΣ ΑΠΟ ΤΙΣ ΛΙΣΤΕΣ

ΒΟΗΘΗΤΙΚΟ ΥΛΙΚΟ ΣΤΟ ΣΧΕΤΙΚΟ ΜΑΘΗΜΑ ΣΤΟ eclass

ή ΣΤΟ epalpetrproj.blogspot.com

ΑΣΚΗΣΕΙΣ ΓΙΑ ΕΞΑΣΚΗΣΗ

(ΣΤΙΣ ΑΣΚΗΣΕΙΣ ΠΟΥ ΥΠΑΡΧΕΙ ΑΠΑΝΤΗΣΗ ΜΗΝ ΤΗΝ ΔΕΙΤΕ ΠΡΙΝ ΠΡΟΣΠΑΘΗΣΕΤΕ ΝΑ ΤΗΝ ΒΡΕΙΤΕ ΜΟΝΟΙ ΣΑΣ)

1)ΠΡΟΣΘΕΣΤΕ ΕΝΤΟΛΕΣ ΣΤΟ ΠΑΡΑΚΑΤΩ ΠΡΟΓΡΑΜΜΑ PYTHON ΩΣΤΕ ΝΑ ΜΕΤΡΑΕΙ ΤΟΥΣ ΑΡΙΘΜΟΥΣ ΠΟΥ ΕΔΩΣΕ Ο ΧΡΗΣΤΗΣ(ΤΟ ΠΛΗΘΟΣ ΤΟΥΣ),ΝΑ ΒΡΙΣΚΕΙ ΤΟ ΜΕΣΟ ΟΡΟ ΤΟΥΣ ΚΑΙ ΝΑ ΜΕΤΡΑΕΙ ΠΟΣΟΙ ΑΡΙΘΜΟΙ ΕΙΝΑΙ ΜΕΓΑΛΥΤΕΡΟΙ ΤΟΥ ΑΡΙΘΜΟΥ 20(ΤΟ ΠΛΗΘΟΣ ΤΟΥΣ).

ΤΑ ΑΠΟΤΕΛΕΣΜΑΤΑ ΝΑ ΕΜΦΑΝΙΖΟΝΤΑΙ ΣΤΗΝ ΟΘΟΝΗ.

x=input("give a number")

sum=0

while x!=0:

    sum=sum+x

    x=input("give a number")

print sum 

2)TO ΠΑΡΑΚΑΤΩ ΠΡΟΓΡΑΜΜΑ  ΥΠΟΛΟΓΙΖΕΙ ΤΟ ΤΕΛΙΚΟ ΕΠΙΔΟΜΑ ΕΝΟΣ ΕΡΓΑΖΟΜΕΝΟΥ (tepid)ΑΠΟ ΤΟ ΑΡΧΙΚΟ(aepid) ΜΕ ΒΑΣΗ ΤΗΝ ΗΛΙΚΙΑ ΤΟΥ.

ΚΑΝΤΕ ΤΙΣ ΚΑΤΑΛΛΗΛΕΣ ΑΛΛΑΓΕΣ,ΩΣΤΕ ΝΑ ΥΠΟΛΟΓΙΖΕΙ 2% ΕΠΙΠΛΕΟΝ ΑΥΞΗΣΗ ΣΤΟ ΤΕΛΙΚΟ ΕΠΙΔΟΜΑ,ΑΛΛΑ ΚΑΙ ΝΑ ΔΙΝΕΙ ΣΤΑΘΕΡΟ ΕΠΙΔΟΜΑ 80 ΕΥΡΩ ΣΤΙΣ ΗΛΙΚΙΕΣ 16 ΩΣ ΠΡΙΝ ΤΑ18(16>=age<18).

aepid=input('ΔΩΣΤΕ ΤΟ ΑΡΧΙΚΟ ΕΠΙΔΟΜΑ')

age=input('ΔΩΣΤΕ ΤΗΝ ΗΛΙΚΙΑ ΣΑΣ')

if age>=18 and age<=25:

    tepid=aepid+aepid*5.0/100

    print ' ΤΕΛΙΚΟ ΕΠΙΔΟΜΑ',tepid

elif age>25 and age<=40:

    tepid=aepid+aepid*10.0/100

    print ' ΤΕΛΙΚΟ ΕΠΙΔΟΜΑ',tepid

elif age>40:

    tepid=aepid+aepid*15.0/100

    print ' ΤΕΛΙΚΟ ΕΠΙΔΟΜΑ',tepid

else:

    print 'ΔΕΝ ΕΧΕΤΕ ΔΙΚΑΙΩΜΑ ΕΠΙΔΟΜΑΤΟΣ'

3)ΔΗΜΙΟΥΡΓΗΣΤΕ ΕΝΑ ΜΙΚΡΟ ΠΡΟΓΡΑΜΜΑ ΟΠΟΥ  ΖΗΤΑΕΙ ΑΠΟ ΤΟΝ ΧΡΗΣΤΗ ΕΝΑ ΜΥΣΤΙΚΟ ΑΡΙΘΜΟ ΠΟΥ ΤΟΝ ΔΙΑΒΑΖΕΙ ΣΤΗΝ ΜΕΤΑΒΛΗΤΗ pass.ΑΝ Ο ΑΡΙΘΜΟΣ ΕΙΝΑΙ ΔΙΑΦΟΡΕΤΙΚΟΣ ΑΠΟ 4567 ΕΠΙΜΕΝΕΙ ΚΑΙ ΑΝ ΤΕΛΙΚΑ ΔΩΣΕΙ ΤΟ 4567 ΤΟΥ ΒΓΑΖΕΙ ΜΗΝΥΜΑ ΣΩΣΤΗΣ ΕΠΙΛΟΓΗΣ.

ΑΠΑΝΤΗΣΗ

passwd=1234

while passwd!=4567:

      passwd=input('give code to continue')

print 'right code'  

ΥΠΑΡΧΕΙ ΚΑΙ ΑΛΛΗ ΛΥΣΗ;

4)ΔΗΜΙΟΥΡΓΗΣΤΕ ΕΝΑ ΜΙΚΡΟ ΠΡΟΓΡΑΜΜΑ ΟΠΟΥ ΔΙΑΒΑΖΕΤΑΙ ΑΠΟ ΤΟ ΠΛΗΚΤΡΟΛΟΓΙΟ ΜΙΑ ΣΕΙΡΑ ΑΚΕΡΑΙΩΝ ΑΡΘΜΩΝ ΜΕ ΣΗΜΑΔΙ ΤΕΛΟΥΣ ΤΟΝ ΑΡΙΘΜΟ 0 ΚΑΙ ΒΡΙΣΚΟΝΤΑΙ Ο ΜΕΓΙΣΤΟΣ,Ο ΕΛΑΧΙΣΤΟΣ ΚΑΙ Η ΑΠΟΛΥΤΗ ΔΙΑΦΟΡΑ ΤΟΥΣ.

                                       ΑΠΑΝΤΗΣΗ

x=input("ΔΩΣΤΕ ΕΝΑΝ ΑΡΙΘΜΟ 0 ΓΙΑ ΤΕΛΟΣ")

max=x

min=x

while x!=0:

    if x>max:

        max=x

#ΕΙΝΑΙ ΛΑΘΟΣ ΝΑ ΒΑΛΟΥΜΕ else ΑΝΑΜΕΣΑ ΣΤΑ ΔΥΟ if ΔΙΟΤΙ ΜΠΟΡΕΙ ΝΑ

#ΥΠΑΡΧΟΥΝ ΑΡΙΘΜΟΙ  ΣΕ ΜΕΓΕΘΟΣ ΜΕΤΑΞΥ ΜΕΓΙΣΤΟΥ ΚΑΙ ΕΛΑΧΙΣΤΟΥ ΑΡΙΘΜΟΥ       

    if x<min:

        min=x

    x=input("ΔΩΣΤΕ ΕΝΑΝ ΑΡΙΘΜΟ 0 ΓΙΑ ΤΕΛΟΣ")   

print "ΜΕΓΙΣΤΟΣ Ο ",max,"ΕΛΑΧΙΣΤΟΣ Ο ",min

print "ΑΠΟΛΥΤΗ ΔΙΑΦΟΡΑ ΜΕΓΙΣΤΟΥ,ΕΛΑΧΙΣΤΟΥ ",max-min

#Ο ΜΕΓΙΣΤΟΣ ΕΙΝΑΙ ΠΑΝΤΑ ΜΕΓΑΛΥΤΕΡΟΣ Η ΙΣΟΣ ΤΟΥ ΕΛΑΧΙΣΤΟΥ

5)ΔΗΜΙΟΥΡΓΗΣΤΕ ΜΙΑ ΜΙΚΡΗ ΕΦΑΡΜΟΓΗ ΟΠΟΥ ΔΙΑΒΑΖΟΝΤΑΙ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΤΙΚΟΙ ΑΚΕΡΑΙΟΙ ΑΡΙΘΜΟΙ ΜΕΧΡΙ ΝΑ ΔΟΘΕΙ ΕΝΑΣ ΑΡΝΗΤΙΚΟΣ ΑΚΕΡΑΙΟΣ ΚΑΙ ΥΠΟΛΟΓΙΖΕΤΑΙ ΤΟ ΠΛΗΘΟΣ ΤΩΝ ΑΡΤΙΩΝ ΚΑΙ ΠΕΡΙΤΤΩΝ ΑΡΙΘΜΩΝ.

#ΔΙΑΒΑΖΕΙ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΤΙΚΟΥΣ ΑΡΙΘΜΟΥΣ ΜΕΧΡΙ ΝΑ ΔΟΘΕΙ ΑΡΝΗΤΙΚΟΣ
#ΑΡΙΘΜΟΣ ΚΑΙ ΥΠΟΛΟΓΙΖΕΙ ΤΟ ΠΛΗΘΟΣ ΑΡΤΙΩΝ-ΠΕΡΙΤΤΩΝ ΑΡΙΘΜΩΝ 
x=input('ΔΩΣΤΕ ΕΝΑΝ ΘΕΤΙΚΟ ΑΡΙΘΜΟ ή ΑΡΝΗΤΙΚΟ ΓΙΑ ΤΕΛΟΣ ΤΗΣ ΕΠΑΝΑΛΗΨΗΣ ')
artios=0
perittos=0
while x>=0:
    if x%2==0:
        artios=artios+1
    else:
        perittos=perittos+1
    x=input('ΔΩΣΤΕ ΕΝΑΝ ΘΕΤΙΚΟ ΑΡΙΘΜΟ ή ΑΡΝΗΤΙΚΟ ΓΙΑ ΤΕΛΟΣ ΤΗΣ ΕΠΑΝΑΛΗΨΗΣ')    
print 'ΠΛΗΘΟΣ ΑΡΤΙΩΝ=',artios,'ΠΛΗΘΟΣ ΠΕΡΙΤΤΩΝ=',perittos  

Πέμπτη 11 Ιουνίου 2015

ΕΠΑΝΑΛΗΠΤΙΚΗ ΑΣΚΗΣΗ ΣΤΙΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜ.ΓΠ2-ΙΟΥΝΗΣ-2015

ΟΙ ΑΛΛΑΓΕΣ ΓΡΑΜΜΗΣ ΕΓΙΝΑΝ ΓΙΑ ΛΟΓΟΥΣ ΧΩΡΟΥ ΕΠΕΙΔΗ ΧΡΗΣΙΜΟΠΟΙΗΘΗΚΕ
ΜΕΓΑΛΗ ΓΡΑΜΜΑΤΟΣΕΙΡΑ ΓΙΑ ΕΥΚΟΛΗ ΑΝΑΓΝΩΣΗ. ΟΙ ΜΑΘΗΤΕΣ ΜΠΟΡΟΥΝ
ΝΑ ΔΙΝΟΥΝ ΤΗΝ ΚΑΘΕ ΕΝΤΟΛΗ ΣΤΗΝ ΙΔΙΑ ΓΡΑΜΜΗ ΚΑΙ Η MYSQL ΝΑ ΑΛΛΑΖΕΙ ΜΟΝΗ
ΤΗΣ.
Your MySQL connection id is 1
Server version: 5.1.51-community MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> show databases;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| altes              |
| dates              |
| dianomes           |
| mc                 |
| mysql              |
| persons            |
| skopos             |
| test               |
| xartziliki         |
+--------------------+
10 rows in set (0.19 sec)

mysql> create database proion;

Query OK, 1 row affected (0.03 sec)

mysql> use proion;

Database changed
mysql> create table proionta(codepro int,categ char(20),posotita int,timi int pr
imary key(codepro));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '(code
pro))' at line 1
mysql> create table proionta(codepro int,categ char(20),posotita int,timi int, p
rimary key(codepro));
Query OK, 0 rows affected (0.19 sec)

mysql> insert into proionta values(12,'printer',4,80);

Query OK, 1 row affected (0.06 sec)

mysql> insert into proionta values(12,'printer',2,90);

ERROR 1062 (23000): Duplicate entry '12' for key 'PRIMARY'
mysql> insert into proionta values(10,'printer',2,90);
Query OK, 1 row affected (0.03 sec)

mysql> insert into proionta values(1,'tower',3,180);

Query OK, 1 row affected (0.05 sec)

mysql> insert into proionta values(2,'tower',1,260);

Query OK, 1 row affected (0.05 sec)

mysql> insert into proionta values(14,'scanner',2,89);

Query OK, 1 row affected (0.05 sec)

mysql> insert into proionta values(16,'scanner',3,95);

Query OK, 1 row affected (0.05 sec)

mysql> insert into proionta values(18,'pccamera',5,28);

Query OK, 1 row affected (0.05 sec)

mysql> select * from proionta;

+---------+----------+----------+------+
| codepro | categ    | posotita | timi |
+---------+----------+----------+------+
|       1 | tower    |        3 |  180 |
|       2 | tower    |        1 |  260 |
|      10 | printer  |        2 |   90 |
|      12 | printer  |        4 |   80 |
|      14 | scanner  |        2 |   89 |
|      16 | scanner  |        3 |   95 |
|      18 | pccamera |        5 |   28 |
+---------+----------+----------+------+
7 rows in set (0.00 sec)

mysql> select * from proionta group by posotita;

+---------+----------+----------+------+
| codepro | categ    | posotita | timi |
+---------+----------+----------+------+
|       2 | tower    |        1 |  260 |
|      10 | printer  |        2 |   90 |
|       1 | tower    |        3 |  180 |
|      12 | printer  |        4 |   80 |
|      18 | pccamera |        5 |   28 |
+---------+----------+----------+------+
5 rows in set (0.02 sec)

mysql> select * from proionta group by categ;

+---------+----------+----------+------+
| codepro | categ    | posotita | timi |
+---------+----------+----------+------+
|      18 | pccamera |        5 |   28 |
|      10 | printer  |        2 |   90 |
|      14 | scanner  |        2 |   89 |
|       1 | tower    |        3 |  180 |
+---------+----------+----------+------+
4 rows in set (0.00 sec)

mysql> select * from proionta order by categ;

+---------+----------+----------+------+
| codepro | categ    | posotita | timi |
+---------+----------+----------+------+
|      18 | pccamera |        5 |   28 |
|      10 | printer  |        2 |   90 |
|      12 | printer  |        4 |   80 |
|      14 | scanner  |        2 |   89 |
|      16 | scanner  |        3 |   95 |
|       1 | tower    |        3 |  180 |
|       2 | tower    |        1 |  260 |
+---------+----------+----------+------+
7 rows in set (0.02 sec)

mysql> select * from proionta order by categ desc;

+---------+----------+----------+------+
| codepro | categ    | posotita | timi |
+---------+----------+----------+------+
|       1 | tower    |        3 |  180 |
|       2 | tower    |        1 |  260 |
|      14 | scanner  |        2 |   89 |
|      16 | scanner  |        3 |   95 |
|      10 | printer  |        2 |   90 |
|      12 | printer  |        4 |   80 |
|      18 | pccamera |        5 |   28 |
+---------+----------+----------+------+
7 rows in set (0.00 sec)

mysql> select sum(timi) from proionta;

+-----------+
| sum(timi) |
+-----------+
|       822 |
+-----------+
1 row in set (0.03 sec)

mysql> select avg(timi) from proionta;

+-----------+
| avg(timi) |
+-----------+
|  117.4286 |
+-----------+
1 row in set (0.00 sec)

mysql> select max(timi) as maximum value,min(timi) as minimum value from proiont

a;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'value
,min(timi) as minimum value from proionta' at line 1
mysql> select max(timi) as maximum_value,min(timi) as minimum_value from proiont
a;
+---------------+---------------+
| maximum_value | minimum_value |
+---------------+---------------+
|           260 |            28 |
+---------------+---------------+
1 row in set (0.03 sec)

mysql> select * from proionta where timi>29 and timi<100;

+---------+---------+----------+------+
| codepro | categ   | posotita | timi |
+---------+---------+----------+------+
|      10 | printer |        2 |   90 |
|      12 | printer |        4 |   80 |
|      14 | scanner |        2 |   89 |
|      16 | scanner |        3 |   95 |
+---------+---------+----------+------+
4 rows in set (0.00 sec)

mysql> select * from proionta where timi<54 or timi>64;

+---------+----------+----------+------+
| codepro | categ    | posotita | timi |
+---------+----------+----------+------+
|       1 | tower    |        3 |  180 |
|       2 | tower    |        1 |  260 |
|      10 | printer  |        2 |   90 |
|      12 | printer  |        4 |   80 |
|      14 | scanner  |        2 |   89 |
|      16 | scanner  |        3 |   95 |
|      18 | pccamera |        5 |   28 |
+---------+----------+----------+------+
7 rows in set (0.00 sec)

mysql> select * from proionta where timi<54 or timi>94;

+---------+----------+----------+------+
| codepro | categ    | posotita | timi |
+---------+----------+----------+------+
|       1 | tower    |        3 |  180 |
|       2 | tower    |        1 |  260 |
|      16 | scanner  |        3 |   95 |
|      18 | pccamera |        5 |   28 |
+---------+----------+----------+------+
4 rows in set (0.00 sec)

mysql> select * from proionta where timi>29 or timi<100;

+---------+----------+----------+------+
| codepro | categ    | posotita | timi |
+---------+----------+----------+------+
|       1 | tower    |        3 |  180 |
|       2 | tower    |        1 |  260 |
|      10 | printer  |        2 |   90 |
|      12 | printer  |        4 |   80 |
|      14 | scanner  |        2 |   89 |
|      16 | scanner  |        3 |   95 |
|      18 | pccamera |        5 |   28 |
+---------+----------+----------+------+
7 rows in set (0.00 sec)

mysql> select * from proionta where (timi<54 or timi>94)and categ='scanner';

+---------+---------+----------+------+
| codepro | categ   | posotita | timi |
+---------+---------+----------+------+
|      16 | scanner |        3 |   95 |
+---------+---------+----------+------+
1 row in set (0.00 sec)

mysql> select * from proionta where (timi<54 or timi>94)and not (categ='scanner'

);
+---------+----------+----------+------+
| codepro | categ    | posotita | timi |
+---------+----------+----------+------+
|       1 | tower    |        3 |  180 |
|       2 | tower    |        1 |  260 |
|      18 | pccamera |        5 |   28 |
+---------+----------+----------+------+
3 rows in set (0.00 sec)

mysql> select count(*) where categ='tower';

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'where
 categ='tower'' at line 1
mysql> select count(*) from proionta where categ='tower';
+----------+
| count(*) |
+----------+
|        2 |
+----------+
1 row in set (0.00 sec)

mysql> select count(*) from proionta where categ='tower'or categ='printer';

+----------+
| count(*) |
+----------+
|        4 |
+----------+
1 row in set (0.00 sec)

mysql> select count(*) from proionta where timi<=44 or timi>=82;

+----------+
| count(*) |
+----------+
|        6 |
+----------+
1 row in set (0.00 sec)


mysql> alter table proionta add column diathes char(20);

Query OK, 7 rows affected (0.33 sec)
Records: 7  Duplicates: 0  Warnings: 0

mysql> select * from proionta;

+---------+----------+----------+------+---------+
| codepro | categ    | posotita | timi | diathes |
+---------+----------+----------+------+---------+
|       1 | tower    |        3 |  180 | NULL    |
|       2 | tower    |        1 |  260 | NULL    |
|      10 | printer  |        2 |   90 | NULL    |
|      12 | printer  |        4 |   80 | NULL    |
|      14 | scanner  |        2 |   89 | NULL    |
|      16 | scanner  |        3 |   95 | NULL    |
|      18 | pccamera |        5 |   28 | NULL    |
+---------+----------+----------+------+---------+
7 rows in set (0.00 sec)

mysql> update proionta set diathes='yes' where categ='printer';

Query OK, 2 rows affected (0.05 sec)
Rows matched: 2  Changed: 2  Warnings: 0

mysql> select * from proionta;

+---------+----------+----------+------+---------+
| codepro | categ    | posotita | timi | diathes |
+---------+----------+----------+------+---------+
|       1 | tower    |        3 |  180 | NULL    |
|       2 | tower    |        1 |  260 | NULL    |
|      10 | printer  |        2 |   90 | yes     |
|      12 | printer  |        4 |   80 | yes     |
|      14 | scanner  |        2 |   89 | NULL    |
|      16 | scanner  |        3 |   95 | NULL    |
|      18 | pccamera |        5 |   28 | NULL    |
+---------+----------+----------+------+---------+
7 rows in set (0.00 sec)

mysql> update proionta set diathes='yes' where categ='pccamera';

Query OK, 1 row affected (0.05 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> update proionta set timi=timi*1.03 where timi>=100;

Query OK, 2 rows affected (0.05 sec)
Rows matched: 2  Changed: 2  Warnings: 0

mysql> select * from proionta;

+---------+----------+----------+------+---------+
| codepro | categ    | posotita | timi | diathes |
+---------+----------+----------+------+---------+
|       1 | tower    |        3 |  185 | NULL    |
|       2 | tower    |        1 |  268 | NULL    |
|      10 | printer  |        2 |   90 | yes     |
|      12 | printer  |        4 |   80 | yes     |
|      14 | scanner  |        2 |   89 | NULL    |
|      16 | scanner  |        3 |   95 | NULL    |
|      18 | pccamera |        5 |   28 | yes     |
+---------+----------+----------+------+---------+
7 rows in set (0.00 sec)

Τρίτη 20 Μαΐου 2014

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