47 (361)

47 (361)



begin

Write ('Podaj X: '); Readln (X);

Write ('Podaj Y: '); Readln (Y);

ZamienZmienne (X, Y);

Writeln ('Po zamianie X-', X, ’ a Y-', Y);

Readln; end.

Zauważ, że nie ma tu znaczenia, jak nazywają się zmienne przekazywane do procedury. Wszystko jedno, czy nazwiemy je X i Y, Pierwsza i Druga, wewnątrz procedury będą chwilowo nazywać się A i B, a po jej zakończeniu ich wartości zostaną zamienione.

Przeprowadź eksperyment: usuń słowo var sprzed definicji parametrów i uruchom program. Wartości zmiennych nie zostały zamienione. Czy już teraz widzisz różnicę?

W przypadku tej funkcji słowo var tyczy się obu parametrów (zapis jest równoważny następującemu):

procedurę ZamienZmienne (var A: Byte; var B: Byte);

Oczywiście w jednej funkcji możesz część parametrów przekazać w jeden, a część w drugi sposób, na przykład:

procedurę Przykładowa (A: Byte; var B: Byte);

lub

procedurę Przykładowa (var A: Byte; B: Byte);

Z takiego sposobu przekazywania parametrów wynika jeszcze jedna, bardzo ważna uwaga. Parametrem aktualnym, przekazywanym przez zmienną musi być zmienna, a nie wyrażenie czy stała. I tak jak można było napisać na przykład:

X Silnia (5)

jeżeli silnia była zdefiniowana tak, jak w ćwiczeniu 3.49, tak w powyższym przykładzie zapis:

ZamienZmienne (2, 3)

jest niepoprawny (cóż zresztą miałby znaczyć?). Spotkamy się jednak z przypadkami (szczególnie używając cudzych funkcji), że nie będzie się dało wywołać ich ze stałą, mimo tego, że tak byłoby wygodniej, ponieważ parametry są przekazywane przez zmienną, a nie przez wartość (czasem niepotrzebnie).

C Z E N I E


Równanie kwadratowe

Napisz procedurę, która dla podanych A, B i C liczy liczbę rozwiązań równania kwadratowego Ax2+Bx+C = 0 i same rozwiązania. Przetestuj ją w programie.

Z naszej procedury potrzebujemy uzyskać aż trzy dane: liczbę rozwiązań i oba rozwiązania. Napiszemy ją tak, że wszystkie te parametry będziemy przekazywać przez zmienną. W zależności od liczby rozwiązań albo wyliczone będą oba, albo tylko jedno, albo żadne. Parametry, których nie będziemy liczyć, będą przyjmowały wartość nieokreśloną.


Wyszukiwarka

Podobne podstrony:
30 (552) begin Write ( Podaj liczbę: ); Readln (N); Silnia 1; for I 1 to N do Silnia Silnia *
44 (399) else end; { PotegaCalkowita A * Sqr (PotegaCalkowita (A, N div 2)) PotegaCalkowita -} begin
43242 Obraz0 (47) m GEOGRAFII - ZAKRES ROZSZERZONY a. Podaj przykład antropopresji w Puszczy Amazoń
1506031d8838405169343?6885292 n . Rok II. 14.05.2012 (Stomatologia zachowawcza prcedkSniczna) 1. Pod
CCF20140322055 ■iS. Podaj wzory śćrufeturalrie dią.po<Jariycii poniżej pviżzków-:   &n
DSCN3161 mmr/wi I    
47 (25) 94 Rozbudowa systemu, pamięć zapisania są obecne na porcie PO jeszcze chwilę po zakończeniu
34686 ZF Bień7 Odsetki proste 47 wynosiła 108 dni (w maju 6 dni, w czerwcu 30 dni, w lipcu i sierpn
361 Wany Ka4a)o*a Komunntooła auMmmmow* Uwaanl Hurao«ani* autaMisOW moła M rtaaiam po UpraMnln o
Console.Write("Podaj długość promienia: "); r = Convert.ToDouble(Console.ReadLine()); c.
e. Pobierz od użytkownika wartości parametrów b i c: Console.Write("Podaj wartość parametru b:
whłłe not eof(f) do begin readlnff, a.Nr, a.X>
26 (683) begin Suma Suma+I; Write (Suma,  end; Writeln; Readln; end. Do tej pory wykorzystywal
Język francuski minut str F 47 Ćwiczenia powtórzeniowe 5-8 Podaj kolor. 1.    Le vin
UCZĘ SIE LICZYĆ (47) Właśnie przyjechał autokar wycieczkowy. Podaj wyniki mnożenia. Nie spiesz się,
46,47 OO Things on the ward Write the number of each description next to the correct word. sheets

więcej podobnych podstron