|
Pascal |
C |
Ogólne | ||
Plik edytora |
TURBO.EXE |
TC.EXE |
Rozszerzenie plików z progr. |
PAS |
C (CPP w C++) |
Rozszerzenie plików nagłów. |
|
H (HPP w C++) |
Podstawy | ||
Małe/duże litery w nazwach |
bez znaczenia |
mają znaczenie |
Nagłówek |
PROGRAM nazwa; |
|
Biblioteki |
USES nazwa; |
#include <nazwa> |
Definicje stałych |
CONST stała = wartość; |
#define stała wartość |
Deklaracje zmiennych |
VAR zmienna: typ; |
typ zmienna; |
Deklaracje procedur |
PROCEDURE nazwa; |
void nazwa (void) |
...z parametrami |
PROCEDURE nazwa (par.); |
void nazwa (parametry) |
Deklaracje funkcji |
FUNCTION nazwa (parametry) : typ; |
typ nazwa (parametry) |
Początek bloku instrukcji |
BEGIN |
{ |
Koniec bloku instrukcji |
END |
} |
Początek programu głownego |
BEGIN |
void main ( ) { |
Koniec programu głownego |
END. |
} |
Komentarze blokowe |
{ komentarz } lub (* kom. *) |
/* komentarz */ |
Komentarze liniowe |
|
// komentarz |
Stałe - przykłady | ||
Całkowita dziesiętna |
123 |
123 |
Całkowita szesnastkowa |
$1A3 |
0x1A3 |
Rzeczywista |
1.23 |
1.23 |
'a' |
'a' | |
Znakowa – kod ASCII |
#65 |
65 |
Łańcuchowa |
'abc' |
"abc" |
Typy całkowite | ||
-128 do 127 |
SHORTINT |
char |
0 do
255 |
BYTE |
unsigned char |
-32768 do 32767 |
INTEGER |
int |
0 do
65535 |
WORD |
unsigned int |
-2147483648 do
2147483647 |
LONGINT |
long
int |
Typy rzeczywiste | ||
Pojedyncza precyzja |
REAL |
float |
Podwójna precyzja |
DOUBLE |
double |
Typy znakowe i inne | ||
Znak |
CHAR |
char |
STRING [długość] |
char [długość] | |
Wskaźnik |
^typ |
typ* |
Wskaźnik do łańcucha |
char* | |
Tablica |
ARRAY [1.. długość] OF typ |
typ [długość] |
|
Pascal |
C |
Biblioteki standardowe | ||
Obsługa std. wejścia/wyjścia |
System (używana domyślnie) |
stdio.h |
Obsługa konsoli |
Crt |
conio.h |
Obsługa grafiki |
Graph |
graphics.h |
Instrukcje proste | ||
Wywołanie procedury |
nazwa_procedury; |
nazwa_funkcji ( ); |
... z parametrami |
nazwa_procedury (param.); |
nazwa_ funkcji (param.); |
Przypisanie |
zmienna := wartość; |
zmienna = wartość; |
Instrukcje złożone | ||
Wybór prosty |
IF warunek THEN instrukcja; |
if ( warunek ) instrukcja; |
Wybór pełny |
IF warunek THEN instrukcja ELSE instrukcja2; |
if ( warunek ) instrukcja; else instrukcja2; |
Wybór wielokrotny |
CASE wyrażenie OF wartości: instrukcja; ELSE
instruk2; END; |
switch (wyrażenie) { wartość: instrukcja; break; default: instruk2; } |
Pętla N-krotna |
for (zmienna = wart1; zmienna <= wart2; zmienna++) instrukcja ; | |
Pętla 0..? –krotna |
WHILE warunek DO instrukcja; |
while ( warunek ) instrukcja ; |
Pętla 1..? –krotna |
REPEAT lista_instrukcji; UNTIL warunek_końca; |
do { lista_instrukcji; }
while ( warunek ); |
Instrukcje sterowania | ||
Wyjście z bloku |
BREAK |
break |
Powrót z procedury |
return | |
Zwrócenie wartości z funkcji |
nazwa_funkcji := rezultat; |
return rezultat ; |
Przerwanie programu |
HALT
; |
|
Skok do etykiety |
GOTO etykieta; |
goto etykieta; |
Obsługa standardowego wejścia-wyjścia | ||
Czytanie |
READLN ( zmienna ); |
scanf ("%format",&zmienna); |
Pisanie tekstu |
WRITE ( 'tekst' ); |
printf ("tekst"); |
Pisanie tekstu i zmiana linii |
WRITELN ( 'tekst' ); |
printf ("tekst\n"); |
Pisanie wartości zmiennych |
WRITE ( wyrażenie ); |
printf ( "%format" , wyrażenie); |
Różne | ||
Czyszczenie ekranu |
CLRSCR |
clrscr ( ) |
Ustawianie kursora |
GOTOXY (X, Y) |
gotoxy (X, Y ) |
Stan klawiatury |
KEYPRESSED |
|
Odczyt przycisku |
READKEY |
|
Kolor
czcionki |
TEXTCOLOR |
textcolor |
Kolor wypełnienia |
TEXTBACKGROUND |
textbackground |
Tryb graficzny |
INITGRAPH |
initgraph |
Wyłączenie trybu graficznego |
CLOSEGRAPH |
closegraph |
|
|
|
|
|
|
|
Pascal |
C |
Operatory | ||
Dodawanie, odejmowanie |
+ - |
|
Mnożenie, zmiana znaku |
* - |
* - |
Dzielenie |
||
Dzielenie całkowite |
||
Reszta z dzielenia |
MOD |
% |
Porównanie |
= |
= = |
Relacji |
< > <= >= |
< > <= >= |
Nierówność |
<> |
!= |
Negacja logiczna |
NOT |
! |
Logiczne LUB, I |
OR
AND |
||
&& |
Bitowe LUB, I |
OR AND |
| & |
Różnica symetryczna |
XOR |
^ |
Odwołanie do adresu |
@ |
& |
Wyłuskanie |
^ |
* |
Wskazanie bezpośrednie |
. |
. |
Wskazanie pośrednie |
|
-> |
Wymuszenie typu |
typ( wartość ) |
( typ ) wartość |
Obliczenia |
math.h | |
Zwiększenie zmiennej o 1 |
INC ( zmienna ); |
zmienna++; lub ++zmienna; |
Zmniejszenie zmiennej o 1 |
DEC ( zmienna ); |
zmienna--; lub --zmienna; |
Zwiększenie zmiennej o X |
zmienna := zmienna + X; |
|
Zmniejszenie zmiennej o X |
zmienna := zmienna - X; |
|
Inicjalizacja wartości losowej |
RANDOMIZE |
srand ( zarodek ) |
Wartość losowa |
RANDOM ( zakres ) |
rand ( ) % zakres |
Sinus, cosinus |
SIN
COS |
sin
cos |
F. wykładnicza, log. naturalny |
EXP LN |
exp log |
Część całkowita |
INT |
|
Pierwiastek kwadratowy |
SQRT |
|
Zamiana l.rzecz. na całk. |
i
:= ROUND (
r ) |
i = r |
Operacje na tekście |
string.h | |
Długość ciągu znaków |
LENGTH ( tekst
) |
strlen ( tekst ) |
Kopiowanie łańcuchów |
cel := źródło ; |
strcpy ( cel, źródło ) ; |
Łączenie łańcuchów |
t1
:= t1 +
t2 ; |
strcat (
t1, t2 ) ; |
Znalezienie podciągu |
POS ( podciąg , ciąg ) |
strstr ( ciąg , podciąg ) |
Zamiana na liczbę |
VAL ( ciąg, wynik, błąd ) |
wynik = atof ( ciąg ) |
Porównanie ciągów |
ciąg1 = ciąg2 |
strcmp ( ciąg1 , ciąg2 ) = = 0 |
Operacje na znakach |
ctype.h | |
Znak numer n z łańcucha t |
t [ n
] |
t [ n-1
] |
Czy duża litera? |
znak IN [‘A’..’Z’] |
isupper ( znak ) |
Zmień na dużą literę |
duża := UPCASE ( mała ) |
duża := toupper ( mała ) |
Wskaźniki | ||
Pusty wskaźnik |
NIL |
NULL |
|
|
|
|
Pascal |
C |
Obsługa plików | ||
Typ pliku binarnego |
FILE |
|
Typ pliku tekstowego |
TEXT |
|
Domyślny plik wejściowy |
INPUT |
stdin |
Domyślny plik wyjściowy |
OUTPUT |
stdout |
Otwarcie pliku |
ASSIGN ( plik , nazwa ) |
plik = fopen (nazwa , ″tryb″) |
...do odczytu |
RESET ( plik ) |
tryb = r lub rb |
...do modyfikacji |
RESET ( plik ) |
|
...do zapisu |
REWRITE ( plik ) |
tryb = w lub wb |
...do dopisywania |
APPEND ( plik ) |
tryb = a |
Wczytanie znaku |
READ (plik , zmienna ); |
wczytany_znak = getc ( plik ); |
WRITE (plik , znak ); |
putc ( znak , plik ) | |
Test na koniec pliku |
EOF ( plik ) |
|
Zamknięcie pliku |
CLOSE
( plik ); |
fclose ( plik ); |
|
|
|
O czym należy pamiętać | ||
Mała i duża litera to dwa różne znaki |
Nie |
Tak |
Tablice traktowane są jak |
zmienne |
wskaźniki |
Napisy zawierają ciąg znaków |
|
plus symbol końca (\0) |
Znaki w ciągach numerowane |
od 1 |
od 0 |
Zmienne (a nie wartości) do funkcji przekazujemy |
oznaczając parametr słowem VAR w deklaracji funkcji |
tylko poprzez wskaźnik na zmienną |
Operatory logiczne mają wyższy priorytet niż operatory porównań |
Nie, konieczne nawiasy w złożonych porównaniach |
Tak |
W wyrażeniu może występować kilka operatorów podstawienia |
Nie |
Tak |
Przed ELSE stawiamy średnik |
Nie |
Tak |
W każdym przypadku CASE/SWITCH używamy BREAK |
Nie |
Tak |
Po nazwie funkcji używamy nawiasów |
Tylko gdy podajemy parametry |
Zawsze |
Element pliku jest typu |
BYTE (wartości 0 do 255) |
int (wartości –1 do 255) |
|