Funkcje i procedury w pascalu, INFORMATYKA


Funkcje i procedury

Funkcje:

FUNCTION nazwa(par_formalne):typ_wyniku;

część opisowa (deklaracje zmiennych lokalnych)

BEGIN

część wykonawcza (musi zawierać instrukcję nazwa:=wartość;)

END;

Przykłady:

1.Wykorzystanie funkcji bez parametrów:

program powitanie;

{$APPTYPE CONSOLE}

uses

SysUtils;

function Napis:String;

begin

Napis:='Witaj';

end;

begin

Writeln(Napis); //wywołanie funkcji

readln;

end.

2.Wykorzystanie funkcji z parametrem

program Kwadrat;

{$APPTYPE CONSOLE}

uses

SysUtils;

function Polekwadratu(a:integer):integer;

begin

Polekwadratu:=a*a;

end;

var

a:integer;

begin

Writeln('Podaj bok kwadratu:');

Readln(a);

Writeln('Pole kwadratu o boku=',a,'wynosi',Polekwadratu(a)); //wywołanie funkcji z

//podanym przez nas bokiem a

readln;

end.

lub w programie tylko:

Writeln('Pole kwadratu o boku 5 wynosi',Polekwadratu(5)); //wywołanie funkcji z konkretna

//wartością boku = 5

Procedury:

PROCEDURE nazwa(parametry);

część opisowa

BEGIN

część wykonawcza

END;

gdzie parametry mogą mieć postać:

a,b:integer;c:real - wówczas w wywołaniu podajemy konkretne wartości: nazwa(2,3,4);

lub

var a,b:integer - wówczas w wywołaniu korzystamy ze zmiennych :var x,y:integer;

nazwa(x,y);

Przykłady:

1.Wywołanie procedury bez parametru

program Powitanie;

{$APPTYPE CONSOLE}

uses

SysUtils;

procedure Napis;

begin

writeln('Witaj');

end;

begin

Napis; //wywołanie procedury w programie

readln;

end.

2.Wywołanie procedury z parametrem

program dodawanie;

{$APPTYPE CONSOLE}

uses

SysUtils;

procedure Dodaj(x,y:integer);

begin

writeln('suma wynosi:',x+y);

end;

begin

Dodaj(5,10); //wywołanie procedury z wartościami 5 i 10

readln;

end.

Funkcje i procedury.

1.Napisz procedurę wyświetlającą twoje imię i nazwisko.

2.Napisz procedurę obliczającą kwadrat podanej liczby.

3.Napisz procedurę obliczającą pole trójkąta o podanej podstawie i wysokości oraz procedurę obliczającą obwód trójkąta o podanych bokach. Wyświetl wyniki w programie.

4.Napisz procedurę obliczającą pole i objętość sześcianu o podanym boku. Wywołaj funkcję w programie tylko w przypadku gdy wprowadzony bok jest liczbą dodatnia. W przeciwnym wypadku użyj zmienionej procedury z zadnia1 (powinna wyświetlić: ”Wprowadzona wartość jest liczba ujemną lub równą 0”).

5.a)Dokończ procedurę wczytującą do tablicy dane oraz wywołaj ją w programie:

program Tablica;

{$APPTYPE CONSOLE}

uses

SysUtils;

type tablica=array[1..50]of integer;

var

w:integer; //zmienne globalne używane zarówno w procedurach jak i w programie

t:tablica;

procedure czytaj(w:integer;var t:tablica);

var

i:integer; //zmienna lokalna - widoczna tylko dla funkcji

begin

……

gdzie w jest wielkością tablicy - ilością elementów- a w wywołaniu podajemy konkretną wartość, t - tablicą należącą do klasy tablic zdefiniowanych na początku programu - w wywołaniu podajemy nazwę zmiennej.

b)Napisz procedurę wyświetlającą tablicę .

Funkcje i procedury.

1.Napisz procedurę wyświetlającą twoje imię i nazwisko.

2.Napisz procedurę obliczającą kwadrat podanej liczby.

3.Napisz procedurę obliczającą pole trójkąta o podanej podstawie i wysokości oraz procedurę obliczającą obwód trójkąta o podanych bokach. Wyświetl wyniki w programie.

4.Napisz procedurę obliczającą pole i objętość sześcianu o podanym boku. Wywołaj funkcję w programie tylko w przypadku gdy wprowadzony bok jest liczbą dodatnia. W przeciwnym wypadku użyj zmienionej procedury z zadnia1 (powinna wyświetlić: ”Wprowadzona wartość jest liczba ujemną lub równą 0”).

5.a)Dokończ procedurę wczytującą do tablicy dane oraz wywołaj ją w programie:

program Tablica;

{$APPTYPE CONSOLE}

uses

SysUtils;

type tablica=array[1..50]of integer;

var

w:integer; //zmienne globalne używane zarówno w procedurach jak i w programie

t:tablica;

procedure czytaj(w:integer;var t:tablica);

var

i:integer; //zmienna lokalna - widoczna tylko dla funkcji

begin

……

