The topic in the ANCE tests: Tipuri de date și expresii
zzz
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 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), ord(A)=0 și ord(E)=4.
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: −7mod4=−3
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: trunc(68,8)=68; î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: sinx1−cos2x 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).
The rest of the lesson is in the subscription
The real ANCE items where the topic appears, the step-by-step solved example, the typical mistakes and the 7 check questions open with the subscription. “What you must know” stays free.
Source of the tests: the National Agency for Curriculum and Assessment, ance.gov.md. Nota10 is not affiliated with MEC or ANCE. Automatic grading is an estimate, not an official grade.