Lectia 1
Lectia 1
Lectia 1
Informatica = stiinta care prelucreaza datele cu ajutorul calculatorului in vederea obtinerii de
informatii
Calculator:
- Partea hardware – componentele fizice
- Partea software – sistem de operare (windows, android, IOS,…), programe, aplicatii
(paint, jocurile,…)
Algoritm
= o metoda de rezolvare a unei probleme
= o succesiune logica de etape/ pasi care aplicata unor date de intrare (DI) conduc la date de
iesire (DE)
= prelucreaza automat informatiile
Proprietati Algoritm
- Finititudine = sa se termine intr-un timp finit; sa foloseasca cat mai putina memorie si sa
se execute intr-un timp cat mai scurt
Exp. Sa se afiseze primele 100 patrate perfecte.
-> se analizeaza pe rand numerele 1, 2, 3, … - si se verifica pt fiecare daca este
sau nu patrat perfect – se vor verifica 10.000 (=100*100) numere si se implementeaza si un
algoritm de verificare daca este patrat perfect sau nu
-> se afiseaza 12, 22, 32, …. 1002 – se vor face 100 de inmultiri
- Claritate = procesul de calcul trebuie descris precis, fara ambiguitati
- General = se aplica universal pe o clasa de probleme
Exp. Sa se afiseze primele n (numar natural) patrate perfecte.
Exp:
1. Ia comanda
2. Ia mancarea
3. Iesi din bucatarie
4. Ocoleste clientii si mesele
5. Mergi la masa catre trebuie servita
6. Pune mancarea pe masa
7. Se adreseaza politicos
Reprezentare algoritm:
- PSEUDOCOD = reprezentarea in limbaj natural; identificam DI, DE si pasii algoritmului
- Schema logica
- Limbaj de programare (Scratch, C, C++, Pascal, etc)
Obiecte cu care lucreaza un algoritm:
- Constante - nu isi pot schimba valoarea; pot fi:
o constante intregi: 5, 20, 5435
o constante reale: 1.5, 3.14 = partea intreaga 3 si partea zecimala 14
o constante caracter: ‘s’, ‘r’, ‘ ‘ = caracterul spatiu
o constante sir de caractere: “sir”, “clasa spatioasa”, “ai obtinut rezultatul” = un
mesaj
- Variabile (DI, DE, date de manevra) = are un nume si un tip de data, adica multimea de
valori pe care le poate lua variabila; exp: S = variabila de tip numar natural, X = variabila
de tip text
- Operatii:
o Citire, scriere
o Atribuire (<-, :=, =); exp: E<-10; ab<-a*10+b
o Decizia; exp: daca S<10 executa S <- S+1
Ex1. Se dau 2 nr care reprezinta laturile unui dreptunghi. Determinati aria si perimetrul
dreptunghiului.
-----
----PSEUDOCOD----
DI: a,b
DE: aria, perimetrul
A = l*L
P = 2*(L+l)
Alg: Pas1: citim a,b
Pas2: aria <- a * b
Pas3: perimetrul <- 2*a + 2*b
sau 2*(a+b)
Pas4: scriem aria, perimetrul
---C++-----
#include <iostream>
int main()
{
int a, b, aria, perimetrul, kokolino;
aria = a*b;
perimetrul = a*2+b*2;
kokolino = (a+b)*2;
cout << "Aria dreptunghului este: " << aria<< endl<< endl;
cout << "Perimetrul dreptunghului este: " << perimetrul << endl;
cout << "Perimetrul calculat altfel al dreptunghului este: " << kokolino << endl;
Ex2. Se dau 2 cifre a si b. Determinati cele 2 nr care se pot forma cu cifrele date.
---
----PSEUDOCOD----
DI: a, b
DE: ab, ba
Exemplu: a = 2, b = 7
27 care se obtine din 2*10+7 (10*a+b)
72 care se obtine din 7*10+2 (10*b+a)
Alg: citim a,b
ab <- 10*a+b
ba <- 10*b+a
scrie raspunsul ab, ba
-----C++-----
#include <iostream>
int main()
{
int a, b, ab, ba;
ab = a*10+b;
ba = b*10+a;
cout << "Numerele care se pot forma cu " << a << " si " << b << " sunt: " << ab << " si " << ba
<< endl;
Ex2’. Se dau 2 numere a si b. Determinati cele 2 nr care se pot forma cu cele 2 numere prin
alaturarea lor.
De rezolvat
Ex3. Se dau numerele a, b si c. Determinati ce valori vor avea a,b si c dupa urmatoarele
operatii:
a:= b+c
b:=c+a
c:=b+a
---
DI: a, b, c
DE: a, b, c
Alg: citim a,b,c
a <- b+c
b <- c+a
c <- b+a
scrie a,b,c
Ex.4 Se dau cifrele c1 si c2. Determinati ce nr se pot forma din cifrele c1, c1, c2.
----
Exp: c1 = 7, c2 = 4
=> 747, 774, 477
DI: c1, c2
DE: x1, x2, x3
Alg: citeste c1, c2
x1=100*c1+10*c2+c1
x2=100*c1+10*c1+c2
x3=100*c2+10*c1+c1
scrie x1, x2, x3
DI: x, y, a, b
DE: S
Alg: citeste x, y, a, b
S=x*a+y*b
scrie S