13 Προγράμματα Pascal

Page 1

13 Προγράμματα Pascal

Παραδείγματα προγραμμάτων Pascal από το μάθημα «Σχεδιασμός Προγράμματος Pascal» στο ΙΕΚ ΛΕΥΚΑΔΟΣ - ΜΑΡΤΙΟΣ 1998


1ο πρόγραμμα Το πρόγραμμα αυτό συγκρίνει δύο αριθμούς. PROGRAM 1 (input,output) ; USES CRT; VAR A,B : INTEGER; BEGIN CLRSCR; WRITELN; WRITELN(' ΔΩΣΤΕ 2 ΑΚΕΡΑΙΟΥΣ ΑΡΙΘΜΟΥΣ : '); READLN (A,B); IF A>=B THEN WRITELN; WRITELN (' ΜΕΓΑΛΥΤΕΡΟ ΕΙΝΑΙ ΤΟ = ',A) ELSE WRITELN; WRITELN (' ΜΕΓΑΛΥΤΕΡΟ ΕΙΝΑΙ ΤΟ = ',B) READLN; END.


2ο πρόγραμμα Το πρόγραμμα αυτό αθροίζει όλους τους ακεραίους μέχρι τον αριθμό που δίνουμε για όριο Ν, π.χ. αν δώσουμε Ν = 5 θα μας δώσει ως αποτέλεσμα : SUM=1+2+3+4+5. PROGRAM 2 (input,output); USES CRT; VAR N,I, SUM:INTEGER; BEGIN clrscr;

( Καθαρίζει την οθόνη )

WRITELN; WRITE(' ΔΩΣΤΕ ΤΟΝ ΑΡΙΘΜΟ : '); READLN(N); SUM:=0;

( Αρχικοποιεί την SUM )

FOR I:=1 TO N DO

( Από 1 έως Ν )

BEGIN SUM:=SUM+I; END;

( Αθροίζει )

WRITELN; WRITE(' TO ΑΘΡΟΙΣΜΑ ΕΩΣ ΤΟ ΣΥΓΚΕΚΡΙΜΕΝΟ ΑΡΙΘΜΟ ΕΙΝΑΙ ',SUM); ( Εμφανίζει την SUM ) READLN; END.


3ο πρόγραμμα Εδώ το πρόγραμμα υψώνει τον αριθμό a στην δύναμη x . program 3 (input,output) ; USES CRT; var a,x:real;

( Οι αριθμοί ορίζονται πραγματικοί )

begin CLRSCR; WRITELN; WRITE(' ΔΩΣΤΕ 2 ΑΡΙΘΜΟΥΣ : '); readln(a,x); if a>0 then

( Αν η βάση a είναι θετικός αριθμός )

begin WRITELN; writeln(' a^x = ',exp(x*ln(a))); ( Ύψωση και εμφάνιση του αποτελέσματος ) WRITELN; WRITELN(' '); readln; end end.


4ο πρόγραμμα Ένα μπαλόνι στην οθόνη σας … PROGRAM 4 (input,output) ; USES GRAPH; VAR DRIVER,MODE : INTEGER; XMIDPOINT,YMIDPOINT,RADIUS : WORD; BEGIN DRIVER:=DETECT; INITGRAPH(DRIVER,MODE,'C:\TP'); ( Φορτώνει τους drivers οθόνης της PASCAL , c:\TP) XMIDPOINT:=GETMAXX DIV 2; YMIDPOINT:=GETMAXY DIV 2; FOR RADIUS:=1 TO GETMAXY DIV 2 DO CIRCLE(320,240,RADIUS); ( Συνάρτηση της Pascal ) READLN; END.


5ο πρόγραμμα Μετατροπή βαθμών Farheneit σε Celsiou program 5 (input,output) ; USES CRT; Var f,c:real; begin CLRSCR; f:=1000; ( αρχικοποιούμε την f για να τρέξει το πρόγραμμα ) while f<>0 do ( όσο το f είναι διάφορο του 0 ) begin WRITELN; WRITE(' Δώστε τους βαθμούς Farheneit που θα μετατραπούν : '); readln(f); c:=5*(f-32)/9; ( αλγόριθμος μετατροπής ) writeln; writeln; writeln(' Οι βαθμοί Celsiou είναι: ',c); ( Εμφάνιση ) readln; end; end.


6ο πρόγραμμα Υπολογίζει πρώτα αν ο αριθμός που επεξεργάζεται διαιρείται δια 2, αν όχι είναι πρώτος αριθμός. Ύστερα εμφανίζει στην οθόνη όλους τους πρώτους αριθμούς από το 2 έως το 100. program 6 (input,output) ; uses crt; Var A,i : integer; protos : boolean; BEGIN clrscr; for A:= 2 to 100 do BEGIN protos := true; for i:= 2 to trunc (A/2) do if (A mod i) = 0 then protos := false; if protos then writeln (A); END; readln; END.


