Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
programarii
Algoritmi. Scheme logice
Generaliti
Un calculator este o maina ce permite rezolvarea unor probleme
prin executarea unui lan de instruciuni.
O succesiune de instruciuni se numete program.
Instruciunile ce pot fi recunoscute i executate de microprocesor
sunt simple i limitate ca numr, pentru a nu complica structura
hardware dar consistente pentru a fi utilizat eficient puterea de
calcul.
Limbajele de programare sunt limbaje artificiale, folosite n tiina
calculatoarelor, pentru a scrie secvene de instruciuni (programe),
care pot fi executate de calculator. Similar limbajelor naturale,
limbajele de programare au vocabular, gramatic i sintax.
Limbajele de programare trebuie s aib structuri logice simple i
reguli gramaticale foarte precise.
interpretare
Fiier surs
Fiier obiect
Program
surs
Program
obiect
Limbaj
superior
Limbaj cod
main
compilare
Rezultate
obinute de
execuia
programului
lansare in execuie
LANGUAGE
ORIGIN OF NAME
YEAR
USES/COMMENTS
ADA
1979
ALGOL
ALGOrithmic Language
1960
First structured procedural programming language, used mainly for solving math problems.
APL
A Programming Language
1961
Interpreted language using a large set of special symbols and terse syntax. Used primarily
by mathematicians.
BASIC
1965
1972
C++
1985
C++ is used in numerous fields, such as accounting and finance systems, and computeraided design. Supports object-oriented programming.
COBOL
1959
FORTH
1970
FORTRAN
FORmula TRANslation
1954
Initially designed for scientific and engineering uses, a high-level, compiled language now
used in many fields. Introduced several concepts such as variables, conditional
statements, and separately compiled subroutines.
JAVA
1990
Originally developed for use in set-top boxes, transitioned to the World Wide Web in 1994.
LISP
LISt Processing
1960
LOGO
1968
Programming language often used with children. Features a simple drawing environment
and several higher-level features from LISP. Primarily educational.
Modula-2
1980
Pascal
1971
Compiled, structured language, based on ALGOL. Adds data types and structures while
simplifying syntax. Like C language, it is a standard development language for
microcomputers.
PILOT
1969
PL/1
1964
Designed to combine the key features of FORTRAN, COBOL, and ALGOL, a complex
programming language. Compiled, structured language capable of error handling and
multitasking, used in some academic and research environments.
VB
Visual Basic
1990
START
STOP
Blocul de nceput i
Blocul de sfrit al
schemei logice
Blocul de calcul
Calculul ce trebuie executat
se scrie in interiorul
dreptunghiului
CITETE
Blocul intrare
lista mrimi
SCRIE
Blocul ieire
lista mrimi
Blocul de decizie
DA
NU
C
Variabile
Operatori matematici:
Constante
+ - * /
Identificatori
Semnul de atribuire
:=
Operatori logici:
< > >= <= <>
Instructiunile limbajului
START
STOP
RUN
STOP
LET expresie de calcul
INPUT lista
CITETE
READ lista
lista mrimi
asociat cu
PRINT lista
lista mrimi
LPRINT lista
IF c THEN instructiune DA
DA
NU
C
GOTO eticheta
Variabile
Operatori matematici:
Constante
+ - * /
Identificatori
Semnul de atribuire
LET
Operatori logici:
< > >= <= <>
a,b
x:=-b/a
nu
CITETE
a=0
da
SCRIE
Ec. imp.
SCRIE
x=,x
STOP
5 CLS
10 INPUT "a=", a
20 INPUT "b=", b
30 IF a = 0 THEN PRINT "ecuatie imposibila": STOP
40 LET x = -b / a
50 PRINT "x="; x
60 STOP
citete
n
i:=1
citete
a(i)
scrie
min
NU
i:=i+1
DA
DA
i<=n
i<=n
NU
min:=a(1)
i:=2
i:=i+1
DA
min<=a(i)
NU
min:=a(i)
STOP
5 CLS
10 INPUT "n=", n: DIM a(n)
20 LET i = 1
30 PRINT "a("; i; ")"; : INPUT "="; a(i)
40 LET i = i + 1
50 IF i <= n THEN GOTO 30
60 LET min = a(1)
70 LET i = 2
80 IF min > a(i) THEN min = a(i)
90 LET i = i + 1
100 IF i <= n THEN GOTO 80
110 PRINT "minimul este"; min
120 STOP
5 CLS
10 INPUT "n=", n: DIM a(n)
20 FOR i = 1 TO n
30 PRINT "a("; i; ")"; : INPUT "="; a(i)
50 NEXT i
60 LET min = a(1)
70 FOR i = 2 TO n
80 IF min > a(i) THEN min = a(i)
90 NEXT i
110 PRINT "minimul este"; min
120 STOP
citete
n
i:=1
citete
a(i)
scrie
s=,s
NU
i:=i+1
DA
DA
i<=n
i<=n
NU
i:=i+1
s:=0
i:=1
s:=s+a(I)
STOP
5 CLS
10 INPUT "n=", n
20 FOR i = 1 TO n
30 PRINT "a("; i; ")"; : INPUT "="; a(i)
50 NEXT i
60 LET s = 0: LET p = 1
70 FOR i = 1 TO n
80 LET s = s + a(i): LET p = p * a(i)
90 NEXT i
110 PRINT "suma este"; s, "produsul este"; p
120 STOP
citete
n
i:=1
citete
a(i)
NU
DA
scrie
ordonare
gata
STOP
NU
i:=i+1
DA
DA
s=0
i<=n-1
i<=n
NU
s:=0
i:=1
i:=i+1
s:=1
DA
a(i)<=a(i+1)
NU
t:=a(i)
a(i):=a(i+1)
a(i+1):=t
5 CLS
10 INPUT "n=", n: DIM a(n)
20 FOR i = 1 TO n
30 PRINT "a("; i; ")"; : INPUT "="; a(i)
50 NEXT i
60 LET s = 0
70 FOR i = 1 TO n - 1
80 IF a(i) > a(i + 1) THEN t = a(i): a(i) = a(i + 1): a(i + 1) = t: s = 1
90 NEXT i
100 IF s <> 0 THEN GOTO 60
110 PRINT "sirul a fost ordonat"
115 FOR i = 1 TO n: PRINT "a("; i; ")="; a(i): NEXT i
120 STOP
citete
v, n
i:=1
citete
a(i)
scrie
val. nu e n ir
NU
i:=i+1
DA
DA
i<=n
i<=n
NU
i:=i+1
NU
i:=1
v = a(i)
DA
scrie
val. gsit
STOP
5 CLS
10 INPUT "n=", n: DIM a(n)
20 FOR i = 1 TO n
30 PRINT "a("; i; ")"; : INPUT "="; a(i)
50 NEXT i
60 INPUT "v="; v
70 FOR i = 1 TO n
80 IF v = a(i) THEN PRINT "valoare gasita la poz."; i: STOP
90 NEXT i
110 PRINT "valoarea nu e in sir"
120 STOP
citete
v, n
NU
i:=1
citete
a(i)
DA
j=1 sau
i=n
scrie
val. nu e n ir
i:=k
NU
i:=i+1
v < a(k)
DA
i<=n
NU
DA
NU
v = a(k)
a(i)
i:=1
j:=n
j:=k
k:=INT ((i+j)/2)
DA
scrie
val. gsit, k
STOP
5 CLS
10 INPUT "n=", n: DIM a(n)
20 FOR i = 1 TO n
30 PRINT "a("; i; ")"; : INPUT "="; a(i)
50 NEXT i
60 INPUT "v="; v
70 LET i = 1: LET j = n
75 LET k = INT((i + j) / 2)
80 IF v = a(k) THEN PRINT "valoare gasita la poz."; k: STOP
90 IF v < a(k) THEN j = k ELSE i = k
100 IF i = n OR j = 1 THEN PRINT "valoarea nu e in sir": STOP
120 GOTO 75
5 CLS
10 INPUT "n=", n: DIM a(n)
20 FOR i = 1 TO n
30 PRINT "a("; i; ")"; : INPUT "="; a(i)
50 NEXT i
60 INPUT "v="; v
65 IF v = a(n) THEN PRINT "valoare gasita la poz."; n: STOP
70 LET i = 1: LET j = n
75 LET k = INT((i + j) / 2)
80 IF v = a(k) THEN PRINT "valoare gasita la poz."; k: STOP
90 IF v < a(k) THEN j = k ELSE i = k
100 IF i = n OR j = 1 THEN PRINT "valoarea nu e in sir": STOP
ciclul cu test
iniial
ciclul cu test
final
SECVENA
DECIZIA
s1
DA
NU
s2
...
s1
sn
SELECIA
s1
s2
.....
sn
s2
DA
NU
c
NU
DA