Odpowiedzi powinny być napisane tak, by było z nich widać Państwa [możliwie głębokie] zrozumienie tematu!



Pobieranie 23.45 Kb.
Data03.05.2016
Rozmiar23.45 Kb.
Odpowiedzi powinny być napisane tak, by było z nich widać Państwa [możliwie głębokie] zrozumienie tematu!

Powodzenia!!
Zad. 0.

Co wypisze ten program?


type tab=array[1..99] of longint;

var q:tab;

a,b,c:longint;
procedure p1(a:longint; var b:longint);

begin


a:=a+b;

b:=a-1;


writeln(0,a,b)

end;
function f(var x:longint):longint;

begin

a:=x;


x:=1;

f:=c


end;
procedure p2(x:longint; var y:longint);

var a:longint;

begin

writeln(4,a,x,y);



y:=f(x);

writeln(5,a,x,y);

writeln(6,f(y));

writeln(7,a,x,y)

end;
function sum(x:tab):longint;

var i:longint;

begin

for i:=2 to 99 do x[1]:=x[1]+x[i];



sum:=x[1]

end;
begin

writeln(sum(q));

for a:=1 to 99 do q[a]:=a mod 2;

writeln(sum(q));

writeln(sum(q));

a:=11;

b:=22;


c:=33;

p1(100,a);

writeln(1,a,b,c);

writeln(2,f(b));

writeln(3,a,b,c);

p2(c,b);


p2(a,a);

end.


Zad. 1. Co się wydrukuje w poniższym programie , kiedy i = a) 3, b) 22, c) 23, d) 43?
const n=44;

var i,j,pom:Byte;

t:Array[1..44] of Byte = (1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,

12,13,14,15,16,17,18,19,20,21,22,

23,24,25,26,27,28,29,30,31,32,33,

34,35,36,37,38,39,40,41,42,43,44);


begin

for i:=1 to n do

begin

pom:=t[i];



t[i]:=t[n+1-i];

t[n+1-i]:=pom;

for j:=1 to n do write(t[j]:4)

end


end.

Zad. 2. Przy kolejnych kompilacjach poniższego programu i usuwaniu za każdym razem pierwszego błędu jako pierwszy komunikat kompilatora wyświetlały się (w nieznanej kolejności!):


Duplicate identifier (a)

Invalid procedure or function reference

String constant exceeds line


Type mismatch

Type mismatch

Unknown identifier

Unknown identifier

Variable identifier expected

)” expected

;” expected

Gdzie wystąpiły te błędy i na czym polegają?




1

2

3



4

5

6



7

8

9



10

11

12



13

14

15



16

17

18



19

20

21



22

23

24



25

26

27



28

29

30



31

32

33



var a,i:integer;

x,y,z:Real;


procedure p1(a,b:integer; r1:real; var r2:real);

var a:integer;


procedure p2(a:real; var b:integer);

begin


writeln(b/a)

end;
begin

a:=a+r1;

writeln('Oto powiekszona wartosc a:,a)

end;
function f(q:integer):real;

var a:integer;

begin

f:=a


end;
begin

p1(0,-1,0,-1);

if f(5.5)>0 then p2(a,a);

p1(a,a-1,i/2,x+3);

writeln(p1(a,i,0,x));

p1(a,a mod 2007,a mod 1,r2);

for i:=a to 2007 do

begin


x:=a/i;

writeln(x:0)



end.



©absta.pl 2016
wyślij wiadomość

    Strona główna