PASCAL FUNKCJE PREDEFINIOWANE

Podobne dokumenty
Wykład V PASCAL - operacje na znakach i łańcuchach; - dźwięk,

Pascal - grafika. Uruchomienie trybu graficznego. Moduł graph. Domyślny tryb graficzny

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

PASCAL WPROWADZENIE. 1. Uruchom kompilator. 2. Struktura programu w Pascalu. 3. Komentarze

Programowanie Delphi obliczenia, schematy blokowe

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

PASCAL Kompendium. Środowisko TURBO PASCAL Skróty klawiaturowe. Edycja kodu Pomoc spis treści. Skopiowanie zaznaczonego bloku do schowka

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

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne. TEMAT 8: Moduły standardowe

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};

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

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

Kurs Turbo Pascal 7.0

Kompendium wiedzy z Pascala

Pascal - wprowadzenie

Instrukcja standardowa Writeln

WIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis}

Programowanie w Turbo Pascal

Podstawy Programowania Wykład dwunasty: Modu ł crt i komunikacja z użytkownikiem

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne

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

lekcja 8a Gry komputerowe MasterMind

Podstawy programowania

Obsługa klawiszy specjalnych

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

Wprowadzenie do języka Pascal

Wprowadzenie do programowania w VBA

1. Wypisywanie danych

Programowanie w języku Python. Grażyna Koba

Lekcja 6: Pascal. Procedura i funkcja

Kod źródłowy programu: program Grafika1; uses crt, graph; (1) var sterownik, tryb:smallint; (2)

PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie

Podstawy programowania

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU. Instrukcja pętli For to do

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

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

Microsoft Small Basic

LibreOffice Calc VBA

Algorytmika i Programowanie VBA 1 - podstawy

Język programowania PASCAL

Programowanie w LOGO KOMENIUSZ grafika żółwia

Wstęp do programowania

JAVAScript w dokumentach HTML (1)

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Program automatycznej obsługi sklepu i supermarketu

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

Zastanawiałeś się może, dlaczego Twój współpracownik,

Co to jest arkusz kalkulacyjny?

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

1 Podstawy c++ w pigułce.

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

Metody numeryczne Laboratorium 2

Pliki. Operacje na plikach w Pascalu

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

Programowanie komputerowe. Zajęcia 1

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

I. Podstawy języka C powtórka

1 Powtórzenie wiadomości

Laboratorium z Grafiki InŜynierskiej CAD. Rozpoczęcie pracy z AutoCAD-em. Uruchomienie programu

Cw.12 JAVAScript w dokumentach HTML

Skróty klawiaturowe programu Turbo Pascal

Programowanie w języku Pascal

XVII. Funkcje w C Ogólna budowa funkcji Definicja funkcji Co waŝnego powinniśmy wiedzieć o funkcjach

Adres komórki-nazwa kolumny i nazwa wiersza, na przecięciu których znajduje się komórka. B3- adres aktywnej komórki

KURS PASCAL A. 1.Wprowadzenie

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

XII. Warunek wielokrotnego wyboru switch... case

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.

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

Praca z programem PLANS

Podstawy obsługi pakietu GNU octave.

Instrukcja warunkowa i wyboru

Struktury, unie, formatowanie, wskaźniki

Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych

Święta w ASCII Art Czym jest ASCII Art? ASCII-Art to sposób tworzenia bardzo prostych rysunków w programach komputerowych,

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Ćwiczenie 8 Kolory i znaki specjalne

Podstawy programowania

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Algorytmika i programowanie

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:

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

Wykład VII PASCAL - grafika;

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

INSTRUKCJA OBSŁUGI APLIKACJI HERMES sprawdzian i egzamin gimnazjalny. OKE Warszawa

Wykorzystanie programów komputerowych do obliczeń matematycznych, cz. 2/2

XV. Wskaźniki Odczytywanie adresu pamięci istniejących zmiennych Wskaźniki pierwsze spojrzenie.

Laboratorium Programowanie Obrabiarek CNC. Nr H7

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

Wstęp Arkusz kalkulacyjny Za co lubimy arkusze kalkulacyjne Excel

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

