Wydział Mechatroniki i Budowy Maszyn
Zakład Technik Komputerowych i Uzbrojenia
Rok I, sem. I, Podstawy Informatyki
Opracował: dr hab. inż. Zbigniew Koruba, prof. PŚk
Ćwiczenie laboratoryjne nr 4
TABLICE JEDNOWYMIAROWE (WEKTORY) W TURBO PASCALU
Przykład
Dana jest tablica jednowymiarowa a (wektor) n liczb całkowitych. Napisz program z zasto-
sowaniem procedur i funkcji, który:
a) wczytuje elementy tablicy (zastosuj procedurę);
b) oblicza średnią arytmetyczną elementów nieparzystych dodatnich (zastosuj funkcję);
c) przepisuje do tablicy b te elementy, które są mniejsze od wyliczonej powyżej średniej
(zastosuj procedurę);
d) wyświetla tablicę b po 3 elementy w jednym wierszu (zastosuj procedurę)
e) w programie głównym wywołuje niezbędne procedury i funkcje oraz wyświetla obli-
czoną średnią z dokładnością do trzech miejsc po przecinku.
program Tablica_jednowymiarowa;
{Program z zastosowaniem typu tablicowego}
uses
crt;
const
n_max = 100;
type
wektor = array[1..n_max] of integer; {Zdefiniowanie typu tablicowego jednowym.}
procedure Wczytaj_tab(n : word; var a : wektor);
var
i : word;
begin
for i:=1 to n do
begin
GoToXY(20,12);
Write('a(',i, ')= '); Readln(a[i]);
GoToXY(20,12); DelLine;
end;
end;
1
function Srednia(n : word; a : wektor) : real;
var
i,k : word;
s : integer;
sr : real;
begin
k:=0; s:=0;
for i:=1 to n do
If (a[i] mod 2 <> 0) and (a[i] > 0) then
begin
k:=k+1;
s:=s+a[i];
end;
If k = 0 then Srednia:=0
else Srednia:=s/k;
end;
procedure Przepisz(n : word; a : wektor; sr : real; var k : word; var b : wektor);
var
i : word;
begin
k:=0;
for i:=1 to n do
If a[i] < sr then
begin
k:=k+1;
b[k]:=a[i];
end
end;
2
procedure Wyswietl_tab(k : word; b : wektor);
var
i : byte;
begin
for i:=1 to k do
begin
Write(b[i],' ');
if i mod 3 = 0 then Writeln
end
end;
var
n,k,kod : word;
a,b : wektor;
sr : real;
str : string; {typ łańcuchowy}
BEGIN
{Zabezpieczenie programu przed wprowadzeniem niewłaściwej danej liczbowej}
Repeat
ClrScr;
GoToXY(20,10);
Write('Podaj rozmiar tablicy n= (100
=3) ');
Readln(str);
val(str,n,kod); {procedura konwersji zmiennej łańcuchowej na zmienną liczbową}
Until (kod = 0) and (n >= 3) and (n < 100);
Wczytaj_tab(n,a);
sr:=srednia(n,a);
Przepisz(n,a,sr,k,b);
ClrScr;
Wyswietl_tab(k,b);
GoToXY(20,14); Write('Srednia wynosi: ',sr:8:3);
Readkey
END.
3
Zadania do samodzielnego rozwiązania:
1. Dana jest tablica x zawierająca m liczb rzeczywistych. Opracuj program z zastosowaniem
procedur i funkcji, który realizuje następujące zadania:
a) wczytuje elementy tablicy (zastosuj procedurę);
b) oblicza element minimalny i maksymalny tablicy a (zastosuj funkcje);
c) przepisuje do tablicy y te elementy, które są mniejsze od wartości równej
0.25*(maksimum minimum) (zastosuj procedurę);
d) wyświetla tablicę y w jednej kolumnie (zastosuj procedurę)
e) w programie głównym wywołuje niezbędne procedury i funkcje oraz wyświetla
wyznaczone elementy minimalne i maksymalne z dokładnością do dwóch miejsc po
przecinku.
2. Dana jest tablica z ciągu k znaków. Napisz program z zastosowaniem procedur i
funkcji:
a) wczytujący znaki do tablicy z;
b) wyznaczający ile jest w ciągu liter cz (litera c poprzedzająca z );
c) wyznaczający nowy ciąg nie zawierający liter c jeśli poprzedzały z ;
d) wyświetlający wyniki na ekranie w programie głównym.
3. Dane są dwie n-elementowe tablice x i y zawierające współrzędne n punktów na
płaszczyznie. Opracuj program z zastosowaniem procedur i funkcji wyznaczający ile
punktów położonych jest w drugiej ćwiartce układu współrzędnych, a ile w czwartej.
4
Wyszukiwarka
Podobne podstrony:
Grafika wektorwa cw 2
Grafika wektorwa cw 1
MATLAB cw Skrypty
cad2 cw 5 6
cw formularz
Cw 2 zespol2 HIPS
Cw 9 Wzmacniacz mocy
Cw 1
metrologia cw 1 protokol
Sprawozdanie Ćw 2
Biofizyka kontrolka do cw nr
analiza wektorowa
więcej podobnych podstron