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

Podobne dokumenty
Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Pascal - wprowadzenie

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

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}

Instrukcja standardowa Writeln

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

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

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

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

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

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Elementy języków programowania

C++ wprowadzanie zmiennych

Programowanie w Turbo Pascal

Podstawy programowania

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

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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

Algorytmy i struktury danych

Wstęp do programowania

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

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

ForPascal Interpreter języka Pascal

PASCAL FUNKCJE PREDEFINIOWANE

Podstawy programowania

Lekcja 6: Pascal. Procedura i funkcja

Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Wprowadzenie do języka Pascal

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

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

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

Zasady Programowania Strukturalnego

Język programowania PASCAL

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

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

Programowanie w języku Python. Grażyna Koba

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

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

Algorytmy i struktury danych

PLIKI. Składnia deklaracji zmiennej plikowej: file of <typ>

Warsztaty dla nauczycieli

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

lekcja 8a Gry komputerowe MasterMind

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Podstawy programowania

Języki Programowania. Elementy języków programowania. Wojciech Sobieski

LibreOffice Calc VBA

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

Skróty klawiaturowe programu Turbo Pascal

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

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Wstęp do programowania. Różne różności

Obliczenia, zmienne. Proste działania, zmienne, rodzaje zmiennych, proste operacje i działania na zmiennych.

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

Wykład PASCAL - Pliki tekstowe

Interpreter - EasyCompile

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

1. Wypisywanie danych

Instrukcja warunkowa i złoŝona.

1 Podstawy c++ w pigułce.

Zmienne, stałe i operatory

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

Programowanie komputerowe. Zajęcia 1

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

Programowanie Delphi obliczenia, schematy blokowe

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

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

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

Podprogramy. Procedury

Podstawy programowania

Powtórka algorytmów. Wprowadzenie do języka Java.

Informatyka 1. Przetwarzanie tekstów

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

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

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

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Zadanie analizy leksykalnej

PODSTAWOWE WIADOMOSCI O JĘZYKU TURBO PASCAL

Algorytmika i Programowanie VBA 1 - podstawy

Wprowadzenie komentarzy do programu

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Podstawy Programowania C++

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

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

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel

Część 4 życie programu

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

Podstawy JavaScript ćwiczenia

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

Podstawy i języki programowania

11. PROFESJONALNE ZABEZPIECZENIE HASŁEM

1 Podstawy c++ w pigułce.

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym

Stałe i zmienne znakowe. Stała znakowa: znak

Programowania w Javie

Analiza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Transkrypt:

Informatyka I Laboratoria/Projekty Krzysztof Regulski AGH, WIMiIP PASCAL WPROWADZENIE 1. Uruchom kompilator Stwórz nowy plik, a w nim napisz: program hello; writeln( Witaj Pascalu! ); 2. Struktura programu w Pascalu. W strukturze programu w Pascalu wyróŝniamy trzy elementy: Nagłówek programu program hello; Blok deklaracji pomiędzy nagłówkiem a słowem kluczowym zawiera deklaracje stałych, zmiennych, typów i funkcji 3. Komentarze Blok instrukcji (operacyjny)... End Kropka kończąca program WaŜnym elementem kaŝdego programu są komentarze. Nie wpływają one na działanie programu, ale ich stosowanie juŝ nawet w niewielkich projektach jest niezbędne. Zwiększają one czytelność programu i informują o co chodzi w kodzie. Komentarzem jest fragment programu objęty parą nawiasów { } lub parą dwuznaków (* *). Komentarz jest ignorowany przez kompilator, który traktuje go jak odstęp. PoniŜszy przykład ilustruje uŝycie komentarzy, które szczegółowo wyjaśniają strukturę programu. (*-----------------------------------------------------) Szkielet struktury programu (-----------------------------------------------------*) Program moj_naglowek1; { Część deklaracyjna - miejsce na następujące deklaracje i definicje: label - etykiet, const - stałych, type - typów, - zmiennych, function - funkcji oraz procedure - procedur. } { Część operacyjna - miejsce na instrukcje }

Czy powyŝszy kod jest poprawnym programem? Jak to sprawdzić? Zwróć uwagę na wcięcia w kodzie, odtąd zawsze je stosuj! 4. Instrukcje wyjścia Instrukcja write() słuŝy do wyprowadzania napisów na standardowe wyjście programu czyli do wypisywania na ekranie. Instrukcja writeln() równieŝ wypisuje na ekranie, ale na końcu napisu przechodzi do nowej linii (dodaje znak końca linii). program write1; write('twoje Imię i Nazwisko. '); write('twoja Grupa, Numer Indeksu. '); Zmień poprzedni program na: program writeln1; writeln('twoje Imię i Nazwisko. '); writeln('twoja Grupa, Numer Indeksu. '); Czym się róŝnią? program oblicz1; writeln(10/3); Napisz program i przeanalizuj jego działanie: program stale_i_zmienne1; Const {początek bloku deklaracji stałych} jakas_stala=999; {jakas_stala identyfikator stałej} Var {początek bloku deklaracji zmiennych} jakas_zmienna:integer; {integer typ zmiennej} jakas_zmienna:=448; {instrukcja przypisania} Write( Liczba 123: ); Writeln(123); Writeln( Wynik z 4*8 to:,4*8); Writeln(); Write(jakas_stala, ); Write(jakas_zmienna); Writeln(jakas_zmienna+12); Writeln(3/4);

