programowanie w pascalu cz 2

background image

/\/\irosław Paja, gg:799450

1

Temat VI.

Na czym polega programowanie strukturalne?


Zadanie 1. Napisz program, który wyświetla twoje imię na początku i końcu strony.

gotoXY(x,y) – umożliwia ustawienie kursora na ekranie w miejscu o współrzędnych X,Y.


Zadanie 2.
Napisz program, który rysuje 3 uśmiechy ‘:)’.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _

programowanie strukturalne – program ma okre
śloną strukturę, w której można wyodrębnić deklaracje (mo-
dułów, zmiennych, stałych), definicje (procedury i funkcje) oraz bloki instrukcji.

1.

Zalety stosowania procedur i funkcji:

dzielenie zadania na mniejsze moduły

wprowadzenie porządku do programu,

unikanie powtórzeń,

łatwiejsze wyszukiwanie błędów i dokonywanie poprawek,

programowanie zespołowe.


przykłady:

procedur: Readln, Writeln, ClrScr,

funkcji: pi, sqr, sort

2.

Definiowanie procedur i funkcji

procedure nazwa-procedury(lista-parametrów);
deklaracje-i-definicje-obiektów-lokalnych
begin
instrukcje-realizujące-treść-procedury
end;

function nazwa-funkcji(lista-parametrów) :typ-wyniku;
deklaracje-i-definicje-obiektów lokalnych
begin
instrukcje-realizujące-treść funkcji
end;

funkcja stanowi rozszerzenie procedury o możliwość przekazywania wartości.

w przypadku funkcji należy umieścić w definicji instrukcję przypisania: nazwa-funkcji := wartość-wyniku

3.

Procedury bez parametru

Zadanie 3. Napisz program, który rysuje 3
uśmiechy ‘:)’, korzystając z procedury malujUs-
miechy.

program zadanie_6_3;
uses Crt;

procedure malujUsmiechy;
var i: integer;

begin
for i := 1 to 3 do Write(':)');
end;

begin
ClrScr;
GotoXY(5,1);

malujUsmiechy;

GotoXY(70,50);

malujUsmiechy;

repeat until keypressed;
end.

Zadanie 4. Napisz procedurę, która dla liczby dodat-
niej rysuje 3 uśmiechy, a dla ujemnej 3 smutki.

program zadanie_6_4;
uses Crt;

procedure Usmiechy;
var i,k:integer;

begin
Write('Podaj liczbe: ');
Readln(k);
if k>0 then for i:=1 to 3 do Write(':-) ')

else for i:=1 to 3 do Write(':-( ');

end;

begin
Usmiechy;
repeat until keypressed;
end.

background image

/\/\irosław Paja, gg:799450

2

4.

Procedury z parametrem

Zadanie 5. Zmodyfikuj zadanie_3, aby program
rysował podaną przez nas liczbę uśmiechów.

program zadanie_6_5;
uses Crt;
var n: integer;

procedure malujUsmiechy(n:integer);
var i: integer;

begin
for i := 1 to n do Write(':)');
end;

begin
ClrScr;
Write('Podaj liczbe usmiechow: ');
readln(n);
GotoXY(2,5);
malujUsmiechy(n);
GotoXY(50,50);
malujUsmiechy(n);
repeat until keypressed;
end.

Zadanie 6. Napisz programu który dla zadanego n
rysuje trójkąt z gwiazdek – ‘*’.

program zadanie_6_6;
uses crt;
var i, j,n : byte;

procedure gwiazdki(n : byte);
var i,j : byte;

begin
for i := 1 to n do write('*');
writeln;
end;

begin
ClrScr;
write('podaj bok trojkata: ');
readln(n);
for i := 1 to n do gwiazdki(i);
readln;
end.


5.

Funkcje

Zadanie 7. Napisz programu, który znajduje silnie dla zadanej liczby naturalnej.

N! = 1*2* ... (n-1)*n

(

)

=

=

1

dla

!

1

0

dla

1

!

N

N

N

N

N


3! = 3*2!
3! = 3*(2*1!)
3! = 3*(2*(1*0!))
3! = 3*(2*(1*1)) = 6


program zadanie_6_7;
uses Crt;
var s, liczba: LongInt;

function silnia(n : byte) : longint;
{funkcja oblicza silnię liczby naturalnej n}
var i

: byte;

wartosc

: longint;


begin
wartosc := 1;
for i := 1 to n do wartosc := wartosc * i;
silnia := wartosc;
end;