gdzie w jest wielkością tablicy - ilością elementów- a w wywołaniu podajemy konkretną wartość, t - tablicą należącą do klasy tablic zdefiniowanych na początku programu - w wywołaniu podajemy nazwę zmiennej.

b)Napisz procedurę wyświetlającą tablicę .

Funkcje i procedury.

1.Napisz procedurę wyświetlającą twoje imię i nazwisko.

2.Napisz procedurę obliczającą kwadrat podanej liczby.

3.Napisz procedurę obliczającą pole trójkąta o podanej podstawie i wysokości oraz procedurę obliczającą obwód trójkąta o podanych bokach. Wyświetl wyniki w programie.

4.Napisz procedurę obliczającą pole i objętość sześcianu o podanym boku. Wywołaj funkcję w programie tylko w przypadku gdy wprowadzony bok jest liczbą dodatnia. W przeciwnym wypadku użyj zmienionej procedury z zadnia1 (powinna wyświetlić: ”Wprowadzona wartość jest liczba ujemną lub równą 0”).

5.a)Dokończ procedurę wczytującą do tablicy dane oraz wywołaj ją w programie:

program Tablica;

{$APPTYPE CONSOLE}

uses

SysUtils;

type tablica=array[1..50]of integer;

var

w:integer; //zmienne globalne używane zarówno w procedurach jak i w programie

t:tablica;

procedure czytaj(w:integer;var t:tablica);

var

i:integer; //zmienna lokalna - widoczna tylko dla funkcji

begin

……

gdzie w jest wielkością tablicy - ilością elementów- a w wywołaniu podajemy konkretną wartość, t - tablicą należącą do klasy tablic zdefiniowanych na początku programu - w wywołaniu podajemy nazwę zmiennej.

b)Napisz procedurę wyświetlającą tablicę


1. program Zad1;

{$APPTYPE CONSOLE}

uses

SysUtils;

procedure Imie;

begin

writeln('Kasia');

end;

begin

Imie;

readln;

end.

2. program Kwadrat;

{$APPTYPE CONSOLE}

uses

SysUtils;

function potega(a:integer):integer;

begin

potega:=a*a;

end;

var

a:integer;

begin

writeln('podaj liczbe:');

readln(a);

writeln(a,'podniesione do kwadratu wynosi:',potega(a));

readln;

end.

3. program trojkat;

{$APPTYPE CONSOLE}

uses

SysUtils;

function pole(a,h:integer):real;

begin

pole:=1/2*a*h;

end;

function obwod(a,b,c:integer):integer;

begin

obwod:=a+b+c;

end;

var

a,b,c,h:integer;

begin

writeln('podaj bok a:');

readln(a);

writeln('podaj bok b:');

readln(b);

writeln('podaj bok c:');

readln(c);

writeln('podaj wysokosc h:');

readln(h);

writeln('obwod trojkata o bokach',a,',',b,',',c,'wynosi:',obwod(a,b,c));

writeln('pole trojkata o boku',a,'i wysokosci',h,'wynosi:',pole(a,h):0:0);

readln;

end.

5a) program Tablica;

{$APPTYPE CONSOLE}

uses

SysUtils;

type mac=array[1..5]of integer;

var b:mac;

procedure pole(a:integer;var b:mac);

var

i:integer;

begin

for i:=1 to a do

begin

write('[',i,']');

read(b[i]);

end;

end;

procedure druk(a:integer;var b:mac);

var

i:integer;

begin

for i:=1 to a do

begin

writeln('[',i,']=',b[i]);

end;

end;

var

m:integer;

begin

write('il w:');

read (m);

pole(m,b);

readln;

writeln('Wyglad tablicy:');

druk(m,b);

readln;

end.



Wyszukiwarka

Podobne podstrony:
Sem II Transport, Podstawy Informatyki Wykład XIV i XV Object Pascal Funkcje i procedury
Podstawy Informatyki Wykład XIII Object Pascal Funkcje i procedury
Funkcje standardowe, Technik Informatyk, PSiO, Pascal
Klasyfikacja oprogramowania ze względu na jego funkcje, edukacja i nauka, Informatyka
3 Wybrane funkcje i procedury obsługi ekranu
bd2 03 funkcje i procedury
petle w pascalu, INFORMATYKA
04 Funkcje, wisisz, wydzial informatyki, studia zaoczne inzynierskie, jezyk java
kol pop3, Napisz następujące funkcje i procedury:
kol pop 1, Napisz następujące funkcje i procedury:
bd2 04 funkcje i procedury
Na czym polega programowanie w TURBO Pascalu, INFORMATYKA
Funkcja i procedura
zadania w pascalu, INFORMATYKA, Informatyka
funkcje i procedury III TI, Programowanie
Tp w 10 Programowanie modularne w Turbo Pascalu, INFORMATYKA, PROGRAMOWANIE, wykłady
problemy funkcjonowania małej firmy informatycznej, Firmy i Przedsiębiorstwa
Funkcje Internetu, zadania z informatyki

więcej podobnych podstron