Programowanie w języku Pascal

instrukcja użytkownika terminala ARGOX PA-20 SYSTEMY AUTOMATYCZNEJ IDENTYFIKACJI

Transkrypt:

Informatyka I Laboratoria/Projekty Krzysztof Regulski AGH, WIMiIP PASCAL FUNKCJE PREDEFINIOWANE Zadanie 1: Przypominając sobie wiadomości z poprzedniej sekcji, napisz program, który pobiera od uŝytkownika jakąś liczbę, a następnie wyświetla na ekranie jej dwukrotność, poprzedzoną komunikatem: Mój program Cię zawstydził, podał dwukrotność Twojej liczby, jest nią: 1. Funkcja a procedura Funkcje w języku Pascal są to podprogramy, sekwencje instrukcji, które słuŝą do obliczenia pewnej wartości na podstawie dostarczonych parametrów. Wynikiem funkcji jest (prawie) zawsze jakaś wartość. Istnieją funkcje wbudowane (gotowe funkcje, które moŝna wywołać poprzez uŝycie ich nazwy), ale moŝna takŝe tworzyć własne funkcje. Procedury podobnie jak funkcje są sekwencją instrukcji, z tą róŝnicą, Ŝe ich działanie nie prowadzi do obliczenia wyniku, a do wykonania jakichś czynności. Przykład: funkcja moŝe obliczać pierwiastek podanej liczby, procedura moŝe np. czyścić ekran. 2. Jeszcze o typach danych. Na poszczególnych typach danych moŝna wykonywać właściwe im operacje. Warto zapamiętać jakie są między nimi róŝnice. Na poprzednich zajęciach poznałeś specyficzne dla typu integer działania: div oraz mod (dzielenie całkowitoliczbowe oraz reszta z dzielenia) Dla typów rzeczywistych (real oraz double) charakterystyczne jest dzielenie ( / ) Dla typów znakowych (string i char): length(s: String): Byte funkcja zwraca długość zmiennej typu string str(const N; Var S: String) procedura zamienia liczbę N na łańcuch znaków S val(const S: String; N; Var E: Integer) procedura zamienia łańcuch znaków S na liczbę N (jeśli nie było błędów: E=0) UpCase(Ch: Char): Char funkcja zwraca kod ASCII po zmianie małego znaku na wielki

chr(b: Byte): Char funkcja zwraca kod ASCII dla wskazanego znaku B Wszystkie wyŝej wymienione funkcje i procedury są wbudowane w Pascalu co znaczy, Ŝe są zapisane w module system, który nie wymaga deklaracji uŝycia. 3. Funkcja Chr Składnia: znak:=chr(liczba); znak:=#liczba; KaŜdy litera, cyfra czy inny znak (np. ramki) posiadają swój własny numer (dokładniej jest to liczba od 0 do 255) i jest odczytywany z tablicy kodów ASCII, np. znakowi 'A' odpowiada liczba 65, znakowi 'a' liczba 97, a znakowi '2' liczba 50. Aby moŝna było zamieniać liczbę na znak uŝywa się właśnie funkcji Chr, która zwraca znak typu CHAR np. Begin WriteLn(chr(70)); WriteLn(chr(43)); WriteLn(#43); WriteLn(chr(39)); End. Program wyświetli w kolejnych liniach znaki: 'F', '+', jeszcze jeden '+' (zamiast chr() moŝesz uŝywać znaczka #) i w ostatniej linii pojawi się nie dający się zwyczajnie wyświetlić znaku apostrofu. JeŜeli wstawimy po prostu apostrof np. w procedurze WriteLn to procedura uzna go za znak zaczynający lub kończący zmienną typu string, nie da się więc tak zrobić: WriteLn( 'Alfabet Morse'a' ); Pascal widzi tylko zmienną 'Alfabet Morse' i nie wie co dalej zrobić z resztą ( a' ) a poniewaŝ zmienne String moŝna łączyć ze zmiennymi Char, tak więc poprawna linijka wyglądała by tak: WriteLn( 'Alfabet Morse'+chr(39)+'a' ); lub tak: WriteLn( 'Alfabet Morse'+#39+'a' ); ewentualnie tak: WriteLn( 'Alfabet Morse',#39,'a' ); Niektóre kody są znakami sterującymi np. chr(13) odpowiada klawiszowi ENTER, chr(27) klawiszowi ESC, chr(8) klawiszowi BACKSPACE, a chr(7) odpowiada sygnałowi z głośniczka komputera, spróbuj coś takiego: Begin WriteLn(chr(7)); End.

