Lekcja 6: Pascal. Procedura i funkcja

Podobne dokumenty
Procedury i funkcje. Przykład programu z procedurą. Definicja. Cechy procedury

Programowanie w Turbo Pascal

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

Podstawy programowania

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Język programowania PASCAL

Podprogramy. Procedury

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania

Informatyka 1. Procedury i funkcje, struktura programu w Pascalu

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

Podstawy Programowania C++

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

3. Podstawowe funkcje mamematyczne. ZAPOZNAĆ SIĘ!!!

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Podstawy informatyki I r.

Wrocław, dn. 19 kwietnia 2006 roku. Anna Kaleta Piotr Chojnacki IV rok, informatyka chemiczna Liceum Ogólnokształcące nr 10 we Wrocławiu

typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

1 Powtórzenie wiadomości

PROGRAMOWANIE W C++ ZADANIA

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Programowanie 3 - Funkcje, pliki i klasy

Programowanie komputerowe. Zajęcia 1

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

Algorytmy i struktury danych

Programowanie w C/C++ Instrukcje - konstrukcje powtórka. LABORKA Piotr Ciskowski

Zajęcia 4 procedury i funkcje

Programowanie 2 - Tablice i łańcuchy

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Podstawy Programowania Podstawowa składnia języka C++

lekcja 8a Gry komputerowe MasterMind

Informatyka 1. Przetwarzanie tekstów

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Programowanie w języku Java

PLIKI TEKSTOWE F C E 30 0D 0A 42 6F 72 6C 61 6E 64 1A T U R B O _ P A S C A L _ 7. 0

Podstawy programowania skrót z wykładów:

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

Ćwiczenia podstawowe, zestaw 5, część 1

Zestaw 2 Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.cpp)!!!

Podstawy programowania

Laboratorium 10: Maszyna stanów

Podstawy programowania

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Język C, tablice i funkcje (laboratorium)

Procedury i funkcje - powtórzenie i uzupełnienia. Przykład funkcji potęgowanie przy wykładniku naturalnym

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Microsoft IT Academy kurs programowania

Wykład 2 Składnia języka C# (cz. 1)

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Metody Metody, parametry, zwracanie wartości

Zasady Programowania Strukturalnego

Zakres wykładu INFORMATYKA. dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania 2. Temat: Wprowadzenie do wskaźników. Przygotował: mgr inż. Tomasz Michno

2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie.

Jerzy Nawrocki, Wprowadzenie do informatyki

Tablice. TYPE identyfikator tablicy = ARRAY [Indeksl,..., Indeksn] OF Typ; Dany identyfikator_ tablicy można wykorzystać w deklaracji VAR:

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Język C, tablice i funkcje (laboratorium, EE1-DI)

Programowanie - wykład 4

Napisz program, który dla podanej na standardowym wejściu temperatury w stopniach Fahrenheita wypisze temperaturę w stopniach Celsjusza.

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Programowanie w języku Java

KURS PASCAL A. 1.Wprowadzenie

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 6. Karol Tarnowski A-1 p.

Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2

Laboratorium kryptograficzne dla licealistów 2

Informatyka 1. Dokumentacja programu, moduły programowe, typy tablicowe

Wstęp do informatyki- wykład 11 Funkcje

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

Wstęp do informatyki- wykład 9 Funkcje

Pliki. Ze względu na typ zawartych w nich danych rozróżnia się trzy podstawowe rodzaje plików:

Palindromy. Przykładowe rozwiązanie

if (wyrażenie ) instrukcja

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

Laboratorium nr 1. i 2.

Programowanie, algorytmy i struktury danych

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Funkcje i instrukcje języka JavaScript

Warsztaty dla nauczycieli

Jerzy Nawrocki, Wprowadzenie do informatyki

Wykład VI PASCAL procedury i funkcje przekazywanie parametrów,

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Zmienne, stałe i operatory

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Wstęp do programowania

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Programowanie w języku Python. Grażyna Koba

Funkcje są prawdopodobnie najważniejszą częścią każdego poważnego programu (w każdym języku programowania).

Przykład programu Rozwiązanie równania postaci:

Kurs Pascala LO Biecz 2010/2011. Kurs Pascala oparty na zadaniach i problemach z lekcji Informatyki.

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Transkrypt:

Lekcja 6: Pascal. Procedura i funkcja S. Hoa Nguyen 1 Materiał Książka: Programowanie w języku Pascal. Rozdział 9. Podprogramy Podprogramy - motywacja Skrócenie zapisu (wielokrotne powtórzenia tej samej sekwencji instrukcji), Lepsze wykorzystanie pamięci operacyjnej (zmienne lokalne), Ułatwienie i przyśpieszenie projektowania programu (dekompozycja), Czytelność programu i łatwość modyfikacji. 2 Procedura i funkcja Definicja procedur i funkcji: PROGRAM nazwa; uses {deklaracja bibliotek} var {deklaracja zmiennych globalnych}; {nagłówek procedury} PROCEDURE NazwaProcedury(parametr1:typ1; parametr2:typ2); var {deklaracja zmiennych lokalnych} {początek procedury} I1; I2; {nagłówek funkcji} FUNCTION NazwaFunkcji(parametr1:typ1; parametr2:typ2): typ_funkcji; var {deklaracja zmiennych lokalnych}; {początek funkcji} I1; I2; NazwaFunkcji:= wyrażenie; 1

