Andrzej Jędryczkowski - 2006. Nie da się napisać większego programu bez podziału go na części zwane podprogramami. Podprogram to wyróżniona część programu.

Slides:



Advertisements
Podobne prezentacje
Funkcje w PHP ABK.
Advertisements

Katarzyna Szafrańska kl. II ti
Sortowanie przez scalanie
Język C/C++ Funkcje.
PASCAL (3) dr Anna Kwiatkowska.
PROGRAMOWANIE STRUKTURALNE
PROGRAMOWANIE STRUKTURALNE
ZŁOŻONOŚĆ OBLICZENIOWA
Turbo pascal – instrukcje warunkowe, iteracyjne,…
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.
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
Podprogramy 1 W Adzie mamy dwa rodzaje podprogramów (subprograms, subroutines): funkcje (functions) i procedury (procedures) Deklaracja i treść funkcji 
Ogólne jednostki programowe 1
Tablice jednowymiarowe 1
Typy prywatne 1 Typy prywatne W Adzie typy prywatne (private types) służą do bezpiecznego udostępniania danych zdefiniowanych w pakiecie, z którego korzysta.
Typy wskaźnikowe ogólne 1 Typy wskaźnikowe ogólne (general access types) umożliwiają pośredni dostęp (indirect access), czyli przez wskaźniki, do zadeklarowanych.
Komunikacja z arkuszem. Iteracje. Funkcje.
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
Język PASCAL – podstawy Turbo Pascal: procedury, funkcje
Programowanie strukturalne i obiektowe
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
Turbo Pascal Turbo Pascal - jedna z popularniejszych implementacji kompilatorów języka PASCAL, zintegrowane srodowisko programistyczne, produkt firmy Borland.
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.
Procedury i funkcje.
Definicja pliku tekstowego Operacje wykonywane na plikach tekstowych
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
Instrukcje iteracyjne
A. Jędryczkowski – 2006 ©. Tablica to struktura danych zawierająca zbiór obiektów tego samego typu i odpowiada matematycznemu pojęciu wektora (tablica.
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 +
Konstrukcja i oprogramowanie
Informatyka MPDI2 Wykład 10 DELPHI cd. - zmienne tablicowe,
Programowanie proceduralne Podstawy Programowania dla geoinformatyków Wykład 3 Rafał Witkowski, 2015.
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Pętle – instrukcje powtórzeń
Pakiety numeryczne Skrypty, funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
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,
Czym jest PHP? ● Językiem programowania przeznaczonym do tworzenia i generowania dynamicznych stron WWW. Działa po stronie serwera: Klient Żądanie strony.
Zapis prezentacji:

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 komunikująca się z pozostałą jego częścią w ściśle określony sposób. Do komunikacji wykorzystywane są parametry. Podprogram może być wielokrotnie wywoływany z części głównej programu lub innych podprogramów.

Andrzej Jędryczkowski W języku Turbo Pascal istnieją dwa rodzaje podprogramów: proceduryprocedury funkcjefunkcje

Andrzej Jędryczkowski Ogólna postać procedury PROCEDURE nazwa_procedury(lista parametrów) {deklaracje stałych, zmiennych, typów – jak w programie} BEGIN {treść procedury – dowolne instrukcje} END; W procedurze nie musi występować lista parametrów

Andrzej Jędryczkowski PROGRAM tablice2; USES CRT; TYPE wektor= ARRAY[1..10] OF INTEGER; VAR i:INTEGER; tab1:wektor; tab1:wektor;BEGINCLRSCR;RANDOMIZE; FOR i:=1 TO 10 DO {wypełniamy tablicę wart. losowymi} tab1[i]:=RANDOM(100); tab1[i]:=RANDOM(100); FOR i:=1 TO 10 DO {wyświetlamy elementy tablicy} WRITE(tab1[i], ); WRITE(tab1[i], ); REPEAT UNTIL KEYPRESSED; END. Przypomnijmy program z poprzednich zajęć Da się w nim wyróżnić kilka bloków jak wypełnianie i wyświetlanie.

Andrzej Jędryczkowski Zrealizujmy program za pomocą procedur PROGRAM tablice2; USES CRT; TYPE wektor= ARRAY[1..10] OF INTEGER; VAR i:INTEGER; tab1:wektor; tab1:wektor; PROCEDURE wypelnij; BEGIN FOR i:=1 TO 10 DO {wypełniamy tablicę wart. losowymi} FOR i:=1 TO 10 DO {wypełniamy tablicę wart. losowymi} tab1[i]:=RANDOM(100); tab1[i]:=RANDOM(100);END; PROCEDURE wyswietl; BEGIN FOR i:=1 TO 10 DO {wyświetlamy elementy tablicy} WRITE(tab1[i], ); WRITE(tab1[i], );END;BEGINCLRSCR;RANDOMIZE;wypelnij;wyswietl; REPEAT UNTIL KEYPRESSED; END.

Andrzej Jędryczkowski Pozornie bardziej skomplikowany program staje się jednak czytelniejszy i znacznie bardziej elastyczny. Procedury możemy wywoływać wielokrotnie w trakcie wykonania programu. Raz zdefiniowaną procedurę możemy używać w innych swoich programach. Podczas testowania i poprawiania programu poprawiamy tylko tę procedurę, która tego wymaga, nie zawracając uwagi na inne części programu. Struktura programu staje się przejrzysta. WNIOSKI

Andrzej Jędryczkowski Ogólna postać funkcji FUNCTION nazwa_funkcji(lista parametrów):typ_wyniku {deklaracje stałych, zmiennych, typów – jak w programie} BEGIN {treść funkcji – dowolne instrukcje} nazwa_funkcji:=wynik; END; W funkcji nie musi występować lista parametrów. Musi nastąpić natomiast przypisanie wyniku na nazwę funkcji!!!

Andrzej Jędryczkowski Wywołanie funkcji wygląda nieco inaczej niż procedury. Wywołując funkcję w programie głównym bądź podprogramie można to zrobić np.. tak: WRITELN(nazwa_funkcji(parametry));zmienna:=nazwa_funkcji(parametry); Nie można natomiast wywoływać jej tak jak w przypadku procedury!!!

Andrzej Jędryczkowski

Parametry opisane w nagłówku procedury czy funkcji noszą miano parametrów formalnych. W momencie wywołania procedury czy funkcji parametry staja się parametrami aktualnymi. Istnieje dwa sposoby przekazania parametru do podprogramu: 1.przez wartość 2.przez adres (referencje)

Andrzej Jędryczkowski Przykłady Nagłówek procedury przyjmującej parametr przez wartość: PROCEDURE nazwa(parametr:TYP); W tym przypadku przekazywany parametr może być dowolnie zmieniany przez procedurę, ale po wyjściu z niej będzie miał taką samą wartość jak przed wywołaniem procedury!!!

Andrzej Jędryczkowski Przykłady Nagłówek procedury przyjmującej parametr przez adres (referencje): PROCEDURE nazwa( VAR parametr:TYP); W tym przypadku przekazywany parametr może być dowolnie zmieniany przez procedurę, ale po wyjściu z niej będzie miał taką wartość jaką nada mu procedura!!!

Andrzej Jędryczkowski Przykłady PROGRAM test1; USES CRT; VAR i:INTEGER; PROCEDURE zmien(c:INTEGER); BEGIN WRITELN(wartosc parametru po wejściu do proc.:,c); WRITELN(wartosc parametru po wejściu do proc.:,c); c:=c+5; c:=c+5; WRITELN(wartosc parametru po dzialaniu:,c); WRITELN(wartosc parametru po dzialaniu:,c);END;BEGINCLRSCR; WRITE(podaj wartosc i:);READLN(i); WRITELN(wartosc i przed wywolaniem procedury:,i); zmien(i); WRITELN(wartosc i po wyjsciu z procedury:,i); REPEAT UNTIL KEYPRESSED; END. Uruchom program i zapisz wyniki!!!

Andrzej Jędryczkowski Przykłady PROGRAM test1; USES CRT; VAR i:INTEGER; PROCEDURE zmien(VAR c:INTEGER); BEGIN WRITELN(wartosc parametru po wejściu do proc.:,c); WRITELN(wartosc parametru po wejściu do proc.:,c); c:=c+5; c:=c+5; WRITELN(wartosc parametru po dzialaniu:,c); WRITELN(wartosc parametru po dzialaniu:,c);END;BEGINCLRSCR; WRITE(podaj wartosc i:);READLN(i); WRITELN(wartosc i przed wywolaniem procedury:,i); zmien(i); WRITELN(wartosc i po wyjsciu z procedury:,i); REPEAT UNTIL KEYPRESSED; END. Zmień i uruchom program. Zapisz i porównaj wyniki!!!

Andrzej Jędryczkowski Ćwiczenia Napisz program, który stworzy tablicę, wypełni ją losowa zawartością oraz zrealizuje następujące funkcje: a)policzy sumę elementów; b)znajdzie element największy; c)znajdzie element największy. Wypełnianie, sumowanie i szukanie elementów maja być zrealizowane za pomocą procedur bądź funkcji.

Andrzej Jędryczkowski