Metody Programowania - Lista 10
Zadanie 1
Wzorując się na przykładowym programie `schemademo.pas' (z katalogu
`/usr/share/doc/gpc-2.95/examples/') napisać
procedurę w Pascalu która oblicza oblicza sumę elementów wektora,
akceptującą wektory dowolnej długości (argument ma być schematem
przekazywanym w trybie `var'). Podobnie, napisać procedurę
która oblicza oblicza sumę elementów macierzy `n' na `m' akceptującą
macierze z dowolnym `n' i `m'.
Zadanie 2
Bazując na podanym szkielecie:
program nlgoto;
label 999;
procedure p(i:integer);
begin
if i = 0 then goto 999
else writeln('Normalne wykonanie')
end;
begin
p(0);
Halt;
999:
writeln('i było zerem')
end
.
i przykładzie z `schemademo.pas' napisać procedure obliczania
iloczynu skalarnego wektorów dowolnej długości oraz procedurę
mnożenia macierzy. W przypadku niezgodności wymiarów wyskoczyć
do etykiety w programie głównym i tam wypisać komunikat o błędzie.
Zadanie 3
Przetłumaczyć na Pascal wybrane rozwiązania zadań z Listy 3
Zadanie 4
Obejrzeć sobie przykładowy program w C wywołujący
procedurę w Pascalu (pozycja `jul_dat' z strony wykładu albo program
`gpc_c_pas.pas' z przykładów do gpc). Napisać własną
procedurę w Pascalu i sprawdzić jak ona działa.
Zadanie 5
Przekompilować "pusty" program w Pascalu:
program null;
begin
end
.
w opcją `-S'. Porównać z "pustym" programen w C. Dlaczego kod
assemblerowy z Pascala jest bardziej skomplikowany?