Podstawy Informatyki - Laboratorium

Politechnika Świętokrzyska, Wydział Elektrotechniki, Automatyki i Informatyki

Turbo Pascal

Instrukcja laboratoryjna nr 3

Opracował: dr inż. Grzegorz Słoń

Tablice

  1. Dany jest ciąg n liczb całkowitych. Napisać program wprowadzający te liczby do tablicy jednowymiarowej, a następnie wyświetlający je na ekranie monitora po 5 liczb w wierszu.

program z3_1;

var a: array[1..50] of integer;

i,n: integer;

begin

write('Ile bedzie liczb?: '); readln(n);

for i:=1 to n do

begin

write(i,' liczba: '); readln(a[i]);

end;

writeln;

writeln('Wprowadzono nastepujace liczby:');

for i:=1 to n do

begin

write(a[i]:5,' ');

if i mod 5 = 0 then writeln;

end;

writeln;

readln;

end.

  1. Dany jest ciąg n liczb rzeczywistych. Napisać program wyznaczający ilość liczb większych od ostatniej liczby ciągu.

program z3_2;

var a: array[1..50] of real;

i,n,wynik: integer;

begin

write('Ile bedzie liczb?: '); readln(n);

for i:=1 to n do

begin

write(i,' liczba: '); readln(a[i]);

end;

writeln;

wynik:=0;

for i:=1 to n-1 do

if a[i]>a[n] then wynik:=wynik+1;

writeln;

writeln('Ilosc liczb wiekszych od ostatniej liczby ciagu = ',wynik);

readln;

end.

  1. Dany jest ciąg n znaków. Napisać program sprawdzający, czy ciąg ten jest palindromem.

program z3_3;

var a: array[1..50] of char;

i,j,n: integer;

p: boolean;

begin

write('Ile bedzie znakow?: '); readln(n);

for i:=1 to n do

begin

write(i,' znak: '); readln(a[i]);

end;

p:=true;

i:=1; j:=n;

while i<j do

begin

if a[i]<>a[j] then p:=false;

i:=i+1;

j:=j-1;

end;

writeln;

write('Podany ciag znakow ');

if p then write('jest')

else write('nie jest');

writeln(' palindromem.');

readln;

end.

  1. Zmodyfikować program z punktu 2 tak, aby wyznaczał sumę i ilość liczb większych od średniej arytmetycznej wszystkich elementów ciągu.

  2. Dany jest ciąg n liczb całkowitych umieszczonych w tablicy jednowymiarowej a. Napisać program przepisujący do tablicy jednowymiarowej b wszystkie liczby dodatnie i wyświetlający na ekranie monitora zawartość tablicy b.

program z3_4;

var a,b: array[1..50] of integer;

i,n,k: integer;

begin

write('Ile bedzie liczb?: '); readln(n);

for i:=1 to n do

begin

write(i,' liczba: '); readln(a[i]);

end;

k:=0;

for i:=1 to n do

if a[i]>0 then begin

k:=k+1;

b[k]:=a[i];

end;

writeln('Do tablicy ''b'' przepisano nastepujace liczby:');

for i:=1 to k do

write(b[i]:8);

writeln;

readln;

end.

  1. Uzupełnić program z punktu 5 o wyznaczenie średniej geometrycznej liczb w tablicy b.

  2. Dana jest macierz liczb rzeczywistych o wymiarach (× n). Napisać program wprowadzający te liczby do tablicy dwuwymiarowej, a następnie wyświetlający tę tablicę na ekranie monitora.

program z3_5;

var a: array[1..10,1..10] of real;

i,j,m,n: integer;

begin

writeln('Podaj wymiary tablicy:');

write('Liczba wierszy m = '); readln(m);

write('Liczba kolumn n = '); readln(n);

for i:=1 to m do

begin

writeln(i,' wiersz: ');

for j:=1 to n do

begin

write(j,' kolumna: '); readln(a[i,j]);

end;

end;

writeln;

writeln('Wprowadzono nastepujaca tablice:');

for i:=1 to m do

begin

for j:=1 to n do

write(a[i,j]:7:2,' ');

writeln;

end;

readln;

end.

  1. Dana jest macierz kwadratowa liczb całkowitych o wymiarach (n × n) umieszczona w tablicy dwuwymiarowej a. Napisać program wyświetlający na ekranie monitora liczby leżące na obu przekątnych tablicy.

program z3_6;

var a: array[1..10,1..10] of integer;

i,j,n: integer;

begin

write('Wymiar tablicy n = '); readln(n);

for i:=1 to n do

begin

writeln(i,' wiersz: ');

for j:=1 to n do

begin

write(j,' kolumna: '); readln(a[i,j]);

end;

end;

writeln;

writeln('Liczby na glownej przekatnej:');

for i:=1 to n do

write(a[i,i]:7,' ');

writeln;

writeln('Liczby na przeciwnej przekatnej:');

for i:=1 to n do

write(a[i,n-i+1]:7,' ');

readln;

end.

  1. Zmodyfikować program z punktu 8 tak, aby wyznaczał również średnie arytmetyczne liczb leżących na przekątnych.

  2. Dany jest n elementowy ciąg liczb rzeczywistych. Napisać program obliczający ile liczb ma wartości pomiędzy wartością minimalną a średnią arytmetyczną, a ile - pomiędzy średnią a wartością maksymalną.

  3. Dany jest ciąg liczb rzeczywistych umieszczony w tablicy dwuwymiarowej o wymiarach (n × n). Napisać program obliczający sumy liczb znajdujących się nad i pod główną przekątną tablicy.

  4. Dany jest ciąg liczb całkowitych umieszczony w tablicy dwuwymiarowej a o wymiarach (m × n). Napisać program wstawiający do tablicy jednowymiarowej b średnie arytmetyczne z kolejnych wierszy tablicy a.

str. 2/3 Turbo Pascal - Instrukcja nr 3

Turbo Pascal - Instrukcja nr 3 str. 3/3