program formatowanie1; writeln(10/3 :1:2); {w nawiasie pojawił się zapis :1:2 oznaczający formatowanie szerokości pola do 1, oraz dwóch miejsc po kropce} Program formatowanie2; writeln(' ' :2000); writeln(10/3 :20:2); writeln('+',1000/3 :19:2); {ta linia czyści ekran} {piszemy pierwszą linię obliczeń} {druga linia obliczeń} {kreska pod obliczeniami} writeln('------------' :20); writeln('suma: ',10/3+1000/3 :14:2); {linia z wynikiem} 5. Stałe Stałe określają pewne z góry zadeklarowane wartości, którymi mogą być ciągi znaków (tzw. literały łańcuchowe np. 'Pascal', czy liczbowe np. 1234). Stałe sprawiają, Ŝe program staje się czytelniejszy. MoŜna uŝywać ich wielokrotnie, a ewentualna zmiana stałej wymaga poprawienia kodu tylko w jednym miejscu. Stała symboliczna jest więc niczym innym, jak identyfikatorem przypisanym do pewnej wartości na podobnej zasadzie jak litera π przypisana jest do wartości 3,141592... Stałe symboliczne definiuje się w części opisowej programu po słowie kluczowym const. Program const_demo; Const marg = ' '; linia = '+-----------------------+'; tytul = ' Program DEMO stałych '; BEGIN writeln(' ' :2000); {ta linia czyści ekran} writeln(marg, linia); writeln(marg, tytul); writeln(marg, linia); END. ZauwaŜ, Ŝe do regulacji odsunięcia ramki od prawej krawędzi zdefiniowano i uŝyto stałej o nazwie marg, która zawiera same spacje. Teraz, Ŝeby zmienić odsunięcie wystarczy przedefiniować stałą marg i przekompilować program. Gdyby nie uŝyto tu stałej, to taka korekcja programu wymagałaby dokonania zmian wszędzie tam, gdzie uŝyta jest ta stała czyli aŝ w trzech miejscach. Zatem zastosowanie stałej sprawiło, Ŝe program moŝna szybciej zmodyfikować unikając przy tym błędów.

WaŜna uwaga stałe są tylko innymi nazwami literałów lub wyraŝeń stałych i nie moŝna im w treści programu nadawać nowych wartości. Zatem umieszczenie gdzieś w programie instrukcji np tytul:=' Nowy tytuł ' będzie błędem. Rada: stosuj stałe. Zawsze, gdy musisz uŝyć jakiegoś literału (liczbowego czy tekstowego) rozwaŝ uŝycie w tym miejscu stałej. Zadanie 1: Napisz program wypisujący na ekranie: 6. Zmienne [twoje login] niech Ŝyje!!! [twoje login] Hip hip hurra!!! [twoje login] Hip hip hurra!!! [twoje login] Hip hip hurra!!! Zamień teraz swój login na imię i nazwisko. Jeśli skończyłeś, zawołaj mnie i poproś o punkcik. Zmienna to takie pudełko w pamięci komputera, w którym moŝna przechowywać pewne wartości podczas wykonywania programu. Aby moŝna było skorzystać ze zmiennej, naleŝy ją zadeklarować w bloku deklaracyjnym programu: program p1; a: integer; {integer to typ zmiennej, liczba całkowita} b, tmp: integer; Do zmiennych moŝemy wrzucać tylko wartości zgodne z zadeklarowanym typem danych: o TYPY CAŁKOWITE - są to wartości liczbowe, które mieszczą się w podanych zakresach, im większy zakres to automatycznie zwiększa się zapotrzebowanie liczby na pamięć, podaję więc równieŝ ile bajtów dany typ liczby zajmuje w pamięci: SHORTINT (-128..127) 1 bajt INTEGER (-32768..32767} 2 bajty LONGINT {-2147483648..2147483647} 4 bajty BYTE {0..255} 1 bajt WORD {0..65535} 2 bajty o w działaniach na liczbach całkowitych nie moŝna uŝywać operatora dzielenia "/". W zastępstwie uŝywa się operatora "div" oraz "mod". Ten drugi jest szczególnie przydatny przy sprawdzaniu podzielności jednej liczby przez drugą (jeśli a mod b=0 to b jest dzielnikiem liczby a). o TYPY RZECZYWISTE (czyli te, które mogą być ułamkami) - uniwersalnym i w zupełności wystarczającym do większości zadań

