Ogólna struktura programu w TP Uruchom TP Zacznij pisać nowy tekst Napisz słowo kluczowe PROGRAM Przywołaj pomoc na to słowo (Ctrl+F1) Zastanów się nad znaczeniem i składnią poszczególnych deklaracji
Instrukcje wejścia-wyjścia
Instrukcja podstawienia (przypisania)
Instrukcje warunkowe
Pętle WHILE,REPEAT
Pętla FOR
Schemat blokowy (równanie kwadratowe)
Rozwiązanie równania kwadratowego Znajdź i popraw błędy w programie:
Program r-k Uses crt; Var a,b,c,d:intiger; x1,x2:real; Begin Clrscr; Write(‘Podaj wspolczynniki rownania:a,b,c); Readln(a,b,c) d=b*b-4*a*c; If d>=0 then begin x1:=(-b-sqrt(d)) / (2*a); x2:=(-b-sqrt(d)) / (2a); Writeln(‘x1=‘, x1:0:4); Writeln(‘x2=‘, x2); end ; Else Writeln(‘Brak pierwiastkow’) ; Readln ; End .
Przykład 1 Obliczyć sumę elementów brzegowych w tablicy dwu wymiarowej o n-tej liczbie wierszy i m-tej liczbie kolumn. Liczbę wierszy i kolumn oraz wartości elementów tablicy zadaje użytkownik z klawiatury przy założeniu: 2<n,m<100.
Program P1 uses crt; var n,m,i,j : integer; a : array[1..99,1..99] of real; suma : real; BEGIN clrscr; write ('Podaj liczbe wierszy n='); readln (n); write ('Podaj liczbe kolumn m='); readln (m); {czytanie elementow tablicy wierszami} for i:=1 to n do for j:=1 to m do begin write ('a[' , i , ',' , j , ']='); readln (a[i,j]); end; {obliczenie sumy} suma:=0; for j:=1 to m do suma:=suma+a[1,j]+a[n,j]; for i:=2 to n-1 do suma:=suma+a[i,1]+a[i,m]; {wypisanie wyniku} write ('Suma brzegowych wynosi ' , suma:0:4); readln; END. Program P1
Przykład 2 Program wczytujący z klawiatury liczby całkowite i sumujący dodatnie z nich do momentu gdy ich suma nie przekracza wartości 100. Wykorzystać załączony schemat blokowy.
Schemat blokowy P2
Program P2 Uses crt ; Var S , L : integer ; Begin Clrscr ; S := 0 ; Repeat Write ( ‘ Podaj liczbe calkowita : ‘ ) ; Readln ( L ) ; If L > 0 then S:= S+L; Writeln ( ‘ Suma dodatnich wynosi : ‘ , S ) ; Until S>0 End.
Algorytm sortowania bąbelkowego n-wymiarowego wektora a
Program S_B uses crt; var a : array[1..100] of integer; i,n,pom : integer; przes : boolean; Begin clrscr; randomize; {start generatora liczb losowych} n:=20; for i:=1 to n do begin a[i]:=random(50); write(a[i],' ') end; repeat przes:=FALSE; for i:=1 to n-1 do if a[i]<a[i+1] then begin pom:=a[i]; a[i]:=a[i+1]; a[i+1]:=pom; przes:=TRUE until (not przes); writeln; for i:=1 to n do write(a[i],' '); readln {Zatrzymanie do momentu naciśnięcia Enter} End. Program S_B