4. Funkcja Ord Składnia: liczba:=ord(znak); Ta funkcja jest odwrotnością funkcji Chr, słuŝy do odczytania kodu ASCII podanego znaku np. ord('a')=65 ord('a')=97 ord('2')=50 5. Moduły (biblioteki) w języku Pascal. Wszystkie polecenia języka Pascal zostały uporządkowane w postaci grup zwanych modułami (lub bibliotekami, ang. units). Istnieje kilka standardowych modułów, które zostały dołączone do programu Pascal. Oprócz tego moŝna tworzyć własne moduły. Wśród modułów standardowych wyróŝniamy: System zawiera procedury standardowe języka, do których dostęp nie wymaga specjalnych zabiegów. Crt zawiera podstawowe procedury i funkcje odpowiadające za interakcję programu z uŝytkownikiem, czyli obsługę klawiatury i ekranu, oraz kilka innych przydatnych elementów. Najczęściej wykorzystywany. Dos zawiera procedury współpracujące z systemem operacyjnym. Graph zawiera procedury potrzebne do tworzenia grafiki. Pozostałe moduły standardowe noszą nazwy: Turbo3, Graph3, Printer i Overlay. Aby móc korzystać z procedur któregoś z modułów naleŝy zadeklarować jego uŝycie (nie dotyczy to modułu system, który jest automatycznie deklarowany przez Pascala). Moduł deklaruje się poprzez uŝycie słowa uses. Poczym naleŝy podać nazwę modułu lub modułów oddzielając je przecinkami. program uzycie_klawiatury; uses crt; var c: char; begin c:=readkey; writeln('wcisnąłeś klawisz ',c); readln; end. W programie wykorzystujemy funkcję readkey z modułu crt, która zwraca znak odczytany z klawiatury (róŝni się od readln tym, Ŝe zwraca znak (char), a nie string, a takŝe pozwala pobierać znaki bez ich wypisywania na ekranie) ZauwaŜ specyficzny sposób wywołania funkcji, inny niŝ w przypadku readln(string). Zmienna przyjmuje wartość znaku wprowadzonego z klawiatury.

6. Wybrane Procedury i Funkcje modułu CRT Readkey funkcja pobiera znak z klawiatury. ClrScr procedura czyści ekran i wyświetla kursor w lewym górnym rogu. Delay procedura powoduje opóźnienie o podaną liczbę milisekund. GotoXY procedura przesuwa kursor do podanej pozycji na ekranie. W nawiasie podajemy współrzędne ekranu (kolumna, wiersz) w jakich ma się znaleźć kursor. Standardowe okno ma wymiary 25x80. KeyPressed funkcja sprawdza czy został naciśnięty jakiś klawisz. TextBackground procedura ustawia kolor tła pod tekstem. TextColor procedura ustawia kolor tekstu. Kolory podajemy w postaci angielskich nazw kolorów lub liczb. Black 0 Czarny Blue 1 Niebieski Green 2 Zielony Cyan 3 Morski Red 4 Czerwony Magenta 5 Fioletowy Brown 6 Brązowy LightGray 7 Jasnoszary DarkGray 8 Ciemnoszary LightBlue 9 Jasnoniebieski LightGreen 10 Jasnozielony LightCyan 11 Jasnomorski LightRed 12 Jasnoczerwony LightMagenta 13 Jasnofioletowy Yellow 14 śółty White 15 Biały program uzycie_crt; uses crt; var c: char; begin clrscr; gotoxy (30,15); TextColor (Green); TextBackground (LightGray); WriteLn ('To dopiero napis!'); delay(2000); end. Zadanie 2: Napisz program, który pobiera z klawiatury znak, a następnie drukuje na ekranie jego wartość w kodzie ASCII