jest typ REAL. Na zmiennych rzeczywistych moŝna wykonywać dzielenie operatorem "/", natomiast operatorami "div" i "mod" - nie moŝna. o TYP LOGICZNY - BOOLEAN - typ ten moŝe przyjmować jedynie dwie wartości: TRUE (prawda) lub FALSE (fałsz) dzięki temu zajmuje on jedynie 1/8 bajta o TYP ZNAKOWY - CHAR - typ ten przyjmuje dowolny pojedynczy znak o kodach ASCII (0..255) np. znak "A" czy "!" o TYP ŁAŃCUCHOWY - STRING - jest to ciąg o długości 0-255 znaków, przykładowym łańcuchem jest: 'To jest tekst', zwróć uwagę na uŝyte apostrofy. JeŜeli jakiekolwiek znaki umieścisz pomiędzy apostrofami będzie to uznawane wtedy za tekst nawet jeŝeli znajdować się tam będą w środku liczby. UŜycie zmiennej: ze zmienną moŝna zrobić dwie rzeczy: zapisać coś do niej lub odczytać. Do nadawania zmiennym wartości słuŝy Instrukcja przypisania. W naszym programie wygląda ona tak program p1; a, b, tmp: integer; a:= 198; b:= 12; Zapamiętaj, kaŝdy wpis do zmiennej kasuje jej poprzednią zawartość. Aby zamienić zawartość zmiennych a i b między sobą potrzebna zatem będzie trzecia zmienna, w której na chwilę przechowamy jedną wartość. (Wyobraź sobie, Ŝe trzymasz w kaŝdej ręce tom encyklopedii, jeśli chcesz je zamienić ze sobą, musisz odłoŝyć na chwilę jedną z nich na stół, dopiero potem przełoŝyć tom z ręki do ręki, a na końcu podnieść pozostały ten stół to nasza trzecia zmienna tmp). Zamiana wartości zmiennych: program p1; a, b, tmp: integer; a:= 198; b:= 12; writeln( Zmienna a=,a, ; Zmienna b=,b, ; tmp=,tmp); {zauwaŝ, Ŝe wywołując zmienną nie stosujesz apostrofów} tmp:=a; a:=b; b:=tmp; writeln( Zmienna a=,a, ; Zmienna b=,b, ; tmp=,tmp);

7. Instrukcja readln wprowadzanie wartości z klawiatury Aby program wykorzystał zmienną, której wartość pochodzi od uŝytkownika, naleŝy zastosować instrukcję readln, która podobnie jak read, pozwala wprowadzić do zmiennej wartość podawaną z klawiatury w czasie działania programu, z tym, Ŝe po przyjęciu wartości program przechodzi do następnej linii. JeŜeli natomiast wywołamy tą procedurę bez Ŝadnych parametrów to program czeka w tym momencie na wciśniecie klawisza Enter. W przypadku wprowadzania zmiennych trzeba uwaŝać aby wprowadzana wartość była zgodna z zadeklarowanym typem danych. Wypróbuj program: Program przywitanie_policz; imie: string; c:real; write( 'Podaj swoje imię : ' ); readln( imie ); write( 'Podaj liczbę, jaką chcesz podnieść do kwadratu : ' ); readln( c ); writeln('witaj ', imie,! Liczba,c, podniesiona do kwadratu wynosi:,c*c); readln; Zadanie 2: Zmodyfikuj program tak, aby o na początku program czyścił ekran, o liczby wyświetlały się bez miejsc po przecinku, o program dodatkowo obliczał dwukrotność podanej liczby, a wynik podawał z odpowiednim komunikatem w następnej linii, o na końcu działania program podawał komunikat: Wduś Enter aby zakończyć. o Następnie zawołaj mnie i zaprezentuj działanie programu, jeśli chciałbyś otrzymać punkt. 8. Zadania (za kaŝde moŝna otrzymać 1 punkt) Zadanie 3: Napisz program, który prosi uŝytkownika o podanie Imienia, Nazwiska i adresu, a następnie drukuje 2 wizytówki w ramce, jedna pod drugą mniej więcej na środku ekranu (środek wysokości i szerokości ekranu) i czeka na wciśniecie dowolnego klawisza. Wynik powinien wyglądać mniej więcej tak: Imie Nazwisko ul. Nazwa Ulicy 58/4C Imie Nazwisko ul. Nazwa Ulicy 58/4C

Zadanie 4: Napisz program, który wydrukuje na ekranie wynik działania: 1 oraz iloczyn sum 2+3 i 4+5 2 3 Zadanie 5: Napisz program wypisujący wynik zwykłego i całkowitoliczbowego dzielenia podanej przez uŝytkownika liczby przez liczbę 3, oraz resztę z tego dzielenia (div i mod). Instrukcje wypisujące wyniki powinny wyprowadzać równieŝ informacje o działaniach.