Nagłówek informuje jak nazywa się program,
Identyfikator nazwa nadana przez programistę jakiemuś elementowi jego programu, po to, by móc później się do niego odwoływać.
Procedury są to wydzielone podprogramy realizujące określone zadania. Wywoływana procedura musi być wcześniej zdefiniowana.
Funkcja jest podgrupą procedur, których celem jest wyliczenie pojedynczej wartości.
Jak zapisujemy komentarze?
(*komentarz*) lub {komentarz}
Instrukcja przypisania
Służy do nadawania wartości zmiennych przez program.
W jaki sposób definiuje się typ wyliczeniowy.
Type
nazwa_typu = (identyfikator_1, identyfikator_2 …)
Jak definiuje się typ okrojony.
Type
nazwa_typu=dolna_wartosc..gorna_wartosc
Co to jest typ logiczny?
Typ ten służy do reprezentowania danych dwustanowych. Zbiór jego wartości zawiera dwie predefiniowane stałe TRUE i FALSE.
Jaka jest wartość relacji false <= true.
True ponieważ false = 0, a true = 1 więc 0 <= 1.
Typ znakowy CHAR
Zmienne typu CHAR są wykorzystywane do przechowywania jednego znaku kodu ASCII. Wartości kodu ASCII są liczbami z zakresu od 0 do 255.
Typ rzeczywisty
Typy rzeczywiste są wykorzystywane do deklarowania zmiennych, które podczas obliczeń będą wykorzystywane do przechowywania wartości rzeczywistych. Liczby rzeczywiste występują w programach w postaci:
- stałopozycyjnej, np. 5.6,
- zmiennopozycyjnej, np. 0,8765E4.
Typ napisowy STRING
Typ napisowy (łańcuchowy) służy do przechowywania nazw własnych obiektów oraz wyprowadzanych do użytkownika danych tekstowych, objaśniających dane numeryczne. Struktura danych zajmuje 256 bitów pamięci , ponumerowanych od 0 do 255.
Typ rekordowy
wykorzystywany jest w przypadku danych o niejednorodnej strukturze.
Typ strukturalny
Zbudowany jest z reguły z typów podstawowych pełniących w tym przypadku rolę typów składowych.
Deklaracja:
TYPE
Nazwa_typu_1 = <Typ_1>
Nazwa_typu_2 = <Typ_2>
...
Nazwa_typu_n = <Typ_n>
Elementy wchodzące w skład danego typu strukturalnego nazywane są komponentami.
Na elementach jakich typów działają funkcje standardowe succ(x) i pred(x).
Na typach całkowitych (integer) i na typach znakowych (char).
Kompilator, interpreter
Kompilator - program dokonujący przekładu postaci źródłowej programu lub modułu w języku programowania na kod wynikowy zrozumiały dla komputera.
Interpreter - program komputerowy, który analizuje kod źródłowy programu, a przeanalizowane fragmenty wykonuje.
Wyjaśnić różnicę między błędami kompilacji i błędami wykonania
Błędy kompilacji wynikają głównie z pomyłek podczas wypisywania programu;
Błędy wykonania wynikają z niewłaściwej konstrukcji programu lub użycia niewłaściwych danych
W jaki sposób można zorganizować własną obsługę błędów związanych z operacjami na pliku.
Należy wyłączyć standardową obsługę błędów i zastąpić ją własną procedurą. W tym celu operacje dotyczące plików powinny być wykonywane z użyciem dyrektywy kompilatora
{$I-}
RESET(x);
rezultat:=IORESULT;
IF rezultat<>0
THEN Obsluz_Blad(rezultat)
{$I+}
Rodzaje i przykłady użycia instrukcji warunkowych w turbo Pascalu.
W turbo pascalu istnieją dwa rodzaje instrukcji warunkowych : instrukcja if i case
if wyrażenie then instrukcja albo if wyrażenie then instrukcja1 else instrukcja2
case jest dodatkową instrukcja sterującą umożliwiająca prostsze niż przy zastosowaniu instrukcji warunkowych rozgałęzienie na wiele dróg w programie, w zależności od wartości sektora. Instrukcja case jest przydatna gdy trzeba dokonać wyboru jednego z wielu alternatyw.
case selektor of
s1: instrukcja_1;
s2: instrukcja_2;
.
.
sn: instrukcja_n;
else Instrukcja_k;
end;
Co jest celem instrukcji while do jaka jest minimalna ilość powtórzeń.
Wykonywanie działania jest uzależnione od spełnienia warunku powtarzania obliczeń, instrukcja cyklu jest powtarzana tak długo dopóki warunek jest spełniony. WHILE Warunek DO Instrukcja - może być 0 powtórzeń bo może warunek nie wpuścić do pętli.
Kiedy kończy się wykonanie w pętli for.
Kiedy zmienna sterująca pętli zrówna się z wyrażeniem określającym wartość końcowa dla zmiennej sterującej lub gdy zostanie zastosowana instrukcja break.
Jaka jest minimalna liczba powtórzeń w pętli?
w instrukcji FOR (dla) np. for i+1 to 63 63-1=62 wykona się np. 62 razy, ponieważ użytkownik zadeklaruje tyle powtórzeń w pętli to tyle razy będzie się musiała minimalnie powtórzyć
w instrukcji REPEAT (powtarzaj) np. Until (warunek) to pętla będzie musiała powtórzyć przynajmniej raz.
W instrukcji WHILE .. DO (dopóki) , while(warunek)do , to pętla nie powtórzy się ani razu
Ile razy zostaną wykonane obliczenia w pętli:
a) for i:=n to m do
dla wartości n=5 m=5
wykona się raz.
b) for i:=n downto m do
dla n=1, m=5
ani razu
for i: =n to m do
n,m:=5
tylko raz.
for i:=n to m do
n=5 m=7
Obliczenia wykonane w tej pętli dla tej wartości wykonują się 3 razy ponieważ do każdej wartości n zaczynając od 5 dodaje się 1 element aż do osiągnięcia wartości m=7
Tablica jednowymiarowa i wielowymiarowa
Tablice są to struktury, które przechowują dane tego samego typu.
W Turbo Pascalu tablice jednowymiarowe deklarujemy w następujący sposób:
var
nazwa_tablicy : ARRAY [wymiar] OF typ_elementu;
np.
tab:array[1..100] of integer;
Dodatkowe wymiary oddzielamy w deklaracji przecinkami:
nazwa_tablicy : ARRAY [wymiar1, wymiar2] OF typ_elementu;
Wielkość tablicy w bajtach.
Oblicza się poprzez przemnożenie ilości wszystkich komórek w tablicy przez liczbę bajtów przypadającą na każdą komórkę.
np. tablica:array[1..10] of real; będzie zajmować w pamięci 10*6=60 bajtów
byte, char, boolean, shortint - 1 bajt
integer, word - 2 bajty
longint, single - 4 bajty
real - 6 bajtów
double - 8 bajtów
extended - 10 bajtów
Podaj wielkość tablicy w bajtach zadeklarowanej następująco:
Type
pole=(puste, pion, skoczek, goniec, wieza, hetman, krol)
szachownica = array [1..8,'a'..'h'] of pole
8*8*1=64
Ponieważ pierwsza 8-mka to liczba wierszy (1..8), druga 8-mka to liczba kolumn (a..h), a jedynka wynika z trybu wyliczeniowego.
Różnice między plikiem tekstowym a elementowym??
Plik elementowy:
przechowuje dane w postaci binarnej,
nieczytelna dla użytkownika treść binarna, reprezentacja danych jest bardziej zwarta i oszczędna,
dane przechowywane w pliku muszą być tego samego typu (prostego lub strukturalnego),
umożliwia swobodny dostęp ( w dowolnym momencie można odwołać się do dowolnego elementu pliku,
Plik tekstowy:
przechowuje dane w postaci wierszy, tekstu,
łatwo czytać i zinterpretować treść,
wykorzystuje znakowe reprezentacje danych, mogą być użyte do przechowywania mieszanych typów danych,
umożliwia formatowanie zapisu i korzystanie z procedur readln i writeln.
Funkcje i procedury wejścia - wyjścia
Append Procedura otwierająca istniejący plik tekstowy przygotowując go do zapisu dalszych danych (na końcu pliku)
Assign Procedura przyporządkowująca zmiennej plikowej nazwę zewnętrznego pliku (fizycznego zbioru danych)
Read Pliki tekstowe: procedura wczytująca jedną lub więcej wartości z podanego pliku tekstowego do podanych zmiennych
Read Pliki z określonym typem: procedura odczytująca jeden element z pliku.
ReadLn Procedura pełniąca tą samą funkcję co procedura Read z tą różnicą, że po odczycie przeskakuje na początek następnego wiersza. Może być używana tylko dla plików tekstowych.
Rewrite Procedura ta tworzy nowy plik i otwiera go (lub kasuje zawartość istniejącego). Dla plików tekstowych do zapisu, dla pozostałych - do odczytu lub zapisu.
Write Pliki tekstowe: procedura wpisująca jedną lub więcej wartości do podanego pliku tekstowego.
Write Pliki z określonym typem: procedura zapisująca jeden element do pliku.
WriteLn Procedura pełniąca tą samą funkcję co Write z tą różnicą, że dopisuje na końcu wiersza znaki >>CR/LF<< (znacznik końca wiersza).
Jaka procedura pozwala ustawić wskaźnik pliku tekstowego na końcu pliku?
APPEND (Plik_tekstowy)
Instrukcja READLN czy może być stosowana w plikach i jakich??
Jest to instrukcja przypisania. Może być ona stosowana tylko w plikach tekstowych natomiast w innych plikach jej nie stosujemy.
WRITE czy może on być stosowany w plikach?? Co on robi??
Może być on wykonywany w plikach i stosowany jest do wydłużenia pliku o jeden element, który realizuje procedurę zapis
WRITE(x,v)
Gdzie v- zmienna tego samego typu jak typ elementu pliku
W jaki sposób wpływa na istniejący plik wywołanie procedury rewrite.
Założenie i otwarcie nie istniejącego pliku lub otwarcie istniejącego pliku do zapisu od nowa.
Wykonanie operacji w stosunku do pliku istniejącego w którym były zapisane elementy, powoduje jego skasowanie i założenie nowego pliku o tej samej nazwie. Logicznie oznacza to jego wyzerowanie i utratę zgromadzonych tam danych.
Jaki jest schemat dopisywania tekstu do juz istniejącego pliku tekstowego.
assign(plik_tekstowy, nazwa_pliku);
append (plik_tekstowy);
koniec:=false;
while not koniec do
begin
P(s);
writeln(plik_tekstowy,s);
end;
close(plik_tekstowy);
P(s) jest procedurą przygotowującą wpisywany wiersz. Po wyczerpaniu się wierszy ta procedura musi zmienić stan zmiennej koniec na true tak aby zakończyć dopisywanie wierszy.
Przedstaw schemat wartości modułu w turbo pascalu.
UNIT Nazwa_pliku_modułu;
INTERFACE
USES
Lista_używanych_modułów
Definicje i deklaracje eksportowane z modułu
IMPLEMENTATION
Definicje i deklaracje lokalne modułu
Implementacje procedur i funkcji
BEGIN
Część inicjująca modułu
END.
Ile wynosi ograniczony rozmiar typu strukturalnego 64KB i ile wynos maksymalny rozmiar pliku w TP??
65528 bajtów ograniczony przez segmentowy model pamięci w procesorze x86.
Jakie parametry procedur przekazuje się przez wartość i zmienną??
wartość - parametry formalne,
zmienną - parametry formalne i aktualne.
Parametr formalny i aktualny
Parametr formalny element składni umożliwiający komunikację pomiędzy podprogramem wywołanym, a programem wywołującym. Parametr deklaruje się wraz z deklaracją określonego podprogramu.
Parametr aktualny to element składni, który w wyniku wywołania podprogramu, zostaje utożsamiony (skojarzony) z określonym parametrem formalnym podprogramu.
Co to jest copy stos sortowanie sterta?
Copy(s,indeks,licznik)- z łańcucha znaków s zostanie od miejsca oznaczonego numerem indeks wycięta liczba znaków określona przez licznik
Stos jest to miejsce w pamięci gdzie przechowuje się zmienne dynamiczne, które zajmują 64KB(kilobajty)
Sortowanie to proces ustawiania zbioru obiektów w określonym porządku. Jest on stosowany w celu ułatwienia późniejszego wyszukiwania elementów
Sterta - miejsce w pamięci wydzielone do dynamicznej alokacji
Instrukcja wiążąca WITH - w zakresie której można odwoływać się do poszczególnych pól, tak jak do zwykłych zmiennych. Jest to inaczej skrócony zapis.
Plik o odstępie sekwencyjnym - oznacza że, aby dostać się do wybranego elementu pliku należy przeczytać wszystkie elementy znajdujące się przed nim.