Clasa a V-a lecția 2 - 4 sep 2014

From Algopedia
Jump to: navigation, search

Anunț

Doar 24 dintre voi s-au înscris pe grupul Clubul gânditorilor. Cei care nu s-au înscris vă rog să o faceți urgent. Instrucțiuni de înscriere aici.

Tema - rezolvări

Rezolvări aici [1]

Lecție

Exercițiu de încălzire: un grup de oameni își strîng mîna fiecare cu fiecare. În total sînt 21 de strîngeri de mînă. Cîţi oameni sînt?

Programarea structurată

Programarea structurată este un mod de a scrie scheme logice care îmbunătățește claritatea, citibilitatea, calitatea și ușurința modificării ulterioare. Denumirea vine de la Programarea cu structuri. Mai exact, programarea structurată ne limitează modul în care putem folosi și îmbina blocurile. Ele pot fi aranjate în trei feluri distincte, conform unor modele numite structuri. În continuare vom studia două dintre aceste structuri.

Structura liniară

Se mai numește și structură de calcul. Ea constă dintr-o înșiruire de blocuri de calcul și blocuri de citire/scriere.

Structura liniară

Structura alternativă

Structura alternativă este compusă dintr-un bloc de decizie, două ramuri de execuție, DA și NU, care se reunesc la final.

Structura alternativă

Operatori

Vom enumera principalii operatori pe care îi vom folosi în scheme logice.

Operatori aritmetici

Operatorii aritmetici pe care îi putem folosi în blocurile de calcul sînt:

Operator Semnificație Exemplu
+ Adunarea a două numere x ← a + b
- Scăderea a două numere y ← y - 10
* Înmulțirea a două numere x ← a * 10
/ Împărțirea întreagă a două numere (cîtul împărțirii) x ← 14 / 3 (x primește valoarea 4)
% Împărțirea întreagă a două numere (restul împărțirii) x ← 14 % 3 (x primește valoarea 2)
( ) Paranteze: schimbul ordinii operațiilor x ← 2 * (10 - (3 + 4)) (x primește valoarea 6)
 __

Radical: partea întreagă a operațiunii radical
     __
x ← √10
(x primește valoarea 3)

Operatori de comparație și logici

Operatori de comparație și logici: = ≠ < ≤ > ≥ și sau

Exerciții

Exerciții de folosire a structurilor liniară și alternativă.

Testul de divizibilitate

Testul de divizibilitate n cu k, discuție cele două metode, prima folosind operatorul %, a doua folosind operatorul /.

n divizibil cu k, varianta 1
n divizibil cu k, varianta 2

Extragerea ultimei cifre

Să se afișeze ultima cifră a unui număr n, folosind operatorul '%', respectiv restul împărțirii la 10. Am demonstrat că restul împărțirii la 10 este ultima cifră a unui număr.

Ultima cifră a lui n

Extragerea primei cifre

Se citește n, un număr natural strict mai mic decît 100. Să se afișeze prima cifră a lui n.
Prima cifră a lui n, n < 100

Laturile unui triunghi

Se citesc trei numere, a, b și c. Să se spună dacă pot fi laturile unui triunghi.
a, b, c pot fi laturile unui triunghi?

Temă

  • Puzzle: ce urmează în secvență:
Ce simbol urmează în secvența?
  • Sînt 10 oameni numerotați de la 1 la 10. Omul cu numărul 1 spune "fix unul dintre noi minte". Omul cu numărul 2 spune "fix doi dintre noi mințim". Și așa mai departe, al nouălea om spune "fix nouă dintre noi mințim", iar al zecelea susține că "toți mințim". Cine minte și cine spune adevărul?
  • Puzzle: vine fluxul. Apa urcă trei sferturi de metru la fiecare sfert de oră. Vaporul are 3 metri jumate de la apă pînă sus la buză. În cît timp se va revărsa apa în vapor?
  • Schemă logică: să se spună dacă un număr n are ultimele două cifre consecutive, în ordine crescătoare. Exemple: 312, 4523 și 1 sînt numere care au ultimele două cifre consecutive. 215, 4321 și 7 nu au ultimele două cifre consecutive crescător.
  • Schemă logică: să se spună dacă n copii se pot așeza în formă de pătrat plin. Exemple:
    • Nouă copii se pot așeza în formă de pătrat astfel:
      Nouă copii așezați în formă de pătrat
    • 14 copii nu se pot așeza în formă de pătrat:
      14 copii

Rezolvări aici [2]