Instrukcja standardowa Writeln



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

Wprowadzenie komentarzy do programu

Podprogramy. Procedury

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

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Odczyt danych z klawiatury Operatory w Javie

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

Pascal - wprowadzenie

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

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

1 Podstawy c++ w pigułce.

C++ wprowadzanie zmiennych

Programowanie Delphi obliczenia, schematy blokowe

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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}

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

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

Programowanie w Turbo Pascal

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

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

Warsztaty dla nauczycieli

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

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

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

Podstawy programowania

TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF).

1 Podstawy c++ w pigułce.

WYRAŻENIA ALGEBRAICZNE

Wstęp do programowania

Turbo Pascal. Zadania z programowania z przykładowymi rozwiązaniami

Programowanie komputerowe. Zajęcia 1

Algorytmy i struktury danych. Wykład 4

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

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Programowanie w języku Python. Grażyna Koba

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

Instrukcja warunkowa i złoŝona.

2 Przygotował: mgr inż. Maciej Lasota

Algorytmika i Programowanie VBA 1 - podstawy

Pliki. Operacje na plikach w Pascalu

Cw.12 JAVAScript w dokumentach HTML

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

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

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

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

3. Instrukcje warunkowe

ForPascal Interpreter języka Pascal

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych

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

4. Funkcje. Przykłady

Visual Basic for Application (VBA)

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

WYMAGANIA NA POSZCZEGÓLNE OCENY MATEMATYKA KL.VII

Liczby. Wymagania programowe kl. VII. Dział

Wymagania edukacyjne z matematyki w klasie VII szkoły podstawowej

LibreOffice Calc VBA

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

Proste programy w C++ zadania

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

Język ludzki kod maszynowy

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

JAVAScript w dokumentach HTML (1)

Podstawy i języki programowania

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

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA VII

Kiedy i czy konieczne?

Struktura pliku projektu Console Application

Matematyka z kluczem. Szkoła podstawowa nr 18 w Sosnowcu. Przedmiotowe zasady oceniania klasa 7

Podstawy Programowania C++

INFORMATYKA Studia Niestacjonarne Elektrotechnika

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

Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012

Funkcje. Deklaracja funkcji. Definicja funkcji. Wykorzystanie funkcji w programie.

Obliczenia inżynierskie arkusz kalkulacyjny. Technologie informacyjne

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Wprowadzenie do języka Pascal

Struktury, unie, formatowanie, wskaźniki

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?

Informatyka II. Laboratorium Aplikacja okienkowa

Podstawowe typy zmiennych

Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!

Metody numeryczne Laboratorium 2

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

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

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

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

Programowanie strukturalne i obiektowe. Funkcje

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

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

Visual Basic for Application (VBA)

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Transkrypt:

