Podstawy Informatyki - Laboratorium
Politechnika Świętokrzyska, Wydział Elektrotechniki, Automatyki i Informatyki
Turbo Pascal
Instrukcja laboratoryjna nr 2
Opracował: dr inż. Grzegorz Słoń
Instrukcje iteracyjne
Dany jest ciąg liczb całkowitych zakończony liczbą -111. Napisać program wyznaczający średnią arytmetyczną tych liczb (liczba -111 również należy do ciągu).
program z2_1;
var liczba,n: integer;
s: real;
begin
n:=0;
s:=0;
repeat
n:=n+1;
write(n,' liczba: ');
readln(liczba);
s:=s+liczba;
until liczba=-111;
s:=s/n;
writeln('Srednia arytmetyczna wynosi: ',s:5:3);
readln;
end.
Zmodyfikować program z punktu 1 tak, aby liczba -111 nie była brana pod uwagę przy wyznaczaniu średniej.
Dany jest ciąg liczb rzeczywistych zakończony liczbą 0. Napisać program wyznaczający średnią geometryczną liczb dodatnich.
program z2_2;
var liczba,wynik:real;
n:integer;
begin
wynik:=0;
n:=0;
write('Podaj kolejna liczbe: '); readln(liczba);
while liczba<>0 do
begin
if liczba>0 then begin
if wynik=0 then wynik:=liczba
else wynik:=wynik*liczba;
n:=n+1;
end;
write('Podaj kolejna liczbe: '); readln(liczba);
end;
if n>0 then begin
wynik:=exp(1/n*ln(wynik));
writeln('Srednia geometryczna liczb dodatnich wynosi: ',wynik:5:3);
end
else writeln('Brak liczb dodatnich.');
readln;
end.
Dane jest n liczb całkowitych. Napisać program wyznaczający liczbę minimalną.
program z2_3;
var l,min,i,n: integer;
begin
write('Ile bedzie liczb?: ');
readln(n);
write('Podaj 1 liczbe: '); readln(l);
min:=l;
i:=2;
while i<=n do
begin
write('Podaj ',i,' liczbe: '); readln(l);
if l<min then min:=l;
i:=i+1;
end;
writeln('Minimum = ',min);
end.
Napisać program wyznaczający silnię z liczby naturalnej n.
program z2_4;
var n,i:integer;
s:integer;
begin
write('n = '); readln(n);
s:=1;
for i:=2 to n do
s:=s*i;
writeln(n,'! = ',s);
readln;
end.
Zmodyfikować program z punktu 4 poprzez wprowadzenie do niego pętli for.
Dany jest ciąg n liczb całkowitych. Napisać program wyznaczający ilości liczb zawartych w przedziałach: (-∞, -3>, (-3, 1), <1, +∞).
program z2_5;
var p1,p2,p3,liczba,i,n:integer;
begin
p1:=0; p2:=0; p3:=0;
writeln('Ile bedzie liczb?: '); readln(n);
for i:=1 to n do
begin
write(i,' liczba: '); readln(liczba);
if liczba<=-3 then p1:=p1+1
else if liczba<1 then p2:=p2+1
else p3:=p3+1;
end;
writeln('Liczb z przedzialu (-',chr(236),', -3> jest ',p1);
writeln('Liczb z przedzialu (-3 ,1) jest ',p2);
writeln('Liczb z przedzialu <1, +',chr(236),') jest ',p3);
readln;
end.
Napisać programy rozwiązujące następujące problemy:
Dane jest zdanie (ciąg znaków zakończony znakiem '.'). Napisać program wyznaczający liczbę wystąpień litery 'a'.
Dane jest zdanie (ciąg znaków zakończony znakiem '.'). Napisać program wyznaczający liczbę wystąpień liter 'ch'.
Dane są średnie oceny grupy n studentów. Zakładając, że ocena wyższa niż 3.5 uprawnia do otrzymania stypendium naukowego wyznaczyć procentowy udział stypendystów w grupie.
Dany jest ciąg n liczb rzeczywistych. Napisać program wyznaczający ilość liczb większych od pierwszej liczby ciągu.
Napisać program wyświetlający na ekranie monitora znaki kodu ASCII wraz z odpowiadającymi im kodami (wykorzystać funkcję chr). Program powinien umożliwiać zadawanie kodów: początkowego i końcowego.
str. 2/3 Turbo Pascal - Instrukcja nr 2
Turbo Pascal - Instrukcja nr 2 str. 3/3