Nota10

Уроки · 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

PascalC++ce rețineordinal
integerintnumere întregida
realfloatnumere realenu
charcharun caracterda
booleanbooltrue sau falseda
stringstringun șir de caracterenu
(A, B, C) enumeratenum {A, B, C}valori numite, în ordineda
array[1..10] of integerint B[10]tablounu
record ... endstruct { ... }componente de tipuri diferitenu

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 și mod (Pascal), / și % între întregi (C++) dau câtul și restul întreg
  • div și mod cer operanzi întregi: y mod t cu y real este o greșeală de sintaxă, la fel ca y % 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 predefinite
abs, 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 вопросов для самопроверки открываются по подписке. «Что нужно знать» остаётся бесплатным.

Открывается по подписке

  • Как это бывает на экзамене
  • Разбор примера
  • Типичные ошибки
  • Проверь себя

Проверь свой уровень бесплатно