7ο πρόγραμμα Υπολογισμός του Ν παραγοντικό, Ν! = 1Χ2Χ3Χ…ΧΝ. program 7 (input, output) ; uses crt; var x:integer; function fact(m1:integer):longint; begin if m1=1 then (Αν ο αριθμός Ν =1 τότε και Ν!=1 ) fact:=1 else fact:=m1*fact(m1-1); ( Αλλιώς πολλαπλασίασε τον αριθμό m με την συνάρτηση της Pascal που έχει υπολογίσει το αμέσως προηγούμενο παραγοντικό fact(m-1)! Π.χ. 6! = 6 Χ 5!) end; begin clrscr; writeln; write(' Δώσε ακέραιο αριθμό '); readln(x); ( Εδώ δίνουμε τον αριθμό χ που περνάει στην function σαν όρισμα και γίνεται m ) writeln; writeln(' ΤΟ ΠΑΡΑΓΟΝΤΙΚΟ ΤΟΥ ',x:2,' ΕΙΝΑΙ ',fact(x):10); ( Εμφάνιση ) writeln; write(' '); readln; end.


8ο πρόγραμμα Υπολογισμός του μέσου όρου 2 αριθμών … program 8 (input, output) ; uses CRT; var a,b:real; result:real; wait :char; procedure xy; begin writeln; result:=(a+b)/2; writeln(' Ο Μέσος Όρος των αριθμών ',a:6:1,' και ',b:6:1,' είναι ο αριθμός: ',result:6:2); writeln end; begin clrscr; writeln; write(' Δώστε έναν αριθμο : '); readln(a); writeln; write(' Δώστε δεύτερο αριθμό: '); readln(b); xy; wait:=readkey;

( Εισαγωγή του 1 ου αριθμού ) ( Εισαγωγή του 2 ου αριθμού )

( Καλούμε την procedure xy ) ( ... όπου περνάμε τις μεταβλητές x y για επεξεργασία ) ( … εδώ το πρόγραμμα περιμένει μέχρι να πατηθεί κάποιο πλήκτρο )


9ο πρόγραμμα Μετατροπή πεζών σε κεφαλαία, στα αγγλικά … program 9 (input, output) ; uses crt; type anystring=string[30]; ( ορισμός των μεταβλητών, που θα αποθηκευτούν ) var word:anystring;

( οι χαρακτήρες που θα πληκτρολογηθούν … )

procedure upcasestring(var s:anystring); ( Στη διαδικασία αυτή περνάμε την ακολουθία των χαρακτήρων που πληκτρολογήσαμε … ) var i:integer; begin for i:=1 to ord(s[0]) do

( … μέχρι το τελευταίο στοιχείο του string … )

s[i]:=upcase(s[i]); ( Μετατροπή κάθε στοιχείου του πίνακα s σε κεφαλαίο ) end; begin clrscr; writeln; writeln(' Πληκτρολογήστε μία αγγλικά, το πολύ μέχρι 30 χαρακτήρες... '); writeln; write(' '); readln(word); ( … περνάμε στη μεταβλητή word τους χαρακτήρες … ) writeln; writeln(' Μετατροπή σε Κεφαλαία Γράμματα... '); writeln;


upcasestring(word); ( … και μετά την word στην διαδικασία για μετατροπή … ) writeln(' ',word); writeln; readln; end.

10ο πρόγραμμα ΠΡΟΓΡΑΜΜΑ ΕΥΡΕΣΗΣ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ program 10 (input, output) ; USES CRT; VAR PRO,DEF,GOAL,C : INTEGER; FUNCTION MKD(X,Y : INTEGER):INTEGER; BEGIN WRITELN(X:10,Y:10); IF Y=0 THEN MKD:=X ELSE MKD:=MKD(Y,X MOD Y); END; FUNCTION MKD1(X,Y : INTEGER):INTEGER; BEGIN C:=X MOD Y ; X:=Y;


Y:=C; WRITELN(X:10,Y:10); MKD1:=X; END; BEGIN CLRSCR; WRITELN; WRITE(' ΔΩΣΤΕ ΕΝΑ ΑΚΕΡΑΙΟ :'); READLN(PRO); WRITELN; WRITE(' ΔΩΣΤΕ ΕΝΑ ΔΕΥΤΕΡΟ ΑΚΕΡΑΙΟ :'); READLN(DEF); WRITELN; WHILE DEF<>0 DO BEGIN GOAL := MKD(PRO,DEF); WRITELN; WRITELN(' Ο ΜΕΓΙΣΤΟΣ ΚΟΙΝΟΣ ΔΙΑΙΡΕΤΗΣ ΕΙΝΑΙ Ο :',GOAL); GOAL := MKD1(PRO,DEF); WRITELN; WRITELN(' Ο ΜΕΓΙΣΤΟΣ ΚΟΙΝΟΣ ΔΙΑΙΡΕΤΗΣ ΕΙΝΑΙ Ο :',GOAL); DEF:=0; END; READLN; END.


