Εκφώνηση
Να γίνει πρόγραμμα σε pascal το οποίο:
α) Να περιέχει τμήμα δηλώσεις μεταβλητών
β) Να διαβάζει απο το πληκτρολόγιο έναν 4ψηφιο αριθμό\
γ)Αν ο αριθμός δεν ειναι 4ψηφιος να εμφανίζει ένα ακατάλληλο μήνυμα και έπειτα να τερματίζει.
δ)Σε διαφορετική περίπτωση το πρόγραμμα να υπολογίζει και να εμφανίζει τον παλινδρομικό(αντίθετο του) αριθμό
ε)Όλα τα παραπάνω να επαναλαμβάνονται μέχρι να πατηθεί ο αριθμός 0
στ)Το πρόγραμμα να προσθέτει τα ψηφία του αρχικού αριθμού και να βγάζει ένα κατάλληλο μήνυμα
Πώς σπάω έναν αριθμό στα ψηφία του;
Λύση
program while_if_and_for_duskoli;
var
x,y1,y2,y3,y4,sum1,sum2,sum_total,sum,k,l,palindr:integer;
begin
writeln('Πάτησε εναν αριθμό!');
readln(x);
while x <> 0 do
begin
if (x >= 1000) and (x <=9999) then
begin
writeln('Ο αριθμός που πάτησες είναι τετραψήφιος');
writeln('Τώρα σπάω τον αριθμό στα ψηφία του.');
y1 := x div 1000;
k := x mod 1000;
y2 := k div 100;
l := k mod 100;
y3 := l div 10;
y4 := l mod 10;
palindr := y4*1000 + y3*100 + y2*10 + y1*1;
writeln('Ο παλλινδρομικός σου αριθμός είναι: ',palindr);
sum := y1 + y2 + y3 + y4;
if sum > 26 then
begin
sum1 := sum div 10;
sum2 := sum mod 10;
sum_total := sum1 + sum2;
writeln('Ψάξε βρες τώρα ποιός σε σκέφτετε. Πάντως βγήκε το νούμερο ',sum_total,' αλλά δεν είμαι εγω!!!!');
end
else
begin
sum_total := y1 + y2 + y3 + y4;
writeln('Ψάξε βρες τώρα ποιός σε σκέφτετε. Πάντως βγήκε το νούμερο ',sum_total,' αλλά δεν είμαι εγω!!!!');
end
;
end
else
begin
writeln('Δυστυχώς ο αριθμός που πάτησες δεν είναι τετραψήφιος!');
end
;
writeln('Πάτα κι άλλον αριθμό');
readln(x);
end
;
writeln('Ευχαριστώ. Γειά σας. Τα δέοντα.');
end.
Να γίνει πρόγραμμα σε pascal το οποίο:
α) Να περιέχει τμήμα δηλώσεις μεταβλητών
β) Να διαβάζει απο το πληκτρολόγιο έναν 4ψηφιο αριθμό\
γ)Αν ο αριθμός δεν ειναι 4ψηφιος να εμφανίζει ένα ακατάλληλο μήνυμα και έπειτα να τερματίζει.
δ)Σε διαφορετική περίπτωση το πρόγραμμα να υπολογίζει και να εμφανίζει τον παλινδρομικό(αντίθετο του) αριθμό
ε)Όλα τα παραπάνω να επαναλαμβάνονται μέχρι να πατηθεί ο αριθμός 0
στ)Το πρόγραμμα να προσθέτει τα ψηφία του αρχικού αριθμού και να βγάζει ένα κατάλληλο μήνυμα
Πώς σπάω έναν αριθμό στα ψηφία του;
Λύση
program while_if_and_for_duskoli;
var
x,y1,y2,y3,y4,sum1,sum2,sum_total,sum,k,l,palindr:integer;
begin
writeln('Πάτησε εναν αριθμό!');
readln(x);
while x <> 0 do
begin
if (x >= 1000) and (x <=9999) then
begin
writeln('Ο αριθμός που πάτησες είναι τετραψήφιος');
writeln('Τώρα σπάω τον αριθμό στα ψηφία του.');
y1 := x div 1000;
k := x mod 1000;
y2 := k div 100;
l := k mod 100;
y3 := l div 10;
y4 := l mod 10;
palindr := y4*1000 + y3*100 + y2*10 + y1*1;
writeln('Ο παλλινδρομικός σου αριθμός είναι: ',palindr);
sum := y1 + y2 + y3 + y4;
if sum > 26 then
begin
sum1 := sum div 10;
sum2 := sum mod 10;
sum_total := sum1 + sum2;
writeln('Ψάξε βρες τώρα ποιός σε σκέφτετε. Πάντως βγήκε το νούμερο ',sum_total,' αλλά δεν είμαι εγω!!!!');
end
else
begin
sum_total := y1 + y2 + y3 + y4;
writeln('Ψάξε βρες τώρα ποιός σε σκέφτετε. Πάντως βγήκε το νούμερο ',sum_total,' αλλά δεν είμαι εγω!!!!');
end
;
end
else
begin
writeln('Δυστυχώς ο αριθμός που πάτησες δεν είναι τετραψήφιος!');
end
;
writeln('Πάτα κι άλλον αριθμό');
readln(x);
end
;
writeln('Ευχαριστώ. Γειά σας. Τα δέοντα.');
end.
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου