Procedury i funkcje.

Slides:



Advertisements
Podobne prezentacje
Katarzyna Szafrańska kl. II ti
Advertisements

Język C/C++ Funkcje.
Wstęp do programowania
PASCAL (3) dr Anna Kwiatkowska.
PROGRAMOWANIE STRUKTURALNE
OBJECT PASCAL Marzena Szałas.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 6: Tablice, rekordy, zbiory.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 5: Typy porządkowe, wyliczeniowe i okrojone. Definiowanie.
Rekurencja Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje
Kurs Pascala – spis treści
Wskaźniki. Definiowanie wskaźników Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Real; Przykłady: Wskaźnik.
Ogólne jednostki programowe 1
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Podstawy programowania PP – WYK3 Wojciech Pieprzyca.
Podstawy programowania PP – LAB4 Wojciech Pieprzyca.
Wykład 2 struktura programu elementy języka typy zmienne
PASCAL Dr Anna Kwiatkowska.
Wprowadzenie do programowania w języku Turbo Pascal
Pliki. Pliki Pliki jako pamięć nieulotna Pliki jako pamięć nieulotna Nazwy, atrybuty i prawa dostępu Nazwy, atrybuty i prawa dostępu atrybuty atrybuty.
Typy wyrażenia, schematy blokowe, writeln, readln, if, pętle
Typy wskaźnikowe, dynamiczne struktury danych
Podprogramy.
Typy złożone, case, stałe. Typ zbiorowy type typ_zb = set of typ_podstawowy; Typem podstawowym może być tylko typ porządkowy. Typem podstawowym może być
PROGRAMOWANIE STRUKTURALNE
PROGRAMOWANIE STRUKTURALNE WYKŁAD 2
Podstawy programowania
Programowanie imperatywne i język C Copyright, 2006 © Jerzy R. Nawrocki Wstęp do.
Podstawy programowania
PASCAL pętla WHILE.
Język PASCAL – podstawy Turbo Pascal: procedury, funkcje
Programowanie strukturalne i obiektowe
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
Andrzej Jędryczkowski Nie da się napisać większego programu bez podziału go na części zwane podprogramami. Podprogram to wyróżniona część programu.
Funkcje w Pascalu Przypomnienie wiadomości o procedurach Prowadzący: Anna Kaleta Piotr Chojnacki.
Algorytmy z przykładami w Turbo Pascal 7.0
20 września 2003r. Centrum Kształcenia Ustawicznego im. St. Staszica w Koszalinie Wstęp do algorytmiki Autor: Marek Magiera.
Struktura programu w Turbo Pascalu.
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Wyrażenia w Turbo Pascalu.
Definicja pliku tekstowego Operacje wykonywane na plikach tekstowych
1. Język ObjectPascal - typ tablicowy (array)
Programowanie w środowisku DELPHI
Pliki Pojęcie i rodzaje plików Definicja typu plikowego Operacje wykonywane na plikach elementowych.
Pliki tekstowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików tekstowych. Pliki takie zawierają informację niezakodowaną
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
Programowanie strukturalne i obiektowe
Zbiory i rekordy mgr inż. Agata Pacek. Deklaracja typu zbiorowego (określa ilość elementów w zbiorze) type biegi=set of 0..6; Definiowanie zmiennej typu.
Programowanie strukturalne i obiektowe
Wskaźniki.
Informatyka MPZI Wykład 4 Podprogramy Pliki Typ zbiorowy Rekurencja.
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
Informatyka MZT1 Wykład 6 Iteracje while i repeat Tablice Rekordy
Wykład 10 typ zbiorowy rekurencja.
Ogólna struktura programu w TP
Informatyka 2 MPDI Wykład 9 Delphi tablice, rekordy.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Informatyka MPDI2 Wykład 10 DELPHI cd. - zmienne tablicowe,
K URS JĘZYKA C++ – WYKŁAD 1 ( ) Łagodne wprowadzenie do języka C++
Programowanie proceduralne Podstawy Programowania dla geoinformatyków Wykład 3 Rafał Witkowski, 2015.
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Wykład 1 Informatyka II MPZI2 sem.letni. Tablice Tablice deklarujemy array [ lista typów indeksów ] of typ bazowy (składowych) np. var t1,t2:array [1..5,
Zapis prezentacji:

Procedury i funkcje

Podprogram Podprogram (inaczej funkcja lub procedura) - termin związany z programowaniem proceduralnym. Podprogram to wydzielona część programu wykonująca jakieś operacje. Podprogramy stosuje się, aby uprościć program główny i zwiększyć czytelność kodu. Funkcja w odróżnieniu od procedury zwraca wartość.

Procedury i funkcje w języku Pascal: procedure nazwa_procedure (argumenty); begin instrukcje; end; function nazwa_funkcji (argumenty) : zwracany_typ; nazwa_funkcji := zwracana_wartosc;

Przykład: program p1; begin {zmienne globalne} n:=2; var n,m:integer; c:char; s:string; {procedury} procedure wyswietl(n:integer;z:char); var j:integer; {zmienne lokalne} begin for j:=1 to n do write(z); writeln; end; procedure wyswietl(n:integer;z:string); begin n:=2; writeln('Podaj znak'); readln(c); writeln('Podaj ilo˜ść'); readln(m); writeln('Podaj ciąg'); readln(s); wyswietl(m,c); wyswietl(m,s); readln; end.

Przekazywanie argumentów do podprogramów w języku Pascal: przez nazwę function max (a,b:integer):integer; przez zmienną function max (var a,b:integer):integer; przez wskaźniki type: wsk:^integer; function max(a,b:wsk):integer;

Przykład: program procedura_zamiana; {zmienne globalne} var a,b:real; procedure zamiana(var a,b:real); var pom:real; begin pom:=a; a:=b; b:=pom; end; {program gˆłówny} writeln('Podaj a'); readln(a); writeln('Podaj b'); readln(b); zamiana(a,b); writeln('a: ', a:4:2); writeln('b: ', b:4:2); readln; end.

Funkcje w języku C++: Typ_zwracany nazwa_funkcji (argumenty) //nagłówek funkcji { instrukcje; //ciało funkcji } Przykład: void wypisz(int i, char c) cout<<i<< ” ”<<c<<endl; int max (int a, int b) if (a>b) return a; else return b;

Przekazywanie argumentów do podprogramów w języku C++: przez wartość int max(int a, int b); przez referencje int max (int &a, int &b); przez wskaźniki int max (int *a, int *b);

Przykłady: #include <iostream> using namespace std; void zamiana (int &a, int &b) { int pom = a; a = b; b = pom; } int main() int a = 5; int b = 3; cout<<"a = "<<a<<endl; cout<<"b = "<<b<<endl; cout<<"Po zamianie mamy \n"; zamiana(a,b); system("PAUSE"); return 0;

Argumenty domniemane: #include <iostream> using namespace std; double potega (double , int = 2); int main() { double x; int n; cout<<"Program liczący wartość x do potęgi n"<<endl<<endl; cout<<"Podaj x: (liczba rzeczywista)"<<endl; cin>>x; cout<<"Podaj n: (liczba całkowita)"<<endl; cin>>n; cout<<"x do potęgi 2 wynosi: "<<potega(x)<<endl; cout<<"x do potęgi n wynosi: "<<potega(x,n)<<endl; system("PAUSE"); return 0; }

double potega (double x, int n) { double w = 1;//wynik int k; k = (n<0)?-n:n; for(int i = 0; i<k ; ++i) w*=x; if(n>=0) return w; else return 1/w; }

Funkcja rekurencyjna (rekursja): Funkcję rekurencyjną nazywamy taką funkcję która wywołuje samą siebie. Funkcja taka musi posiadać warunek zakończenia rekurencji. Jeżeli takiego warunku by nie posiadała funkcja wywoływała by siebie bez końca. Funkcja taka jest wykonywana trochę wolniej niż funkcja nierekurencyjna, ale kod jest zdecydowanie krótszy i prostszy w niektórych wypadkach. Najlepszym przykładem na funkcję rekurencyjną jest silnia. unsigned long silnia(unsigned int n) { if(n<=1) return 1; else return n*silnia(n-1); }

Koniec