Instrukcja standardowa Writeln Instrukcja Writeln umożliwia wprowadzenie danych na ekran monitora powodując automatycznie późniejsze przejście kursora do nowej linii. Jest to ustawienie domyślne w działaniu tej instrukcji, podobnie jak w instrukcji Write. Postać instrukcji standardowej Writeln jest następująca: Writeln (lista argumentów), gdzie lista argumentów może być ciągiem znaków stałych, zmiennych lub wyrażeń oddzielonych przecinkami. Zasada działania instrukcji Writeln jest więc bardzo podobna do działania instrukcji Write. Poniżej przedstawiono przykładowy zapis instrukcji: Writeln (' KOMPUTER ); Po wykonaniu instrukcji otrzymujemy na ekranie napis KOMPUTER", a kursor przechodzi do następnego wiersza. Instrukcję Writeln stosujemy, gdy chcemy wyświetlić dane ciągi znaków w kilku wierszach. Napisać program wyświetlający napis: ZAGRANICZNA FIRMA HANDLOWA EURO - 2000 Program nosi nazwę Firma". Zapisać go na wybranym dysku w pliku o nazwie firma.pas. Poniżej został przedstawiony cały program. PROGRAM Firma; Writeln (' ZAGRANICZNA FIRMA HANDLOWA '); Write (' EURO-2000 ') Napisać program wyświetlający napis: ZAGRANICZNA FIRMA PRODUKCYJNO - HANDLOWA EUROPA - 2000 WARSZAWA UL. ZGODY 20 Program nosi nazwę Europa_2000". Zapisać go w pliku o nazwie euro.pas. Przy uruchamianiu kolejnych programów i w trakcie podglądu wyników ich działania na ekranie monitora mamy zawsze wyświetlane wyniki działania poprzednich programów. Powoduje to zmniejszenie przejrzystości wyświetlanych aktualnych wyników. Na ekranie monitora bardzo często chcemy mieć tylko wynik działania aktualnie uruchamianego programu. W tym celu musimy zastosować w programie instrukcję standardową ClrScr. Powoduje ona skasowanie z ekranu wyników działania poprzednio uruchamianych programów. Instrukcja standardowa ClrScr Instrukcja ClrScr, aby spełniła swoją rolę, musi wystąpić w programie zaraz w następnym wierszu po słowie kluczowym otwierającym blok wykonawczy. Ponieważ nasza funkcja współpracuje w sposób specjalny z klawiaturą, w programie musi być zastosowana w bloku deklaracji modułów biblioteka (zbiór danych) o nazwie Crt, odpowiedzialna za obsługę klawiatury i ekranu. Do deklaracji modułów służy słowo kluczowe USES. Poniżej przedstawiono sposób deklaracji modułu biblioteki Crt oraz umiejscowienie instrukcji ClrScr.

Odczytać z dysku plik o nazwie firma.pas. Wprowadzić do programu słowo kluczowe USES (deklaracja modułów) wraz z biblioteką Crt oraz instrukcję ClrScr. Zmienić nazwę programu na Firma_1". Zapisać zmodyfikowany program na dysku w pliku o nazwie firma _1.pas. Uruchomić program Turbo Pascal. Odczytać z dyskietki plik o nazwie firma.pas. Dokonać modyfikacji programu zgodnie z poleceniami zawartymi w treści ćwiczenia: wprowadzić do programu słowo kluczowe USES (deklaracja modułów) wraz z biblioteką Crt oraz instrukcję ClrScr. Postać programu po modyfikacji została przedstawiona poniżej: PROGRAM Firma_l; Writeln (' ZAGRANICZNA FIRMA HANDLOWA»); Writeln (' EURO - 2000 ') Odczytać z dysku plik o nazwie euro.pas. Wprowadzić do programu słowo kluczowe USES (deklaracja modułów) wraz z biblioteką Crt oraz instrukcję ClrScr. Zmienić nazwę programu na Euro_1". Zapisać zmodyfikowany program na dysku w pliku nazwie euro_1.pas. Podstawowe operacje arytmetyczne Liczba w Turbo Pascalu, w zależności od sposobu jej zapisu w instrukcji Write (Writeln), może być traktowana dwojako, tj. jako znak lub wartość liczbowa. Write ('2+2') - liczba traktowana jako znak. W wyniku zadziałania tej instrukcji otrzymamy napis 2+2". Write (2+2) - liczba traktowana jako wartość liczbowa. W wyniku zadziałania tej instrukcji otrzymamy wynik dodawania, czyli 4. Aby wyświetlana na ekranie liczba nie była znakiem lecz określoną wartością liczbową, musimy oczywiście użyć odpowiedniego zapisu instrukcji Write (Writeln). W zapisie nie zamykamy liczby w znakach apostrofu ('). Jeśli wprowadzamy liczbę zawierającą części dziesiętne, to oddzielamy je kropką (.) od części całkowitej (np. 12.24). Jeśli wprowadzamy liczbę ujemną, to należy oczywiście poprzedzić ją znakiem minus (np. -5.8). Z powyższego wynika, że jeśli w programie arytmetyczne działanie na liczbach zostanie przedstawione w zapisie instrukcji Write (Writeln) np. w postaci: Write (3+5); to po jego uruchomieniu otrzymamy wynik tego wyrażenia, czyli wartość 8. Operacje mnożenia, dzielenia, potęgowania, DIV" i MOD" mają taki sam priorytet, jeśli chodzi o kolejność wykonywania działań. Działania dodawania i odejmowania są równe, ale mają niższy priorytet niż pozostałe działania. Przy jednakowych priorytetach działania wykonywane są od strony lewej do prawej. Nawiasy mają, niezależnie od występujących działań, najwyższe priorytety. Poniżej przedstawione zostały operatory i ich działanie. Tabela 4. Podstawowe operacje arytmetyczne Operatory Działanie + ( znak plus ) dodawanie - ( znak minus ) odejmowanie Operatory Działanie * (gwiazdka) mnożenie

/ ( slash ) dzielenie SQRT pierwiastek kwadratowy DIV dzielenie całkowite bez reszty MOD (modulo) reszta z całkowitego dzielenia Osobnego wyjaśnienia wymagają operatory DIV i MOD. Przykładowo, przy dzieleniu liczb 37:11 (oba operatory mogą wystąpić tylko przy operacji dzielenia) otrzymamy w wyniku 3 oraz resztę 4. Operator DIV umożliwia uzyskanie całkowitej wartości liczbowej z wyniku dzielenia, reszta zaś jest odrzucana. Jeśli chcemy na przykład uzyskać tylko całkowitą wartość liczbową (3) z dzielenia 37:11, musimy użyć operatora DIV. Zapis działania z użyciem operatora DIV ma postać: 37 DIV 11 i w jego wyniku otrzymamy tylko całkowitą wartość liczbową w postaci właśnie liczby 3. Operator MOD (modulo) umożliwia uzyskanie tylko wartości reszty z wyniku dzielenia, zaś całkowita wartość liczbowa jest odrzucana. Jeśli chcemy na przykład uzyskać tylko wartość reszty (4) z dzielenia 37:11, musimy użyć operatora MOD. Zapis działania z użyciem operatora MOD ma postać: 37 MOD 11. W jego wyniku otrzymamy właśnie tylko resztę z dzielenia, tj. 4. W programach wyświetlając dowolną liczbę otrzymujemy jej wynik w postaci notacji naukowej. Rysunek 9. Liczba -3.5 w notacji naukowej Wyświetlając na przykład liczbę -3.5 otrzymujemy jej zapis (rysunek 9.) w notacji naukowej (-3 i 10 miejsc po kropce dziesiętnej razy E+00, czyli 10 do potęgi 00). W następnym rozdziale poznamy sposoby przedstawiania wyników liczbowych w postaci przejrzystej, tj. sformatowanej, czyli z określoną liczbą miejsc przed i po kropce dziesiętnej. Formatowanie liczb Funkcje Write i Writeln umożliwiają przedstawianie liczb w postaci sformatowanej, tj. z określoną liczbą miejsc przed i po kropce dziesiętnej. Aby uzyskać postać sformatowaną należy argument funkcji Write (Writeln) uzupełnić o określenie szerokości pól postaci: : szerokość pola: liczba miejsc po kropce W zapisie: Write (-4567.987654:12:4) określiliśmy szerokość pola podając, że jest ono 12-znakowe z 4 cyframi po kropce dziesiętnej (:12:4). Liczba zostanie wyświetlona w postaci: -4567.9876 W skład pola przeznaczonego na liczbę wchodzi również znak i kropka dziesiętna, a wykładnik zawsze posiada znak i zera wiodące. Jeśli występująca liczba jest za duża, by mogła się zmieścić we wcześniej określonym polu, szerokość jego jest ignorowana i Turbo Pascal wyprowadza liczbę ze wszystkimi cyframi znaczącymi. Napisać program obliczający wyrażenie algebraiczne: ( 2 * 3 + 1 7 ) / 9 Dla obliczanego wyniku przyjąć format: 4 cyfry po kropce dziesiętnej w polu 7-znakowym. Program ma tytuł Dzielenie". Program po uruchomieniu ma wyświetlić zapis działania oraz przedstawić obliczony wynik. Zapisać program na dysku w pliku o nazwie dzieli.pas.

PROGRAM Dzielenie; Write ('(2*3+17)/9 =',(2*3+17)/9:7:4); Napisać program obliczający wyrażenie algebraiczne: ( 4 2 + 2 * 4 * 7 + 7 2 ) /(5 + 37:4) Dla obliczanego wyniku przyjąć format: 4 cyfry po kropce dziesiętnej w polu 12-znakowym. Program ma tytuł Oblicz". Program po uruchomieniu ma wyświetlić zapis działania oraz przedstawić obliczony wynik. Zapisać program na dysku w pliku o nazwie oblicz.pas. Uruchomić program Turbo Pascal. Napisać program obliczający powierzchnię całkowitą i objętość sześcianu o boku 5.875 cm. Przyjąć następujące oznaczenia: Ppc - pole powierzchni całkowitej sześcianu; V - objętość sześcianu; Dla obliczanego wyniku przyjąć format: 3 cyfry po kropce dziesiętnej w polu 8-znakowym. Program ma tytuł Szescian_1". Program po rozmieszczone w kolejnych wierszach przedzielonych jednym wierszem, a pod każdym z nich odpowiednie wyniki obliczeń. Zapisać program na dysku w pliku o nazwie szesc_1.pas. Cały program został przedstawiony poniżej: PROGRAM Sześcian 1; Writeln ('Sześcian o boku 5.875 cm'); Writeln ('Obliczenie pola powierzchni całkowitej'); Writeln ('Ppc = ',6*5.875*5.875:8:3, cm kw.'); Writeln ('Obliczenie objętości'); Writeln ('Obj = ',5.875*5.875*5.875:8:3,' cm szes.'); Wprowadzanie stałych Często zdarza się, że za pomocą już istniejącego programu chcemy uzyskać wynik dla innej wartości określonych danych (np. boku sześcianu). Wówczas występuje konieczność dokonania zmiany wartości w całym programie. W programie z poprzedniego ćwiczenia wartość boku sześcianu (5.875) występuje w sześciu miejscach i tylu zmian musielibyśmy dokonać przy zmianie tej wartości na inną (np. 7.225). Wprowadzenie zmian do programu nie byłoby specjalnie kłopotliwe, ale w przypadku programów, w których wartość do zmiany występuje wiele, byłoby to bardzo pracochłonne i kłopotliwe (łatwość pomyłek). W Turbo Pascalu istnieje funkcja umożliwiająca odpowiednie zapisanie programu, tak aby dokonanie zmiany danej wartości w jednym miejscu modyfikowało ją w całym programie. Do tego celu służy słowo kluczowe CONST (stała) umieszczone w bloku deklaracyjnym. Po tym słowie deklarujemy dane, które przybierają określoną stałą wartość. Nasze dane zadeklarujemy jako stałe. W bloku deklaracyjnym stałe mają określoną wartość, zaś w pozostałej części programu występuje tylko nazwa_stałej. Postać ogólna deklaracji stałej: CONST nazwa_stałej = wartość; Poniżej podano przykład deklaracji stałej: CONST a=8;

Zadeklarowana została stała a o wartości 8. Oznacza to, że w całym programie pod nazwę tej stałej zostanie podstawiona wartość 8. Uruchomić program Turbo Pascal. Napisać program obliczający powierzchnię całkowitą i objętość sześcianu o boku a=7.225 cm. Przyjąć następujące oznaczenia: Ppc - pole powierzchni całkowitej sześcianu; V - objętość sześcianu; Dla obliczanego wyniku przyjąć format: 3 cyfry po kropce dziesiętnej w polu 8-zna-kowym. Program ma tytuł Sześcian_2". Zapisać program na dysku w pliku o nazwie szesc_2.pas. Po słowie kluczowym CONST deklarujemy stałą a, która przybiera wartość 7.225. W bloku deklaracyjnym nasza stała ma określoną wartość, zaś w pozostałej części programu występuje tylko nazwa a. Podczas wykonywania programu w miejsce nazwy a zostanie podstawiona wartość stałej, tj. 7.225. A oto i nasz cały program: PROGRAM Szescian_2; CONST a=7.225; Writeln ('Sześcian o boku a=',a:6:3,' cm'); Writeln ('Obliczenie pola powierzchni całkowitej'); Writeln ('Ppc = ',6*a*a:8:3,' cm kw.'); Writeln ('Obliczenie objętości'); Writeln ('Obj = ',a*a*a:8:3,' cm szes.'); Napisać program na obliczenie średniej arytmetycznej trzech liczb a, b i c. Przyjąć następujące dane: a=8, b=12 i c=16. Dla obliczanego wyniku przyjąć format o polu 6-znakowym z 2 miejscami po przecinku. Wynikiem będzie iloraz w postaci liczby rzeczywistej, stąd wynika konieczność określenia czytelnego jego formatu. Program nosi tytuł Srednia_1". Zapisać program na dysku w pliku o nazwie sred_1.pas. Musimy pamiętać, że mamy do czynienia z trzema stałymi danymi: a, b i c. Dane te muszą być zadeklarowane w bloku deklaracyjnym, po słowie kluczowym CONST. Poniżej został przedstawiony cały program. PROGRAM Srednial; CONST a = 8 ; b=12; c=16; Writeln ( Średnia arytmetyczna trzech liczb:'); Writeln ('a =',a,', b =,b,, c = ',c); Writeln ; Write ('średnia arytmetyczna =',(a+b+c)/3:6:2); Wprowadzanie zmiennych Do tej pory w programach stosowaliśmy wyrażenia zawierające stałe liczbowe (np. -3.5), stałe znakowe (np. 'A') czy stałe tekstowe (np. 'Kowalska').

Turbo Pascal umożliwia również wprowadzanie zmiennych już po uruchomieniu programu z zewnątrz (np. z klawiatury). Możliwe jest to dzięki zastosowaniu instrukcji Read lub Readln. Do tej pory program Turbo Pascal sam rozpoznawał stałe zawarte w naszych programach, jak również wyniki uzyskiwane z operacji na tych stałych i rezerwował dla nich odpowiednią ilość miejsca w pamięci. Inaczej sprawa wygląda, gdy chcemy do programu wprowadzić wyrażenia z zewnątrz (np. z klawiatury). Wyrażenia te noszą nazwę zmiennych. Program Turbo Pascal musi znać typy zmiennych (zakresy, do jakich będą należały wprowadzane wyrażenia, jak również zakresy wyników z operacji na tych wyrażeniach). W programie musimy więc w bloku deklaracyjnym zadeklarować zmienne używając słowa kluczowego. Potem musimy określić typy zmiennych (przedziały, zakresy liczbowe, z jakich będą pochodziły wprowadzane wyrażenia, jak również wyniki obliczeń). Ogólna postać deklaracji zmiennej została przedstawiona poniżej: (słowo kluczowe) nazwazmiennej: typ zmiennej; Przykład deklaracji zmiennej b typu INTEGER: b : INTEGER; Została zadeklarowana zmienna b typu INTEGER (liczba całkowita). W Turbo Pascalu nazwa zmiennej zależy od programisty (nie może się zaczynać od cyfry). Typ zmiennej określa jej postać widzianą z jednej strony przez programistę, a z drugiej strony przez komputer. Do najczęściej stosowanych typów należą: INTEGER - liczba całkowita ze znakiem, od -32768 do +32767 REAL CHAR BOOLEAN - liczba rzeczywista, od 2.9E-39 do 1.7E+38 - pojedynczy znak kodu ASCII - wartość logiczna: TRUE (Prawda) lub FALSE (Fałsz). Typ INTEGER odpowiada określonemu zakresowi liczb całkowitych, zaś REAL pewnemu zakresowi liczb rzeczywistych (oczywiście liczba jest ze znakiem: plus lub minus). Typ CHAR obejmuje zbiór wszystkich dopuszczalnych znaków znajdujących się w tabeli kodowej ASCII. Typ BOOLEAN służy do deklarowania zmiennych logicznych przyjmujących jedynie dwie wartości: TRUE (Prawda) lub FALSE (Fałsz). Ten typ bardzo często jest stosowany w sterowaniu wykonaniem programu, tj. w instrukcjach warunkowych i pętlach. Przedstawione typy dotyczą zarówno zmiennych, jak i stałych. Tabela 5. Typy pokrewne dla typu INTEGER NAZWA ZAKRES SHORTIN od -128 do 127 LONGINT od-2147483648 do +2147483647 BYTE od 0 do 255 WORD od 0 do 65535 Tabela 6. Typy pokrewne dla typu REAL NAZWA ZAKRES DOKŁADNOŚĆ (liczba cyfr po przecinku) SINGLE od 1.5E-45 do 4.0E38 7 do 8 DOUBLE od 5.0E-324 do 1.7E308 15 do 16 EXTENDED od 3.4E-4932 do 1.1E4932 19 do 20 COMP od -9.E18 do 9.2E1S 19 do 20 Oprócz przedstawionych wcześniej czterech typów istnieją jeszcze typy pokrewne dla typów INTEGER i REAL. Każdy z typów może być użyty do określonego celu. Instrukcja standardowa Read Instrukcja Read umożliwia wprowadzenie danych z zewnątrz (np. klawiatury) do uruchomionego już programu. Instrukcja ta nie powoduje automatycznie późniejszego przejścia kursora do nowej linii. Postać instrukcji standardowej Read jest następująca: Read (lista argumentów),

gdzie lista argumentów może być ciągiem znaków stałych, zmiennych lub wyrażeń oddzielonych przecinkami. Przykład zapisu wprowadzenia zmiennej b typu INTEGER (po jej wcześniejszym zadeklarowaniu) został przedstawiony poniżej: Read (b); Napisać program obliczający powierzchnię pola prostokąta o bokach a i b. Bok a prostokąta ma wartość stalą równą 10 cm. Wartość boku b należy do typu INTEGER i będzie wprowadzana do programu już po jego uruchomieniu. Przyjąć następujące oznaczenia: Pp - pole powierzchni prostokąta. Dla obliczanego wyniku przyjąć format o polu 6-znakowym. Program ma tytuł Pole _prostokata_l". Zapisać program na dysku w pliku o nazwie pole _1.pas. Cały program został przedstawiony poniżej. PROGRAM Pole prostokąta 1; CONST a = 10; b:integer; Writeln (' Obliczenie pola powierzchni prostokąta '); Write (' Podaj wartość boku b - w cm, b= '); Read (b); Writeln (' Boki wynoszą: a = ',a,' cm oraz b = ',b,' cm '); Write (' Pp = ',a*b,' cm kw. '); Instrukcja standardowa Readln Instrukcja Readln umożliwia wprowadzenie danych z zewnątrz (np. klawiatury) do uruchomionego już programu powodując automatycznie późniejsze przejście kursora do nowej linii. Postać instrukcji standardowej Readln jest następująca: Readln (lista argumentów), gdzie lista argumentów może być ciągiem znaków stałych, zmiennych lub wyrażeń oddzielonych przecinkami. Przykład zapisu wprowadzenia zmiennej c typu INTEGER (po jej wcześniejszym zadeklarowaniu) został przedstawiony poniżej: Readln (c); W szczególności, jeśli lista argumentów będzie pusta, instrukcja ta nie będzie robiła niczego poza oczekiwaniem na wprowadzenie znaku nowego wiersza, tj. naciśnięcie klawisza ENTER. Zasada działania instrukcji Readln jest więc bardzo podobna do działania instrukcji Read. Napisać program obliczający powierzchnię pola prostokąta o bokach a i b. Wartość boków a i b należy do typu REAL i będzie wprowadzana do programu już po jego uruchomieniu. Dla wartości a i b przyjąć format o polu 6-znakowym z 2 miejscami po przecinku. Przyjąć następujące oznaczenie: Pp - pole powierzchni prostokąta. Dla obliczanego wyniku przyjąć format o polu 10-znakowym z 2 miejscami po przecinku. Program ma tytuł Pole_prostokata_2". Zapisać program na dysku w pliku o nazwie pole_2.pas. Cały program został przedstawiony poniżej: PROGRAM Pole_prostokata_2; a,b:real;

Writeln (' Obliczenie pola powierzchni prostokąta '); Write (' Podaj wartość boku a prostokąta - w cm, a= '); Readln (a); Write (' Podaj wartość boku b prostokąta - w cm, b= '); Readln (b); Writeln ('Boki wynoszą a = ',a:6:2,' cm, b = ',b:6:2,' cm'); Write (* Pp = ',a*b:10:2,' cm kw.'); Napisać program obliczający wartość średniej arytmetycznej trzech liczb rzeczywistych: m, n i p, wprowadzonych po uruchomieniu programu. Dla wartości tych liczb przyjąć format o polu 6-znakowym z 2 miejscami po przecinku. Dla obliczanego wyniku przyjąć format o polu 10-znakowym z 2 miejscami po przecinku. Program ma tytuł Srednia_3". Zapisać program na dysku w pliku o nazwie sred_3.pas. Instrukcja przypisania Instrukcja przypisania służy do przypisania zmiennym pewnej wartości. Ma ona postać: zmienna := wyrażenie Wykonanie tej instrukcji powoduje przypisanie (podstawienie) wartości wyrażenia zapisanego po prawej stronie symbolu := zmiennej stojącej po lewej jego stronie. Wyrażenie musi być tego samego typu co zmienna lub wynik funkcji umieszczonej z lewej strony symbolu przypisania. Poniżej przedstawiono przykład instrukcji przypisania : a:= 12, b:= 13, c:= a+b. Zmienna c przyjmuje wartość 25. 22 Napisać program obliczający długość obwodu trójkąta, jeśli jego boki wynoszą: a=5, b=7 i c=4. Zmienną jest obwód. Dla obliczanego wyniku przyjąć format o polu 6-zna-kowym. Program ma tytuł Obwod_trojkata_1". Zapisać program na dysku w pliku o nazwie obwod_1.pas. Cały program został przedstawiony poniżej: PROGRAM Obwodtrojkata_1; obwod:integer; CONST a=5;b=7;c=4; obwod:=a+b+c; Writeln (' Obliczanie obwodu trójkąta '); Writeln (' Boki trójkąta: a= ', a,', cm, b= ', b,, cm, c= ', c,' cm ); Writeln ('Obwód trójkąta = ',obwod,' cm') 23 Napisać program obliczający wartość x z równania: Wartości a, b, c oraz x należą do zbioru liczb rzeczywistych. a x + b = c.

Dla wartości tych liczb przyjąć format o polu 6-znakowym z 2 miejscami po przecinku. Dla obliczanego wyniku (x) przyjąć format o polu 10-znakowym z 2 miejscami po przecinku. Program ma tytuł Row_liniowe_1". Zapisać program na dysku w pliku o nazwie rlin_1.pas. Uwaga: Po przekształceniu równania ze względu na x otrzymamy: x = ( c - b ) / a Otworzyć z dyskietki plik o nazwie rlin_1.pas zawierający program o nazwie Row_liniowe_1", a następnie go uruchomić. Dokonać obliczeń dla następujących danych: a=0, b=3 oraz c=7. Po uruchomieniu programu i wprowadzeniu do niego naszych danych, został w pierwszym wierszu wyświetlony następujący komunikat: Error 200: Division by zero (błąd: dzielenie przez zero). Komunikat ten został spowodowany podaniem wartości 0 (zero) dla zmiennej a, która występuje w dzielniku wyrażenia. Nasz program nie ma więc zabezpieczenia w przypadku wprowadzania wartości 0 dla dzielnika. W celu usunięcia komunikatu o błędzie należy nacisnąć klawisz Esc. Wyjść z Turbo Pascala. W Turbo Pascalu mamy możliwość skorzystania z funkcji warunkowej sprawdzającej podawane wartości (wyrażenia) do programu. Możemy badać, czy dana wartość, na przykład boku prostokąta, nie jest mniejsza od zera lub czy dzielnik we wzorze nie jest równy zeru. Instrukcja warunkowa IF...THEN W Turbo Pascalu istnieją dwie instrukcje warunkowe. Są to: instrukcja IF...THEN" (Jeśli) oraz instrukcja wyboru CASE. Zanim przejdziemy do instrukcji warunkowej niezbędne jest przypomnienie pojęcia wyrażenia logicznego. Do konstrukcji wyrażenia logicznego wykorzystuje się w Turbo Pascalu typ Boolean. Typ ten posiada dwie stałe: TRUE (Prawda) i FALSE (Fałsz). Z tego widać, że zmienne typu logicznego mogą przyjmować te dwie wartości. Na zmiennych typu logicznego i wartościach logicznych można wykonywać określone operacje: NOT (negacja), AND (iloczyn logiczny) i OR (suma logiczna). Operator NOT podaje wartość TRUE (Prawda), jeśli wyrażenie przyjmuje wartość FALSE (Fałsz). Operator AND podaje wartość TRUE (Prawda), jeśli obydwa wyrażenia są prawdziwe. W przeciwnym razie mamy wartość FALSE (Fałsz). Operator OR podaje wartość TRUE (Prawda), jeśli co najmniej jedno z wyrażeń jest prawdziwe. Operacje wykonywane są w następującej kolejności: najpierw NOT, potem AND, a następnie O R. W wyrażeniach logicznych można też używać operatorów relacji (tabela 7). Tabela 7. Operatory relacji Operator relacji Znaczenie = równe < > różne < mniejsze > większe <= mniejsze lub równe >= większe lub równe Instrukcja warunkowa IF...THEN ma postać: IF warunek (wyrażenie logiczne) THEN instrukcja_1 ELSE instrukcja_2 Jeśli warunek jest spełniony, wówczas następuje wykonanie instrukcji_l; w przeciwnym przypadku wykonana zostanie instrukcja_2. W zapisie instrukcji IF...THEN instrukcja_2 może nie występować i wtedy instrukcja_l jest albo wykonywalna

albo nie, w zależności od wartości przyjmowanej przez warunek. Warunek jest wyrażeniem logicznym przyjmującym dwie wartości: TRUE i FALSE. Podana instrukcja" może być zarówno pojedynczą instrukcją Turbo Pascala, jak i grupą instrukcji ujętych w nawiasy" -END (co przedstawiono poniżej): IF warunek (wyrażenie logiczne) THEN instrukcja_l; instrukcja_2; instrukcja_k ELSE instrukcja_n; END Po słowie END znajdującym się bezpośrednio przed słowem kluczowym ELSE nie występuje średnik. Spróbujemy teraz napisać program na obliczanie wartości x z zabezpieczeniem przed dzieleniem przez zero. 25 Napisać program obliczający wartość x z zabezpieczeniem w przypadku wprowadzenia wartości a=0 z równania: a x + b = c. Wartości a, b, c oraz x należą do zbioru liczb rzeczywistych. Przyjąć dla nich format o polu 6-znakowym z 2 miejscami po pizecinku. Dla obliczanego wyniku ( x ) przyjąć format o polu 10-znakowym z 2 miejscami po przecinku. Program nosi tytuł Row_Liniowe _2". Zapisać program na dysku w pliku o nazwie rlin_2.pas. Napisać program na obliczenie niewiadomej x z równania: a x + b = c. Uwaga: Do naszych celów możemy również wykorzystać uprzednio napisany program o nazwie Row_liniowe_l zapisany w pliku rlin.pas. Po odczytaniu tego programu dokonamy w nim zmianę wprowadzając instrukcję warunkową sprawdzającą wprowadzoną wartość liczby a. Jeśli wartość a (mianownik wyrażenia) będzie równa zero, to program wyświetli komunikat (instrukcja_l) Nie dziel przez zero", w przeciwnym wypadku (a < > 0) dokona wyświetlenia wprowadzonych wartości liczbowych a, b i c oraz wyliczenia wartości x (instrukcja_2). Należy pamiętać o zmianie nazwy programu. Cały program został przedstawiony poniżej: PROGRAM Rowliniowe_2; a, b, c, x : REAL; Writeln (' Obliczenie wartości - x - z równania liniowego a*x+b=c'); Write (' Podaj wartość a, a= '); Read (a); Write (' Podaj wartość b, b= '); Read (b); Write (' Podaj wartość c, c= '); Read (c); IF a=0 THEN Writeln ('Nie dziel przez zero, a=0') ELSE WritelnC a= ',a:6:2,', b= \b:6:2,*, c= ',c:6:2);

END x:=(c-b)/a; Writeln (' Wartość x =',x:10:4); Należy zwrócić uwagę na słowo kluczowe END zamykające blok instrukcji do wykonania. Jak widać, po słowie END nie występuje średnik, ponieważ w następnym wierszu nie mamy już żadnej instrukcji lecz tylko słowo kluczowe END z kropką" zamykające cały program. 26 Otworzyć z dyskietki plik o nazwie pole_1.pas zawierający program o nazwie Pole_prostokata_1", a następnie wprowadzić instrukcję warunkową zabezpieczającą program przed wprowadzeniem dla boku b wartości mniejszej lub równej zero (b<=0). W tym przypadku ma się ukazać komunikat Prostokąt nie istnieje". W programie zmienić jego nazwę na Pole _prostokata_3". Zapisać program na dysku w pliku o nazwie pole_3.pas. Napisać program, z zabezpieczeniem w przypadku wprowadzenia wartości a<=0 i b<=0, na obliczenie powierzchni pola prostokąta o bokach a i b. Wartość boków a i b należy do typu REAL i będzie wprowadzana do programu już po jego uruchomieniu. Przyjąć następujące oznaczenia: Pp - pole powierzchni prostokąta. Program ma tytuł Pole jprostokataj_4". Zapisać program na dysku w pliku o nazwie pole_4.pas. Cały program został przedstawiony poniżej: PROGRAM Pole_prostokata_4; a, b, P p : REAL; Writeln (' Obliczenie pola powierzchni prostokąta'); Write (' Podaj wartość boku a prostokąta - w cm, a= '); Readln (a); Write (' Podaj wartość boku b prostokąta - w cm, b= '); Readln (b); IF a*b>0 THEN Writeln ('Boki wynoszą: a = ',a:6:2,' cm, b = ',b:6:2,' cm'); Pp:=a*b; Write ('Pp = \Pp:10:2,' cm kw.'); END ELSE Write('Prostokat nie istnieje') 28 Napisać program wyznaczający najmniejszą z dwóch liczb rzeczywistych. Program ma tytuł Najmniejsza_l". Zapisać program na dysku w pliku o nazwie nąjmn_l.pas. 29 Napisać program sprawdzający podzielność danej liczby całkowitej przez inną liczbę całkowitą. Program ma tytuł Podzielność_liczby". Zapisać program na dysku w pliku o nazwie podz_4.pas.

W programie wykorzystamy wcześniej poznany operator działań MOD (reszta z dzielenia). Po wprowadzeniu do programu wartości dzielnej i dzielnika program sprawdza wartość reszty z dzielenia. Jeśli wartość operatora MOD jest równa zeru, to dzielnik jest podzielnikiem danej dzielnej. Po tych wyjaśnieniach możemy napisać program. Został on przedstawiony poniżej. PROGRAM Podzielnoscliczby; a, b : INTEGER; Writeln (' Podzielność liczby całkowitej a przez b'); Write (' Podaj wartość dzielnej a, a= '); Readln(a); Write (' Podaj wartość dzielnika b, b= '); Readln(b); Writeln (' Sprawdzenie podzielności liczby ',a,' przez ',b); IF a MOD b=0 THEN Writeln ('Liczba b = ', b,' jest podzielnikiem liczby a = ',a); Writeln (a,' : ',b,' = ',a/b:5:0,', reszta = 0'); END ELSE Writeln (' Liczba b = ',b,' nie jest podzielnikiem liczby a = ',a); Napisać program wyznaczający największą z trzech liczb. Dla wprowadzanych liczb przyjąć format o polu 10-znakowym z 3 miejscami po przecinku. Program ma tytuł Nąjwiększa_1". Zapisać program na dysku w pliku o nazwie najw_1.pas. 31 Napisać program sprawdzający warunki istnienia trójkąta przy zadanych wartościach jego boków wprowadzanych do programu po jego uruchomieniu. Program ma tytuł Trojkat_1". Zapisać program na dysku w pliku o nazwie trojka_1.pas.