begin
ClrScr;
Write('Podaj liczbe: ');
readln(liczba);
s:=silnia(liczba);
Writeln(liczba,'! = ',s);
Writeln(liczba,'! = ',silnia(liczba));
repeat until keypressed;
end.

background image

/\/\irosław Paja, gg:799450

3

Zadanie 8. Napisz programu, który znajduje największy wspólny dzielnik (NWD) liczb a i b.

program zadanie_6_8;
uses Crt;
var a,b: Integer;

function nwd(a,b: integer) : longint;
var pom : integer;

begin
while a<>b do
begin
if a<b then
begin
pom:=a;
a:=b;
b:=pom;
end;
a:=a-b;
end;
nwd:=a;
end;









begin
ClrScr;
Write('Podaj A: '); readln(a);
Write('Podaj B: '); readln(b);
writeln('NWD(',a,',',b,') = ',NWD(a,b));
repeat until keypressed;
end.


Program 9. Napisz program, zliczający wprowa-
dzone liczby ujemne i nieujemne wśród n liczb
wprowadzonych z klawiatury. Zdefiniuj procedu-
r
ę zliczaj (z jednym parametrem), która będzie
zliczała liczby.

program
zadanie_6_9;
uses Crt;
var i, n, x, ujemne, nieujemne :integer;

procedure Zliczaj(x:integer);
begin
if x<0 then ujemne:=ujemne+1

else nieujemne:=nieujemne+1;

end;

begin
ClrScr;
ujemne:=0; nieujemne:=0;
Write('Podaj liczbe elementow: ');
ReadLn(n);
for i:=1 to n do
begin

Write('Podaj liczbe: ');

ReadLn(x);

Zliczaj(x);

