Informatyka - instrukcje, Instrukcja 4, Podstawy Informatyki - Laboratorium


Podstawy Informatyki - Laboratorium

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

Turbo Pascal

Instrukcja laboratoryjna nr 4

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

Procedury i funkcje

(na przykładzie operacji na tablicach jedno i dwuwymiarowych)

  1. Napisać (z wykorzystaniem programowania strukturalnego) program wprowadzający n liczb całkowitych do tablicy jednowymiarowej a, a następnie wyświetlający je na ekranie monitora po 5 liczb w wierszu.

program z4_1;

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

n: integer;

{----------}

procedure Czytaj;

var i:integer;

begin

for i:=1 to n do

begin

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

end;

end;

{----------}

procedure Drukuj;

var i:integer;

begin

for i:=1 to n do

begin

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

if i mod 5 = 0 then writeln;

end;

writeln;

end;

{----------}

begin

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

Czytaj;

writeln;

writeln('Wprowadzono nastepujace liczby:');

Drukuj;

readln;

end.

  1. Uzupełnić program z punktu 1 o:

    1. definicję typu tablicowego;

    2. przekazywanie wartości zmiennych poprzez argumenty procedur.

program z4_2;

type tab1_i = array[1..50] of integer;

var a: tab1_i;

n: integer;

{----------}

procedure Czytaj(k: integer; var x: tab1_i);

var i:integer;

begin

for i:=1 to k do

begin

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

end;

end;

{----------}

procedure Drukuj(k: integer; x: tab1_i);

var i:integer;

begin

for i:=1 to k do

begin

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

if i mod 5 = 0 then writeln;

end;

writeln;

end;

{----------}

begin

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

Czytaj(n,a);

writeln;

writeln('Wprowadzono nastepujace liczby:');

Drukuj(n,a);

readln;

end.

  1. Dopisać do programu z punktu 2 funkcję wyznaczającą średnią arytmetyczną wszystkich elementów tablicy a.

    1. deklaracja funkcji:

function S_a(n: integer; a: tab1_i): real;

var i,s: integer;

begin

s:=0;

for i:=1 to n do

s:=s+a[i];

if n>0 then S_a:=s/n

else S_a:=s;

end;

    1. uzupełnienie części głównej programu:

writeln('Srednia arytmetyczna = ',S_a(n,a):4:2);

  1. Uzupełnić program z punktu 3 o funkcje i procedury realizujące następujące zadania:

    1. wyznaczanie średnich: geometrycznej i harmonicznej;

    2. przepisanie do jednowymiarowej tablicy b tych elementów tablicy a, które są dokładnie dwa razy większe od średniej arytmetycznej i wyświetlenie zawartości tablicy b na ekranie monitora;

    3. wyznaczenie procentowego udziału liczb parzystych w tablicy a;

    4. odnalezienie i wyświetlenie na ekranie monitora indeksów (numerów) tych elementów tablicy a, których wartości są równe wartości minimalnej;

    5. wyznaczenie iloczynu elementów tablicy a mniejszych od średniej arytmetycznej elementów dodatnich.

  1. Napisać (z wykorzystaniem programowania strukturalnego) program wprowadzający liczby rzeczywiste do tablicy dwuwymiarowej a o wymiarach (m × n), a następnie wyświetlający zawartość tej tablicy na ekranie monitora .

program z4_4;

type tab2_r = array[1..10,1..10] of real;

var a: tab2_r;

m,n: integer;

{----------}

procedure Czytaj(m,n: integer; var x: tab2_r);

var nr_w,nr_k:integer;

begin

for nr_w:=1 to m do

begin

writeln(nr_w,' wiersz:');

for nr_k:=1 to n do

begin

write('Element [',nr_w,',',nr_k,'] = ');

readln(x[nr_w,nr_k]);

end;

end;

end;

{----------}

procedure Drukuj(m,n: integer; x: tab2_r; tytul: string);

var i,j:integer;

begin

writeln(tytul);

for i:=1 to m do

begin

for j:=1 to n do

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

writeln;

end;

end;

{----------}

begin

