Уроки · BAC · Информатика
Tipuri de date și expresii în Pascal și C++
Тема из тестов ANCE: Tipuri de date și expresii
Subiectul II începe cu tipuri de date, identificatori și valoarea expresiilor, în Pascal și în C++. Aici ai tipurile puse față în față, regulile operatorilor și felul în care baremul plătește fiecare valoare și fiecare tip.
Урок на румынском.
- Что нужно знать
- Как это бывает на экзамене
- Разбор примера
- Типичные ошибки
- Проверь себя
Что нужно знать
Tipurile pe care le cer testele
| Pascal | C++ | ce reține | ordinal |
|---|---|---|---|
integer | int | numere întregi | da |
real | float | numere reale | nu |
char | char | un caracter | da |
boolean | bool | true sau false | da |
string | string | un șir de caractere | nu |
(A, B, C) enumerat | enum {A, B, C} | valori numite, în ordine | da |
array[1..10] of integer | int B[10] | tablou | nu |
record ... end | struct { ... } | componente de tipuri diferite | nu |
Tipurile ordinale au valori numărabile, fiecare cu un predecesor și un succesor; pe ele funcționează ord, chr, succ, pred și instrucțiunea for. Tipul enumerat este ordinal, iar valorile lui au indici de la 0: în type xx = (A, B, C, D, E), și .
Identificatori și cuvinte-cheie
Un identificator începe cu literă sau liniuță de subliniere și conține litere, cifre și liniuțe: abc și a1b2 sunt identificatori, 3a2b nu este element al limbajului, fiindcă începe cu o cifră. case, for, type (Pascal), switch, typedef (C++) sunt cuvinte-cheie și nu pot fi folosite ca nume de variabile.
Operatori și ordinea lor
- aritmetici:
+,-,*, iar împărțirea are două forme:/dă un rezultat real în ambele limbaje,divșimod(Pascal),/și%între întregi (C++) dau câtul și restul întreg divșimodcer operanzi întregi:y mod tcuyreal este o greșeală de sintaxă, la fel cay % tîn C++- restul păstrează semnul deîmpărțitului:
- de comparare:
=,<>,<,<=,>,>=în Pascal;==,!=,<,<=,>,>=în C++ - logici:
not,and,orîn Pascal;!,&&,||în C++ - ordinea: funcțiile și parantezele, apoi
not, apoi*,/,div,mod,and, apoi+,-,or, iar la urmă comparările
Atribuire și comparare
În Pascal atribuirea este :=, iar = compară: c = chr(ord(c) - 2) nu schimbă pe c, ci dă o valoare booleană. În C++ atribuirea este =, iar compararea ==, și o atribuire are ea însăși o valoare, de tipul variabilei din stânga.
Funcții predefiniteabs, sqr (Pascal) sau pow (C++), sqrt, trunc, round, ord, chr, length. trunc taie partea fracționară fără rotunjire: ; în C++ același efect îl dă conversia int(...). Codul ASCII al literei A este 65, deci ord('D') = 68.
Cum scrii o expresie matematică în cod
Treci fracția pe un rând, cu paranteze la numărător și la numitor, și înlocuiești fiecare simbol cu funcția lui: devine sqrt(abs((1 - sqr(cos(x))) / sin(x))) în Pascal și sqrt(fabs((1 - pow(cos(x), 2)) / sin(x))) în C++. Fiecare funcție și fiecare pereche de paranteze are punctul ei în barem.
Afișarea cu format
În Pascal write(y:0:2) afișează un număr real cu două zecimale, iar write(x:5) îl aliniază pe cinci poziții. În C++ aceleași lucruri se fac cu setw(5), fixed și setprecision(2).
Остальная часть урока доступна по подписке
Настоящие задания ANCE по этой теме, разбор примера шаг за шагом, типичные ошибки и 7 вопросов для самопроверки открываются по подписке. «Что нужно знать» остаётся бесплатным.
Открывается по подписке
- Как это бывает на экзамене
- Разбор примера
- Типичные ошибки
- Проверь себя