{Program główny}... {wywołanie procedury} NazwaProcedury(parametr1, parametr2); {wywołanie funkcji} wynik := NazwaFunkcji(parametr1, parametr2); Przykład 1 (Kopij linię) program Kopiuj; PROCEDURE KopujLinie; var z: char; while not eoln do read(z); write(z); readln; KopujLinie; readln; Przykład 2 (Silnia) program obliczenie_silni; FUNCTION Silnia(n: integer): LongInt; if (n <= 1) then Silnia:= 1 else Silnia := n * Silnia(n-1); Writeln(silnia(5)); readln; 2

Rysunek 1: Parametr formalny i aktualny Przekazanie parametrów Przykład 3 (Przekazanie parametrów) program PrzekazanieParametrow; var tmp : string; PROCEDURE WczytajNapis(var s : string); WriteLn( Prosze podac napis ); ReadLn(s); PROCEDURE WczytajNapisBezVar(s : string); WriteLn( Prosze podac napis ); ReadLn(s); tmp := Ala ma kota ; WczytajNapisBezVar(tmp); {tmp zostało zmienione w procedurze} WriteLn(tmp); {tmp dalej ma wartość Ala ma kota pomimo zmian wewnątrz procedury} 3

WczytajNapis(tmp); WriteLn(tmp); {Teraz tmp będzie takie jakie wczytano z klawiatury} Zmienne używane z procedurze i funkcji Rysunek 2: Zmienne globalne i lokalne 3 Zadania Zadanie 1 (Średnia arytmetyczna). Napisz funkcję, która znajduje ile liczb w tablicy liczb rzeczywistych T jest większych od średniej arytmetycznej wszystkich liczb z tej tablicy. A=[1,2,3,4,5,6] Średnia: 3.5 Liczba większa od średniej: 3 Zadanie 2 (Szyfr Cezara). Szyfr Cezara jest najstarszą metodą szyfrowania, która polega na zastępowaniu litery, znakiem znajdującym się n miejsca dalej w alfabecie. Napisz procedurę SzyfrCezara z parametrem n, która zamieni każdą literę lub cyfrę w podanym tekście literą lub cyfrą o n pozycji dalej w kodzie ASCII. Jeśli litera jest mała, to zastępuje ją małą literą, a jeśli litera jest drukowana, to zastępuje go dużą literą. Wywołać funkcję dla n = 3. ABcde56789 4

DEfgh89012 Zadanie 2.1 (Deszyfracja do kodu Cezara). Napisz procedurę Deszyf- Cezara z parametrem n do odkodowania szyfr Cezara. Wywołać funkcję dla n = 3. Zadanie 3 (Zamiana systemu dziesiętnego na trójkowy). Napisać procedurę, która zamieni liczbę z systemu dziesiętnego na trójkowy i sprawdzi czy prezentacja trójkowa jest palindromem. Zadanie 4 (Zamiana systemu trókowego na dziesiętny). Napisać procedurę, która zamieni liczbę z systemu trójowego na dziesiętny. Zadanie 5 (Dodawanie w systemie trójkowym). Napisać procedurę Suma, która wczytuje dwie liczby całkowite dodatnie zapisane w systemie trókowym zwraca ich sumę (w prezentacji trójkowej). 10120 1002110 1020000 Zadanie 6 (Transponowanie macierzy). Napisz procedurę, która transponuje macierz n na n liczb rzeczywistych. Zadanie 7 (Najdłuższy podciąg rosnący). Dany jest ciąg liczb całkowitych. Napisać funkcję, która zwraca długość najdłuższego podciągu niemalejącego. 3433211234521 Długość najdluższego ciągu rosnącego: 5 Zadanie 8 (Zliczanie dużych liter). Napisz funkcję, która dla podanego tekstu (zakłada się, że tekst kończy się znakiem koniec linii - eoln), zwraca w formie tablicy liczbę wystąpień każdej z dużych liter. ALA MA KOTA A:4 K:1 L:1 M:1 O:1 T:1 5

4 Praca domowa Zadanie 9 (Zliczanie znaków). Modyfikować procedurę w zadaniu 8, żeby otrzymać funkcję, która dla podanego tekstu (zakłada się, że tekst kończy się znakiem koniec linii - eoln), zwraca w formie tablicy liczbę wystąpień każdej z dużych, małych liter i cyfr. Zadanie 10 (Minimalny fragment). Napisz procedurę, która dla danej tablicy n liczb całkowitych znajdzie liczby 1 p 1 p 2 n takie, żeby p 2 p 1 było najmniejsze oraz po uporządkowaniu fragmentu tablicy pomiędzy p 1 a p 2 cała tablica była uporządkowana niemalejąco. Rozwiązania o złożoności powyżej O(n) będą znacznie niżej oceniane. 1234533678 p1 = 4 p2 = 7 6