admin
|
|
« : Marzec 07, 2011, 13:07:32 » |
|
Procedura wymienia dane z wywo³uj±cym poprzez listê parametrów, nie daje jednak mo¿liwo¶ci zwrócenia pojedynczej warto¶ci (liczby). Dlatego w Pascalu wprowadzono pojecie funkcji. Jest ona rodzajem procedury, która po wywo³aniu zwraca obliczon± przez siebie warto¶æ.
Function nazwa(lista_parametrów):typ_wyniku; {deklaracje sta³ych i zmiennych typów} Begin {tre¶æ funkcji, i przypisanie} Nazwa:=obliczona_warto¶æ_wyniku; End;
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #1 : Marzec 07, 2011, 13:08:53 » |
|
Przyk³ad 1.
Program a1; Var c, d:real; function suma:real; begin suma:=c+d; end; Begin Write(‘podaj a =’);readln (c); Write(podaj b= ‘);readln (d); Writeln(’suma liczb wynosi ‘,suma); readkey; End.
|
|
« Ostatnia zmiana: Marzec 14, 2011, 11:23:45 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #2 : Marzec 14, 2011, 12:02:22 » |
|
Zadanie 2. Napisaæ program w którym funkcje bêd± oblicza³y sumê ,ró¿nicê, iloraz i iloczyn dwóch wprowadzonych liczb.
program a1; uses crt,dos; var c,d:integer; function suma:real; begin suma:=c+d; end; function roznica:real; begin roznica:=c-d; end; function iloraz:real; begin iloraz:=c/d; end; function iloczyn:real; begin iloczyn:=c*d; end;
begin clrscr; write('Podaj a= ');readln(c); write('Podaj b= ');readln(d); writeln('Suma liczb= ',suma:0:2); writeln('Roznica liczb= ',roznica:0:2); writeln('Iloczyn liczb= ',iloczyn:0:2); writeln('Iloraz liczb= ',iloraz:0:2); readkey; end.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #3 : Marzec 14, 2011, 12:21:02 » |
|
Zadanie 3. Program wykorzystuj±cy twierdzenie Talesa do obliczenia wysoko¶ci budynku. Korzystaj±c z trójk±ta Talesa napisaæ program który wyliczy wysoko¶æ budynku. a- d³ugo¶æ podstawy trójk±ta, b- wysoko¶æ trójk±ta, c- odleg³o¶æ od budynku, d- wysoko¶æ budynku (do obliczenia).
program a1; uses crt,dos; var a,b,c:real; function tales:real; begin tales:=b/a*c; end; begin clrscr; a:=0.2; write('Podaj w m b= ');readln(b); write('Podaj odleglosc od obiektu c= ');readln(c); writeln('Wysokosc budynku= ',tales:0:2, ' m'); readkey; end.
|
|
« Ostatnia zmiana: Marzec 14, 2011, 12:32:54 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #4 : Marzec 14, 2011, 12:36:55 » |
|
Zadanie 4. Napisz program który korzystaj±c z funkcji troj obliczy pole powierzchni trójk±ta wprowadzaj±c z klawiatury dane: a - d³ugo¶æ podstawy trójk±ta, h - wysoko¶æ trójk±ta.
|
|
« Ostatnia zmiana: Marzec 14, 2011, 12:46:38 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #5 : Marzec 14, 2011, 13:30:41 » |
|
Zadanie 5. program a1; uses crt,dos; var imie:string; x,y:integer; procedure podaj; begin gotoxy(10,1);write('Podaj imie: ');readln(imie); end;
function ile: integer; begin ile :=length(imie); end; procedure slupek (ile:integer); var x:integer; begin for x:=1 to ile do begin gotoxy(20+y,20-x); write(chr(178));delay(300); end; end;
begin clrscr;y:=1; repeat podaj;slupek(ile);readkey;inc(y); until ile=10;
end.
|
|
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #6 : Marzec 21, 2011, 09:14:55 » |
|
program a2; uses crt,dos; var a,b:real; function roznica:real; begin roznica:=a-b; end; begin readkey; end. -----------------------------------------------------------------
program a2; uses crt,dos; var a,b:real; function srednia:real; begin srednia:=(a+b)/2; end; begin clrscr; write('Podaj pierwsza zmienna: ');readln(a); write('Podaj druga zmienna: ');readln(b); write('srednia z liczb: ',a:0:2,' ',b:0:2,' = ',srednia:0:2); readkey; end. ---------------------------------------------------------- program a2; uses crt,dos; var c,d:real; function srednia(a,b:real):real; begin srednia:=(a+b)/2; end; begin clrscr; write('Podaj pierwsza zmienna: ');readln(c); write('Podaj druga zmienna: ');readln(d); write('srednia z liczb: ',c:0:2,' ',d:0:2,' = ',srednia(c,d):0:2); readkey; end.
|
|
« Ostatnia zmiana: Marzec 21, 2011, 09:38:57 wys³ane przez admin »
|
Zapisane
|
|
|
|
admin
|
|
« Odpowiedz #7 : Kwiecieñ 04, 2011, 10:18:29 » |
|
Zadanie 4. 4.04.2011
program r7; uses crt,dos; var x,y,z:real; procedure dziel; begin clrscr; write('Podaj pierwsza liczbe: ');readln(x); write('Podaj druga liczbe: ');readln(y); end;
function dziela(a,b:real): real; begin if (b=0) then writeln('Nie dziele przez zerooooooooo!!!!!!') else dziela:=a/b; end;
begin dziel;write(dziela(x,y):0:2); readkey; end.
|
|
« Ostatnia zmiana: Kwiecieñ 04, 2011, 10:20:41 wys³ane przez admin »
|
Zapisane
|
|
|
|
|