Zadanie 3: Napisz program, który pyta o imię uŝytkownika, a następnie podaje liczbę znaków w tym imieniu. Odpowiedź powinna być napisana w innym kolorze. ZauwaŜ, Ŝe do kolejnych znaków w łańcuchu moŝna się odwoływać podając w nawiasie indeks: program operacja_na_stringu; var s: string; begin write ('podaj imie: '); readln (s); writeln(s); writeln(s[1]); {tutaj odwołanie do pierwszego znaku} s[2]:='e'; {tutaj drugi znak zamieniamy na literę e} s:=s+'ek'; {tutaj następuje dodawanie ciągów znaków konkatenacja} writeln(s); readln; end. Zakładając, Ŝe uŝytkownik podał imię Michał, ostatecznie wynikiem będzie Mechałek 7. Wbudowane funkcje matematyczne Sin(A: Real): Real - sinus kąta A (w radianach) Cos(A: Real): Real - cosinus kąta A (w radianach) ArcTan(X: Real): Real - arcus tangens z X Sqrt(X: Real): Real - pierwiastek kwadratowy z X Sqr(X: Real): Real - kwadrat X Ln(X: Real): Real - logarytm naturalny z X Exp(X: Real): Real - wartość funkcji wykładniczej z X Int(X: Real): Real - część całkowita z X Frac(X: Real): Real - część ułamkowa z X Abs (X: Real): Real wartość bezwzględna z X Pi - wartość liczby π 8. Operacje na zmiennych: Inc(Var A [, B]) - zwiększa wartość zmiennej A o 1 lub o B Dec(Var A [, B]) - zmniejsza wartość zmiennej A o 1 lub o B Pred(X: TOrdinal): TOrdinal - element poprzedzający X (Pred(10) = 9) Succ(X: TOrdinal): TOrdinal - element następny po X (Succ('A') = 'B')

9. Zadanie 4. (za 1 punkt) Napisz program, który pyta uŝytkownika o dwie liczby rzeczywiste, po czym podnosi pierwszą do potęgi drugiej. Pytania powinny się pojawiać mniej więcej na środku ekranu, jedno po drugim w tej samej linii (po udzieleniu odpowiedzi znika pytanie i pojawia się następne). Odpowiedź powinna pojawić się w tym samym miejscu co pytania. Liczby powinny być wyświetlane w polu o szerokości 5, bez miejsc po przecinku. Zdanie informujące o wyniku powinno być napisane na zielono, a sam wynik na czerwono, na Ŝółtym tle. Wynik powinien być wyświetlony w polu o szerokości 10, bez miejsc po przecinku. Po udzieleniu odpowiedzi program powinien czekać na wciśnięcie dowolnego klawisza, po czym czyścić ekran i kończyć pracę. Podpowiedź: w Pascalu nie ma wbudowanej funkcji podnoszącej jedną liczbę do potęgi drugiej, naleŝy zatem skorzystać z funkcji wykładniczej (exp) oraz logarytmu naturalnego (ln) korzystając z takiej zaleŝności: A B = e ln( A B ) = e B ln A 10. Zadanie 5. (za 1 punkt) Napisz program, który zgaduje myśli uŝytkownika. Powinien zapytać o znak z klawiatury, bez wyświetlania go na ekranie, a następnie odczekać 1500ms i napisać poniŝsze komunikaty, przy czym przerwa pomiędzy nimi 1500 ms, kolor wyświetlanej litery Ŝółty, tekst zdania jasnoszary, wymieniana litera zamieniona na wielką literę: Znakiem, który wybrałeś nie {i tutaj podać element poprzedzający (pred)).} Nie jest nim nawet (i tutaj podać element następny (succ)). Przed ostatnim komunikatem program powinien wyczyścić ekran, odczekać 2000ms, Potem pada odpowiedź w kolorze czerwonym, a ostatnia, wynikowa litera powinna być wyświetlona na Ŝółtym tle: Znakiem tym jest li tylko: (tutaj odpowiedź)!!!