writeln('Podaj wielkosc tablicy:');

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

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

Czytaj(m,n,a);

writeln;

Drukuj(m,n,a,'Zawartosc tablicy A:');

readln;

end.

  1. Uzupełnić program z punktu 5 o procedurę przepisującą z tablicy a do jednowymiarowej, n - elementowej tablicy b wartości maksymalne z kolejnych kolumn tablicy a.

    1. uzupełnienie deklaracji typów:

tab1_r = array[1..10] of real;

    1. uzupełnienie deklaracji zmiennych:

b: tab1_r;

    1. uzupełnienie deklaracji procedur i funkcji:

{----------}

function Max(m,nr_k:integer; a:tab2_r): real;

var i: integer;

wynik: real;

begin

wynik:=a[1,nr_k];

for i:=2 to m do

if a[i,nr_k] > wynik then wynik:=a[i,nr_k];

Max:=wynik;

end;

{----------}

procedure Tworz_b(m,n:integer; a:tab2_r; var b:tab1_r);

var i,j: integer;

begin

for j:=1 to n do

b[j]:=Max(m,j,a);

end;

{----------}

procedure Drukuj1_r(k:integer; x:tab1_r; tytul:string);

var i: integer;

begin

writeln(tytul);

for i:=1 to k do

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

writeln;

end;

{----------}

    1. uzupełnienie części głównej programu:

Tworz_b(m,n,a,b);

Drukuj1_r(n,b,'Wartosci maksymalne w kolumnach (tablica B):');

  1. Uzupełnić program z punktu 6 o procedury lub funkcje:

    1. usuwające z tablicy a podany wiersz bądź kolumnę;

    2. obliczające iloczyn skalarny dwóch wskazanych wierszy bądź kolumn tablicy a.

  2. Napisać (z wykorzystaniem programowania strukturalnego) program wprowadzający liczby całkowite do kwadratowej tablicy dwuwymiarowej a o wymiarach (n × n), a następnie wykonujący następujące zadania:

    1. wyznaczenie średniej arytmetycznej wszystkich elementów;

    2. obliczenie iloczynu skalarnego liczb leżących na obu przekątnych;

    3. obliczenie sum elementów leżących powyżej i poniżej głównej przekątnej;

    4. przepisanie liczb do tablicy dwuwymiarowej b z jednoczesną zamianą miejscami wierszy i kolumn;

    5. wskazanie kolumny i wiersza o najmniejszej wartości średniej arytmetycznej.

str. 4/4 Turbo Pascal - Instrukcja nr 4

Turbo Pascal - Instrukcja nr 4 str. 3/4



Wyszukiwarka

Podobne podstrony:
Informatyka - instrukcje, Instrukcja 3, Podstawy Informatyki - Laboratorium
Informatyka - instrukcje, Instrukcja 13, Podstawy Informatyki - Laboratorium
Informatyka - instrukcje, Instrukcja 2, Podstawy Informatyki - Laboratorium
instrukcja 3 new, Ćwiczenia laboratoryjne z Podstaw Informatyki nr 3
Informatyka - instrukcje, Instrukcja 1 - poprawiona, Podstawy Informatyki - Laboratorium
instrukcja 3 new, Ćwiczenia laboratoryjne z Podstaw Informatyki nr 3
Informatyka - instrukcje, Instrukcja 1 - poprawiona, Podstawy Informatyki - Laboratorium
Informatyka - instrukcje, Instrukcja 9, Podstawy Informatyki - Laboratorium
Informatyka - instrukcje, Instrukcja 11, Podstawy Informatyki - Laboratorium
Informatyka - instrukcje, Instrukcja 8, Podstawy Informatyki - Laboratorium
Informatyka - instrukcje, Instrukcja 12, Podstawy Informatyki - Laboratorium
Informatyka - instrukcje, Instrukcja 10, Podstawy Informatyki - Laboratorium
Informatyka - instrukcje, Instrukcja 7, Podstawy Informatyki - Laboratorium
Informatyka - instrukcje, Instrukcja 14, Podstawy Informatyki - Laboratorium

więcej podobnych podstron