APP Zadania 06 Podprogramy

background image

Antoni M. Zaj czkowski: APP - Zadania. Podprogramy

6 kwietnia 2009

1

Zadanie.

Napisz funkcj Nie_Parzysta przyjmuj c warto True albo False w zale -

no ci od tego, czy jej argument (parametr) typu całkowitego jest odpowiednio liczb niepa-

rzyst , albo parzyst . Oto przykład wykorzystania tej funkcji.

Liczba : Integer

range

-99..99;

..
Put ("Liczba ");
Put (Liczba, 3);

if

Nie_Parzysta (Liczba)

then

Put (" jest nieparzysta");

else

Put (" jest parzysta");

end if

;

Zamie t funkcj na równowa n procedur Sprawdz_Czy_Nie_Parzysta oraz

ewentualnie zmie deklaracje i podany ci g instrukcji tak, e u ytkownik nie zauwa y zast -

pienia funkcji przez procedur .

Zadanie.

Napisa funkcj Suma_Kwadratow obliczaj c iteracyjnie sum kwadratów

pierwszych N liczb całkowitych dodatnich.

Zadanie.

Napisz funkcj Lucas obliczaj c - ty wyraz ci gu Lucasa okre lonego wzorem

,

,

.

Zadanie.

Maj c dan nagłówek funkcji Lucas

function

Lucas (N : in Positive )

return

Positive;

i fragment programu wypisuj cy pierwszych Ile_Wyrazow : Positive; tego ci gu

for

Licznik

in

1..Ile_Wyrazow

loop

Put (Licznik);
Set_Col(20);
Put (Lucas(Licznik));
New_Line;

end loop

;

Napisz nagłówek równowa nej procedury Oblicz_Lucasa i zmie podany fragment pro-

gramu tak, e u ytkownik nie zauwa y zmiany funkcji na procedur oraz zmiany p tli

for

na

p tl

while

. Zadeklaruj odpowiednie zmienne, je eli jest to potrzebne.

background image

Antoni M. Zaj czkowski: APP - Zadania. Podprogramy

6 kwietnia 2009

2

Zadanie.

a) Napisa funkcj Znak wyznaczaj c znak argumentu typu Float tzn. znak +, je eli argu-

ment jest wi kszy od zera, znak – je eli argument jest mniejszy od zera i znak zero je eli

argument jest zerem.

b) Zamieni funkcj Znak na równowa n procedur Wyznacz_Znak i zmieni ewentual-

nie podane deklaracje i instrukcje tak, e u ytkownik nie zauwa y zamiany podprogra-

mów.

Zwró uwag na kolejno deklaracji.

function

Znak (Argument :

in

Float )

return

Character

is

..

end

Znak;

..
Plus :

constant

Character := '+';

Minus :

constant

Character := '-';

Zero :

constant

Character := '0';

Liczba : Float;
..

begin

Read (Liczba);
Ada.Text_Io.New_Line;

if

Znak (Liczba) = Zero

then

Ada.Text_Io.Put (Zero);

elsif

Znak (Liczba) = Plus

then

Ada.Text_Io.Put (Plus);

else

Ada.Text_Io.Put (Minus);

end if

;

end

Test_Znak;


Wyszukiwarka

Podobne podstrony:
APP Zadania 06 Podprogramy
APP 06 Podprogramy 2010
CHiF zadania 06 2013
zadanie 06 06
04 06 belki i ramy zadanie 06
APP Zadania 07 Tablice Jednowymiarowe
Stacjo ROZ POD zadanie 06(1)
APP Zadania 09 Rekordy
APP Zadania 12 Jednostki Ogolne
Zadanie 06 Hasofer-Lind, Niezawodność konstr, niezawodność, 2 projekt
rozdzial 05 zadanie 06
APP Zadania 08 Tablice Wielowymiarowe
Zadania c 06
rozdzial 08 zadanie 06
zadania 06
rozdzial 10 zadanie 06
APP Zadania 07 Tablice Jednowymiarowe
CHiF zadania 06 2013

więcej podobnych podstron