Dziwne zadanie - komentarz, funkcja, pole zainicjowane ?

0

Uzupełnij programy napisane w języku Pascal, tak, by po wczytaniu długości boku kwadratu n (n-liczba naturalna, 0 <n < 100) na ekranie pojawiała się wielkość pola tego kwadratu (uzupełnienia wpisz w miejscu komentarza {...}).

Program I

Program xx;
var n:integer;
{....................................................}
begin
Writeln ('Podaj długość boku:');
Readln (n);
Writeln(pole);
end.

Program II

Program xx;
var n:integer;
{....................................................}
begin
Writeln ('Podaj długość boku:');
Readln (n);
Pole (n, k);
Writeln(k);
end.

Program III

Program xx;
var n:integer;
{....................................................}
begin
Writeln ('Podaj długość boku:');
Readln (n);
Pole;
Writeln(n);
end.

I teraz takie moje pytania :)

Pomyślałem nad czymś takim

Program I

function Pole:integer ;
begin
Pole:=n*n;
end ;

Program II

k:integer;

Procedure Pole(n:integer; var k:integer) ;
begin
k:=n*n;
end

Program III
Procedure Pole(var n:integer) ;
begin
n:=n*n;
end ;

Z tym, że jak przypisze takie pole w postaci zainicjowanej to nie może się znaleźć w miejscu komentarza, bo program wykonuje zwykle działania od gry do dołu. Można użyć funkcji, ale koniec programu uległby zmianie :)

PS Jak wstawić warunek ten z treści zadania żeby było mniejsze od 100 ?

0

wszystko robisz funkcjami, które są umieszczone dokładnie w miejscu komentarza. Dlaczego uważasz, że koniec programu ulegnie zmianie ? Praktycznie napisałeś sam rozwiązania problemu. Proponuję doczytać o funkcjach i trochę się nimi pobawić.

if (n<0) or (n>99) then zle

lub

if (n>0) and (n<100) then
begin
 --- kod funkcji
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1