Języki programowania, MECH 2011

  1. Na czym polega kompilacja, interpretacja

Kompilacja jest to proces tłumaczenia napisanego programy w języku wyższego poziomu na język maszynowy w kompilatorze.

  1. Podział języków programowania

  1. Języki wysokiego poziomu :np.: Basic, C , Pascal.

  2. Języki niższego poziomu : j. maszynowy, asembler.

  1. Struktura programu w języku Pascal;

PROGRAM Nazwa_Programu: //nagłówek programu

USES // deklaracja modułów

//początek części opisowej

LABEL

CONST - deklaracja stałych

TYPE -deklaracja typów

VAR - deklaracja zmiennych

PROCEDURE/FUNCTION

BEGIN

END;

BEGIN

END.

  1. W jaki sposób deklaruje się: typy, etykiety, stałe, zmienne?

  1. Typy:

    1. TYPE Dzien = (pon, wt, sr, czw, pt);

    2. TYPE x=Real;

    3. TYPE Number = integer;

  2. Etykiety

    1. LABEL

  3. Stałe

    1. CONST MaxWysokosc = 100;

Mi = pi *4e-7;

  1. Zmienna

    1. VAR

Wynik,y,x: byte;

L : integer;

  1. Jakie znasz typy porządkowe? - podaj przykłady.

  1. Wyliczeniowy TYPE Uczniowie=(Antek, Franek, Zenek);

  2. Całkowity TYPE Xx=integer; - również shortint, byte, word, longint.

  3. Logiczny (boolean, ByteBool, WordBool, LongBool)

  4. Znakowy CHAR

  5. Okrojony TYPE Litery='A' .. `Z'; (ważne są te kropki pomiędzy)

  1. Wyjaśnij pojęcie typu rekordowego, łańcuchowego, zbiorowego, plikowego, tablicowego - podaj przykłady.

  1. Typ rekordowy - rekord, złożona struktura danych, której składowe, zwane polami mogą być różnego typu np.:

TYPE Data=rekord

Rok: integer;

Miesiąc: 1..12;

Dzień: 1..31;

End;

  1. Typ zbiorowy jest zbiorem potęgowym danego typu porządkowego, tzn. jest zbiorem wszystkich podzbiorów tego typu, w tym typu pustego, np.:

TYPE Klasy=set of(LO_1d, LO_2d, LO_3d);

  1. Typ plikowy jest ściśle powiązany z plikami. Plik jest ciągiem elementów tego samego typu, tyle, że liczba tych elementów jest zmienna.

TYPE Dane=file of integer;

  1. Typ tablicowy - tablica, składa się z ustalonej liczby elementów tego samego typu, zwanego typem składowym. Za pomocą tablic są reprezentowane regularne układy danych.

TYPE Macierz = array[1..20,1..30] of real;

  1. W jaki sposób deklarujemy zmienne?

  2. Wyrażenia w języku Pascal.

W=array[1..10,1..11] of real;

VAR

x,y,z:real;

a,b:W;

  1. Jakie znasz rodzaje operatorów?

  1. := (operator przypisania)

  2. Operatory arytmetyczne:

    1. + (dodawanie)

    2. - (odejmowanie)

    3. * (mnożenie)

    4. / (dzielenie)

    5. DIV (dzielenie całkowite)

    6. MOD (reszta z dzielenia całkowitego)

  3. Operatory relacyjne:

    1. > (większe)

    2. < (mniejsze)

    3. = (równe)

    4. <> (różne)

    5. >= (większe lub równe)

    6. <= (mniejsze lub równe)

  4. Operatory logiczne:

    1. AND (koniunkcja)

    2. OR (alternatywa)

    3. NOT (negacja)

10. Instrukcje proste:

  1. Przypisania ( A:=3 )

  2. Skoku (GOTO A)

  3. Puste (;)

  4. Wywołania procedury - Nazwa_procedury(lista_parametrów);

  5. Inline - (dołączenie do programu krótkich podprogramów napisanych w kodzie maszynowym) - inline (lista_elementów)

11. Instrukcje strukturalne:

  1. Złożone

  2. Warunkowe

    1. If .. then

    2. Case .. of

  3. Iteracyjne

    1. For .. do

    2. While .. do

    3. Repeat .. until

  4. Wiążące

    1. With .. do

  5. Asemblerowe

12. Przykłady instrukcji iteracyjnych (pyt. 4)

13. Przykłady instrukcji warunkowych (pyt. 4)

14. Parametry formalne i aktualne

Lista parametrów formalnych określa sposób (kolejność oraz typ) w jaki ta lista ma być zastąpiona listą parametrów aktualnych przy wywołaniu funkcji lub procedury. Np.

PROCEDURE obl(x,y,z:Real; i:integer); <- parametry formalne

Obl (a,y+k, sqrt(w), j+5); <- parametry aktualne

15. Sposoby przekazywania informacji z (do) procedur (funkcji)

  1. Przekazywanie przez wartość

  2. Przez stałe określonego typu

  3. Przez zmienne określonego typu

  4. Przez stałe nieokreślonego typu

  5. Przez zmienne nieokreślonego typu

  6. Parametry otwarte

16. Podaj procedury obliczania silni, elementów ciągu fibbonaciego, NWP, działań na liczbach zespolonych, rozwiązywania równania kwadratowego macierzy.

17. Typy plików

a. zdefiniowane

b. niezdefiniowane

c. tekstowe

18. Instrukcje tworzenia, otwarcia i zamknięcia plików

  1. Tworzenie:

    1. Rewrite (F)

  2. Otwarcie:

    1. Reset (F)

  3. Zamykanie

    1. Close (F)

19. Zapis i odczyt danych z plików tekstowych zdefiniowanych i niezdefiniowanych

  1. Zapis

    1. Write(F)

    2. Writeln

  2. Odczyt

    1. Read(F)

    2. Readln

  3. Dla niezdefiniowanych

    1. BlockWrite, BlockRead

  1. Operacje na plikach i ich przeszukiwanie

Erase(F) - usuwanie

File Pos - pozycja w pliku

FileSize - rozmiar w bajtach

Eof - koniec pliku

Eoln - koniec wiersza (linii)

Assign - przypisz zmiennej plikowej nazwę pliku

  1. Jakie znasz instrukcje sterujące tokiem obliczeń?

break - wyjście z instrukcji iteracyjnej (podobne do goto)
continue - natychmiastowe rozpoczęcie następnej iteracji w pętli
exit - przerwanie wykonania danego bloku programu (procedury lub programu)
halt - zatrzymanie programu i powrót do systemu bez względu na miejsce wywołania

  1. Struktura modułu.

Unit nazwa_modułu;

--> Interface

Definicje stałych, typów, zmiennych, lista nagłówków procedur i funkcji;[Author:F.K.]

--> Implementation

Deklaracje modułów, stałych, typów, zmiennych wewnętrznych

Definicje procedur i funkcji ( z części opisowej)

Definicje procedur i funkcji wewnętrznych[Author:F.K.]

-->

End.[Author:F.K.]

  1. Sposób deklaracji modułów. - USES ?

  2. Jakie znasz moduły standardowe?

  1. Printer - umożliwia dostęp do drukarki

  2. System - funkcje obsługi zbiorów, konwersji, f. arytmetyczne, porządkowe, wywołujące operacje na łańcuchach.

  3. Crt - moduł obsługi ekranu i klawiatury

  4. Dos - umożliwia wykonywanie poleceń systemu operacyjnego

  5. Graph - zawiera funkcje i procedury do obsługi grafiki ekranowej

  6. Strings - operacje na łańcuchach otwartych

  7. Overlay - umożliwia dzielenie programu na segmenty

  1. Wyjaśnij pojęcia: typy proceduralnych i obiektowych.

    1. Typy proceduralne

Procedury i funkcje mogą być traktowane nie tylko jako części programu wykonywane na skutek wywołania, ale także jako elementy, które mogą być przypisywane do zmiennych i przekazywane do innych funkcji lub procedur jako parametry.

TYPE Nazwa = procedure;

    1. Typy obiektowe

Obiektem w Pascalu nazywa się złożoną strukturę danych o ustalonej liczbie elementów składowych, z których każdy może być polem lub metodą (m.in. procedurą lub funkcją), tj. elementem opisującym operację wykonywaną na danym obiekcie. W definicji typu obiektowego, podobnie jak w definicji typu rekordowego, dla każdego pola specyfikuje się jego typ i identyfikator. Opis metody składa się z nagłówka procedury, funkcji, konstruktora lub destruktora, przy czym definicja pojedynczego typu obiektowego może zawierać opisy wielu metod. Opis typu obiektowego rozpoczyna się od słowa kluczowego object, a kończy słowem kluczowym end.

TYPE Identyfikator_typu = object dziedzictwo

Lista_deklaracji_pól

Lista_deklaracji_metod

Sekcje_list

end;

  1. Przykłady funkcji i procedur: arytmetycznych, konwersji danych, operacji porządkowych,

  2. Podaj przykład definicji klasy

  3. . Co rozumiesz pod pojęciem VCL?

VCL - Visual Component Library

type

NazwaKlasy = class (KlasaBazowa)

Metody

end;

  1. Wyjaśnij pojęcia dotyczące programowania obiektowego: dziedziczenie, polimorfizm, hermetyczność

  1. Dziedziczenie - umożliwia programiście definiowanie potomków istniejących obiektów

  2. Polimorfizm - umożliwia tworzenie w obiektach potomnych metod o takich samych nazwach jak w obiektach nadrzędnych, ale wykonujących różne czynności.

  3. Hermetyczność oznacza, że struktury danych i kody programowe są połączone w całościową jednostkę programową, zwaną obiektem

  1. Co jest wynikiem działania procedury/funkcji czy fragmentu programu zapisanego w języku Pascal (……. fragment kodu źródłowego…….)

  2. Napisz fragment programu realizujący ………

Część opisowa

Część implementacyjna

Część inicjująca