end;
Writeln;
WriteLn(‘Ujemnych: ', ujemne);
WriteLn('Nieujemnych: ', nieujemne);
repeat until keypressed;
end.

Program 10. Napisz program, który wyświetli na
ekranie trójkąt prostokątny składający się ze zna-
ków ”$”, przy czym jego wysokość i podstawa
mają ”długość” 10 znaków. Zdefiniuj odpowiednie
procedury.

program zadanie_6_10;
uses Crt;
var n:integer;

procedure wiersz(n:integer);
var i:integer;
begin
for i:=1 to n do Write('$');
WriteLn;
end;

procedure trojkat(n:integer);
var i:integer;
begin
for i:=1 to n do wiersz(i);
end;

begin
ClrScr;
trojkat(10);
repeat until keypressed;
end.




background image

/\/\irosław Paja, gg:799450

4

Program 11. Napisz program, który umożliwi wydrukowanie w każdym narożniku pustego ekranu dowolnego

znaku. Zdefiniuj procedurę z parametrem, której zadaniem będzie wypisanie tego znaku.

program zadanie_6_11;
uses Crt;

procedure Znak(c:char);
begin
ClrScr;
GotoXY(1,1);

Write(c);

GotoXY(80,1);

Write(c);

GotoXY(1,24);

Write(c);

GotoXY(80,24);

Write(c);

end;

begin
ClrScr;
Znak('@');
repeat until keypressed;
end.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _

6.

Wydobywanie dźwięku - standardowe procedury języka Pascal


Sound(cz
ęstotliwość : Word; - powoduje wygenerowanie dźwięku o podanej częstotliwości. Dźwięk wydo-
bywa się z głośnika do czasu aż zostanie wyłączony bezparametrową procedurą NoSound;

Delay(milisekundy : Word); - zatrzymuje wykonywanie programu na podaną ilość milisekund (1000ms =
1s),

Wygenerowanie półsekundowego dźwięku o częstotliwości 640Hz uzyskuje się poprzez trzy polecenia:

Sound(640);
Delay(500);
NoSound;


Jeżeli zamierzamy w programie często generować różne dźwięki, to można do tego celu zdefiniować
procedurę dźwięk(s,d):

procedure dzwiek (Czest, Czas : Word);
begin
Sound(Czest);
Delay(Czas);
NoSound;
end;



częstotliwości nut

Nuta\ Oktawa

C

D

E

F

G

A

H

C

3

131

147

165

175

196

220

247

262

4

262

294

330

349

392

440

494

523



Zadanie 12. Napisz program, który generujący dźwięk.

background image

/\/\irosław Paja, gg:799450

5

Temat VII.

Sposoby przekazywania parametrów

program zadanie_7_1;
uses Crt;
var a,b:integer;

procedure przezWartosci(

x, y: integer

);

{ przekazywanie parametrów przez wartosc }
begin

x:= x+1;

y:= y-1;

Writeln('x = ',x);

Writeln('y = ',y);

end;

procedure przezZmienna(

var x, y: integer

);

{ przekazywanie parametrów przez zmienna }
begin

x:= x+1;

y:= y-1;

Writeln('x = ',x);

Writeln('y = ',y);

end;

begin;
ClrScr;
Write('Podaj a, a = ');

Readln(a);

Write('Podaj b, b = ');

Readln(b);

writeln;
przezZmienna(a,b);
Writeln(' - - - - - - - - ');
Writeln('a = ',a);
Writeln('b = ',b);
repeat until keypressed;
end.

Tabela do programu przekazywanie_parametrow:

wartości zmiennych

x

y

a

b

na początku procedury przez________

na końcu procedury przez________

po powrocie do programu głównego

(zmienna przestaje istnieć)

(zmienna przestaje istnieć)

1.

Przekazywanie parametrów przez wartość

Wywołanie procedury w programie głównym powoduje, że w miejsce parametrów formalnych (x, y),
przekazywanych przez wartość, są wprowadzone parametry aktualne (a, b).

Przy przekazywaniu parametrów przez wartość zmienna x i odpowiadająca jej zmienna a zajmują dwa
różne miejsca w pamięci komputera.

2.

Przekazywanie parametrów przez zmienną

Przed listą parametrów wpisuje się słowo kluczowe var. Zapis taki oznacza zarezerwowanie tego sa-
mego miejsca w pamięci dla parametrów formalnych i aktualnych. Dlatego też przekazywanie parame-
trów przez zmienną określa się jako przekazywanie parametrów przez adres.

background image

/\/\irosław Paja, gg:799450

6

Program 2. Przeanalizuj program, w którym zastosowano dwa sposoby przekazywania argumentów do proce-
dur obliczających cenę brutto towaru.

program zadanie_7_2;
uses Crt;
var cena, podatek :Real;

procedure przezWartosc(

cena:Real;

var podatek:Real);

begin
podatek:=cena*0.22;
cena:=cena+podatek;
end;

procedure przezZmienna(

var cena:Real;

var podatek:Real);

begin
podatek:=cena*0.22;
cena:=cena+podatek;
end;

begin
Clrscr;
podatek:=0;
Write('Podaj cene towaru: ');
readln(cena);
przezWartosc(cena,podatek);
{przezZmienna(cena,podatek);}
Writeln('Cena brutto: ',cena:5:2);
Writeln('podatek: ',podatek:5:2);
repeat until keypressed;
end.



Program 3.
Napisz program, który skraca podany ułamek. Zdefiniuj funkcje NWD i procedurę skracaj.

program zadanie_7_3;
uses Crt;
var a,b : integer;

function NWD(x,y:integer):integer;
begin
while x<>y do
if x > y then x:=x-y
else y:=y-x;
NWD:=x;
end;

procedure skracaj(var k,l :integer);
var dzielnik : integer;

begin
dzielnik:=NWD(k,l);
k:=k div dzielnik;
l:=l div dzielnik;
end;
















begin
ClrScr;
Write('Podaj a: '); Readln(a);
Write('Podaj b: '); Readln(b);
Writeln('a/b = ',a,'/',b);
Skracaj(a,b);
Writeln('po skroceniu: ');
Writeln('a/b = ',a,'/',b);
repeat until keypressed;
end.

background image

/\/\irosław Paja, gg:799450

7

Program 4. Napisz program, który wyświetli na ekranie prostokąt składający się ze znaków ”*” o wymiarach

n x m. Zdefiniuj procedurę prostokat (z dwoma parametrami).

program zadanie_7_4;
uses Crt;
var a,b :integer;

procedure Pytaj(var a,b:integer);
begin
repeat
Write('Podaj bok a, a = '); Readln(a);
Write('Podaj bok b, b = '); Readln(b)
until (a>0) and (b>0);
writeln;
end;

procedure prostokat(a,b:integer);
var i,j:integer;
begin
for i:=1 to b do
begin
writeln;
for j:=1 to a do write('*');
end;
end;




begin
ClrScr;
Pytaj(a,b);
prostokat(a,b);
repeat until keypressed;
end.

Program 5. Napisz program, który wyświetli na ekranie trójkąt prostokątny składający się z n znaków ”$”.

Zdefiniuj odpowiednie procedury. (Zdefiniuj procedurę, która będzie umożliwiała wprowadzenie

wymiarów trójkąta).

program zadanie_7_5;
uses Crt;
var n:integer;

procedure Pytaj(var n:integer);
begin
repeat
Write('Podaj wielkosc figury (1-49): ');
ReadLn(n);
if (n<1) or (n>50) then Writeln('Nie moge namalowac takiej figury!!')
until (n>=1) and (n<50);
writeln;
end;

procedure wiersz(n:integer);
var i:integer;
begin
for i:=1 to n do Write('$');
WriteLn;
end;

procedure trojkat(n:integer);
var i:integer;
begin
for i:=1 to n do wiersz(i);
end;


begin
ClrScr;
Pytaj(n);
trojkat(n);
repeat until keypressed;
end.

background image

/\/\irosław Paja, gg:799450

8

Program 6. Napisz program, który korzystając z procedur wyświetli na ekranie monitora świąteczną choinkę.

program zadanie_7_6;
uses Crt;
var n:integer;

procedure Pytaj(var n:integer);
begin
repeat
Write('Podaj wysokosc choinki (6-40): '); ReadLn(n);
until (n>=6) and (n<40);
end;

procedure Wiersz(poziom:integer);
var i:integer;
begin
for i:=1 to n-poziom do Write(' ');
for i:=1 to poziom*2-1 do Write('$');
WriteLn;
end;

procedure choinka(n:integer);
var i: integer;
begin
for i:=1 to n-3 do Wiersz(i);
for i:=1 to 3 do Wiersz(1);
end;







begin
ClrScr;
Pytaj(n);
Writeln;
choinka(n);
repeat until keypressed;
end.


background image

/\/\irosław Paja, gg:799450

9

Temat VIII.

Instrukcja wyboru case


case przełącznik of
wartość-1 : akcja-1;
wartość-2 : akcja-2;
...
else akcja-domyślna
end;

case znak of
'+' : c := a + b;
'-' : c := a – b
else Writeln(‘Zly znak’);
end;

case miesiac of
1,3,5,7,8,10,12 : dni := 31;
4,6,9,11

: dni := 30;

2

: dni := 28

end


Zadanie 1. Napisz program, który w zależności od podanej liczby wyświetli numer miesiąca. Jeżeli liczba jest
inna niż {1..12} program wyświetla komunikat ”numer nie poprawny”.

program zadanie_8_1;
var m: integer; {numer miesiąca }

begin
write ('podaj numer miesiąca: ');
readln (m);
case m of
1: writeln ('styczen');
2: writeln ('luty');
....
12: writeln ('grudzien');
else writeln ('numer nie poprawny')
end;
end.

Zadanie 2. Napisz program, który wykonuje działania: +, -, *, / na wprowadzonych liczbach rzeczywistych.

Zdefiniuj odpowiednie funkcje (np. dodawanie(a,b)).



background image

/\/\irosław Paja, gg:799450

10

Temat IX.

Praca z danymi tekstowymi

var nazwa-zmiennej: string;

- dana typu string zajmuje zawsze 256 bajtów, niezależnie od rzeczywistej długości tekstu.


Aby "skrócić" łańcuch można wykorzystać deklarację: var nazwa-zmiennej : string[długość]
'C' < 'P'

(kod ASCII znaku 'C' jest mniejszy od kodu 'P')


Jeżeli:

lancuch1:='Turbo',
lancuch2:= 'Pascal',

to wynikiem sklejenia obu zmiennych:

wynik := lancuch1 + lancuch2;

będzie oczywiście tekst 'TurboPascal'.


Length(łańcuch : string ) : integer;

Funkcja zwraca długość danego łańcucha.
s:='Tekst';
Writeln(Length(s));

5


Chr(kod : byte):char;
Funkcja zwraca znak (wartość typu char) o poda-
nym kodzie ASCII.
Write(Chr(7));
Write(#7);

Ord(x) : longint;

Funkcja zwraca kod ASCII podanego znaku.
Writeln(Ord('A'));

65


UpCase(Ch : char) : char;

Konwertuje znak do wielkiej litery.
UpCase('a')='A';

UpCase('B')='B';


ReadKey

Funkcja odczytuje wciśnięty klawisz.
a:=ReadKey;

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _

Zadanie 1. Napisz program, który wypisuje kod
wczytanego z klawiatury znaku.

program zadanie_9_1;
uses Crt;
var znak : Char;

begin
ClrScr;
Write('Wpisz dowolny znak : ');
Readln(znak);
Writeln('Wpisales znak [', znak, '] o kodzie ',

Ord(znak));

repeat until keypressed;
end.

Zadanie 2. Napisz program, który wczytuje napis
i zamienia w nim wszystkie małe litery na duże:

program zadanie_9_2;
uses Crt;
var napis : string;
i : byte;

Begin
Write('Podaj napis: ');
Readln(napis);
For i:=1 To Length(napis) Do napis[i]

:=UpCase(napis[i]);

Writeln('po zamianie: ',napis);
repeat until keypressed;
end.

Zadanie 3. Napisz program, który będzie wypisywał kody znaków
naciskanych na klawiaturze do czasu wciśnięcia klawisza ESCAPE.

program zadanie_9_3;
Uses Crt;
var Znak : Char;

begin
ClrScr;
WriteLn('Nacisnij dowolny klawisz lub Escape : ');
Znak:=ReadKey;
While Ord(Znak)<>27 Do
begin

WriteLn('Znak = [', znak, '] Kod znaku = ', Ord(znak));

znak:=ReadKey;
end;
end.

background image

/\/\irosław Paja, gg:799450

11

Zadanie 4. Napisz program, oraz zdefiniuj funkcję IloscWystapien(a,b), która zwróci ilość wystąpień podanego

znaku w podanym napisie.


program zadanie_9_4;
uses Crt;
var napis : string;
litera : char;
ile : byte;

function iloscWystapien(s : string; znak : char) : byte;
var i, wynik : byte;
begin
wynik:=0;
for i:=1 to Length(s) do
if s[i]=znak then Inc(wynik);
iloscwystapien:=wynik;
end;

begin
ClrScr;
Write('Podaj napis: '); Readln(napis);
Write('Podaj litere: '); Readln(litera);
ile:=iloscwystapien(napis,litera);
Writeln('W podanym napisie litera "',litera,'" wystepuje ',ile,' razy.');
repeat until keypressed;
end.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _

Pozostałe funkcje i procedury łańcuchowe

Concat(ła
ńcuch1,łańcuch2, ...): string;
Funkcja łączy otrzymane łańcuchy w jeden, który następnie zwraca.
Writeln(Concat('abc','def','ghi'));

- abcdefghi

Writeln('abc'+'def'+'ghi');

Copy(łańcuch : string; skąd, ile : integer): string;
Funkcja zwraca podciąg łańcucha zaczynający się od indeksu skąd i mający ile znaków. Jeśli skąd jest większe
niż długość łańcucha, to zwracany jest łańcuch pusty. Jeśli ile podaje więcej znaków, niż ich jest w łańcuchu od
indeksu skąd, to zwraca tyle znaków, ile jest.
Writeln(Copy('abcde',1,3));

'abc'

Writeln(Copy('abcde',6,3));

''

Writeln(Copy('abcde',4,3));

'de'


Pos(podciąg, łańcuch : string) : byte;
Podaje pozycje wyszukanego podciągu w danym łańcuchu znaków.
Pos(‘Pascal’,’Turbo Pascal’)

7


Delete(var s : string; początek, ile : integer);
Procedura usuwa z określonego parametrem s łańcucha ile znaków zaczynając od indeksu początek.
s:='jakiś długi tekst';

Delete(s,7,6);
Writeln(s);

'jakiś tekst'


Val(S:string;V:integer;error:integer);

Funkcja przekształca ciąg znaków na liczbę.

val('123',i,error);

i=123

val('abc',i,error);

error<>0


Str(X;S:string);

Instrukcja zamienia liczbę X na łańcuch znaków.

background image

/\/\irosław Paja, gg:799450

12

Temat X.

Tablica jako przykład trybu strukturalnego.


Deklaracja tablicy

var zmienna: array [1..n] of typ elementów tablicy;

Tablica jest złożoną strukturą danych, składającą się z określonej liczby elementów tego samego typu.

Deklaracja tablicy składającej się z 20 znaków: array [1..20] of char;


Zadanie 1. Napisz program, który wczytuje dane do tablicy, a potem je wyświetla.

program zadanie_10_1;
uses Crt;
const n = 3;
var I : integer;
tab : array [1..n] of integer;

procedure Czytaj(n:byte);
begin
for i:=1 to n do
begin
write('tab[',i,']= ');
Readln(tab[i]);
end;
end;

procedure Wyprowadz(n:byte);
begin
for i:=1 to n do
begin
write('tab[',i,']= ',tab[i]);
writeln;
end;
end;







begin
ClrScr;
Writeln('Wprowadz elementy do tabl-
licy');
Czytaj(n);
Writeln;
Writeln('Elementy tablicy');
Wyprowadz(n);
repeat until keypressed;
end.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _

Do otrzymania liczb losowych służy procedura Randomize i funkcja Random(),
Funkcja Random(zakres) zwraca całkowitą liczbę pseudolosową z zakresu 0..zakres-1. Argument zakres po-
winien być liczbą całkowitą, najczęściej typu Word.

Zadanie 2.
Napisz program, który z podanego zakresu losowo wczyta liczby do tablicy, a potem je wyświetla.

program zadanie_10_2;
uses Crt;
const n = 10;
var i,x : integer;
tab : array [1..n] of integer;

procedure Czytaj(n:byte);
begin
for i:=1 to n do tab[i]:=

random(x);

end;

procedure Wyprowadz(n:byte);
begin
for i:=1 to n do begin
write('tab[',i,']= ',tab[i]);
writeln;
end;
end;









begin
ClrScr;
Write('Podaj przedzial liczb (max 50): ');
readln(x);
Czytaj(n);

Randomize;

Writeln('Elementy tablicy');
wyprowadz(n);
repeat until keypressed;
end

background image

/\/\irosław Paja, gg:799450

13

Zadanie 3. Napisz program, który zapełnia tablicę przypadkowymi liczbami z zakresu (0,100) i znajduje

największą oraz najmniejszą z nich.


program zadanie_10_3;
uses Crt;
var liczby

: array[1..20] of byte;

i, N, Min, Max

: byte;


begin
ClrScr;
Randomize;
for i := 1 to 20 do liczby[i] := Random(101);
Min := liczby[1];
Max := liczby[1];
writeln; write('Tablica: ');
for i := 1 to 20 do
begin
write(liczby[i], ' ');
if liczby[i] > Max then Max := liczby[i];
if liczby[i] < Min then Min := liczby[i];
end;
writeln;
writeln('Najmniejsza liczba to: ', Min);
writeln('Najwieksza liczba to: ', Max);
repeat until keypressed;
end.

Zadanie 4. Napisz program, który oblicza średnią wprowadzonych do tablicy liczb.

program zadanie_10_4;
uses Crt;
const n = 3;
var I : integer;
tab : array [1..n] of integer;

procedure Czytaj(n:byte);
begin

end;

procedure Wyprowadz(n:byte);
begin

end;

function Srednia(n:byte):real;
var suma, sr :real;
begin
suma:=0;
for i:=1 to n do suma:=suma+tab[i];
sr:=suma/n;
Srednia:=sr;
end;






begin
ClrScr;
Writeln('Wprowadz elementy do tabllicy');
Czytaj(n);
Writeln('Srednia wprowadzonych liczb to: ');
Writeln;
Writeln('Elementy tablicy');
wyprowadz(n);
Writeln('Srednia wprowadzonych liczb to: ',

srednia(n):5:2);

repeat until keypressed;
end.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _


W przykładach wykorzystałem materiały z:

1.

książki TURBO Pascal 5.5 Andrzeja Marciniaka

2.

podręczników Grażyny Koby Informatyka cz. I i Informatyka cz. II

3.

z serwisu: http://helion.pl/online/turbo-pasca


Wyszukiwarka

Podobne podstrony:
programowanie w pascalu cz 3
Opis programów w Pascalu
Spr z I części Programowanie Pascal Pojęcia
Pliki0MSoffice, Programowanie, Pascal
Mój pierwszy program w Pascalu
Pliki1MSoffice, Programowanie, Pascal
Instrukcja programowania PRONUM cz 1
Dobry program lojalnosciowy, cz Nieznany
Pascal cz 1 zadania
Program w Pascalu
PROGRAM OCENY - kontroli, Program oceny cz[1]. II, MINISTERSTWO OBRONY NARODOWEJ
Mój pierwszy program w Pascalu
programy W pascalu
Programowanie w Pascalu cz1
programy pascal 2
Programy w Pascalu

więcej podobnych podstron