11ο πρόγραμμα ΠΡΟΓΡΑΜΜΑ εύρεσης λύσης της α-βάθμιας εξίσωσης y = ax + b program 11(input, output); USES CRT; Var y, x, a, b : real; BEGIN clrscr; WRITELN; WRITELN; WRITELN('---------------------------------------------------'); WRITELN; WRITELN(' ΠΡΟΓΡΑΜΜΑ ΕΠΙΛΥΣΗΣ ΠΡΩΤΟΒΑΘΜΙΑΣ ΕΞΙΣΩΣΗΣ '); WRITELN; WRITELN; write(' Δώστε τις τιμές για τα a,b,y της εξίσωσης y=ax+b : '); readln(a, b, y); If a <> 0 then Begin x := (y-b)/a; writeln; writeln; writeln (' Η λύση της εξίσωσης είναι: ', x:10:2) End Else writeln; writeln; writeln ( ' Άδύνατη'); READLN; END.


12ο πρόγραμμα ΠΡΟΓΡΑΜΜΑ υπολογισμού εμβαδού διαφόρων σχημάτων program 12 (input, output) ; USES CRT; VAR A,B,T,E,D,R,F,PI1:REAL;C:INTEGER; BEGIN CLRSCR; WRITELN; WRITELN; WRITELN('------------------------------------'); WRITELN; WRITELN; WRITELN(' PLEASE,TYPE A NUMBER... '); WRITELN; WRITELN; WRITELN(' 1 - ΤΡΙΓΩΝΟ '); WRITELN(' 2 - ΤΕΤΡΑΓΩΝΟ '); WRITELN(' 3 - ΚΥΚΛΟΣ '); WRITELN; WRITE(' '); READLN(C); CASE C OF 1:BEGIN WRITELN; WRITELN; WRITE(' ΠΡΩΤΗ ΠΛΕΥΡΑ = '); READLN(A); WRITELN; WRITELN; WRITE(' ΔΕΥΤΕΡΗ ΠΛΕΥΡΑ = ');


READLN(B); T:=(A*B)/2; WRITELN; WRITELN; WRITELN(' ΤΟ ΕΜΒΑΔΟ ΕΙΝΑΙ ΙΣΟ ΜΕ ',T:10:2); END; 2:BEGIN WRITELN; WRITELN; WRITE(' ΜΗΚΟΣ ΠΛΕΥΡΑΣ ΤΕΤΡΑΓΩΝΟΥ = '); READLN(D); E:=D*D; WRITELN; WRITELN; WRITELN(' ΤΟ ΕΜΒΑΔΟ ΕΙΝΑΙ ΙΣΟ ΜΕ ',E:10:2); END; 3:BEGIN PI1:=3.14; WRITELN; WRITELN; WRITELN('Η ΑΚΤΙΝΑ ΕΙΝΑΙ ΙΣΗ ΜΕ '); READLN(R); F:=2*PI1*(R*R); WRITELN(' ΤO ΕΜΒΑΔΟ ΤΟΥ ΚΥΚΛΟΥ ΕΙΝΑΙ ',F:10:2); END; ELSE WRITELN; WRITELN(' PROGRAM TERMINATED... '); WRITE(' '); READLN END.


13ο πρόγραμμα ΠΡΟΓΡΑΜΜΑ εύρεσης λύσης της β-βάθμιας εξίσωσης program 13 (input, output) ; USES CRT; VAR A1,B1,C1,R1,R2:REAL; PROCEDURE ROOT(A,B,C :REAL;ROOT1,ROOT2: REAL ); VAR HOLD :REAL ; BEGIN ROOT1:= 0 ; ROOT2:=0 ; HOLD :=SQR(B) - 4*A*C ; IF HOLD <0 THEN WRITELN; WRITELN; WRITELN(' YOU TYPED WRONG NUMBERS AND THE HOLD IS NEGATIVE ... '); READLN; EXIT ; ROOT1:= (-B-SQRT(HOLD))/(2*A); ROOT2:= (-B+SQRT(HOLD))/(2*A); END; BEGIN CLRSCR; writeln; writeln; writeln('-------------------------------------------'); writeln; writeln(' THIS PROGRAM CALCULATE THE ROOTS OF THE


EQUATION Y = aX^2 + bX + c '); WRITELN; WRITELN; WRITELN; WRITE(' TYPE THE NUMBERS OF THE EQUATION : A,B,C '); READLN(A1,B1,C1); IF (A1=0) AND (B1=0) AND (C1=0) THEN BEGIN WRITELN; WRITELN; WRITELN(' YOU TYPED WRONG NUMBERS A=0 OR B=0 OR C=0 ... '); READLN; EXIT; END; ROOT(A1,B1,C1,R1,R2); WRITELN(' THE FIRST ROOT IS R1 = ',R1:10:2); WRITELN; WRITELN; WRITELN(' THE SECOND ROOT IS R2 = ',R2:10:2); WRITELN; WRITE(' '); readln; END.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.