Documente Academic
Documente Profesional
Documente Cultură
RAPORT
la lucrarea de laborator nr. 1
la Programarea Calculatoarelor
Varianta 5
Chişinău 2020
Scopul lucrării
Evidenţierea nivelului de cunoştinţe a fiecărui student la informatică, în mod
deosebit algoritmizarea, pentru elaborarea unui plan individual de studiu pe viitor
la lucrările practice şi lucrările de laborator pe parcursul semestrului.
Obiectivele temei
Aprecierea personală a nivelului de cunoaştere a următoarelor
compartimente:
a echipamentelor periferice şi unităţilor-componente ale calculatorului
electronic personal (PC);
a acţiunilor elementare referitoare la sistemele de operare (SO) MsDOS,
Windows etc.;a manipulărilor de bază referitor la principalele activităţi în
prelucrarea fişierelor de sistem cu ajutorul membranelor
FarManager/DOSNavigator/ NortonCommander, Start, MyComputer, bare
şi ferestrele Windows-ului instalat, Office 200x;
a mediului dezvoltat integrat Turbo Pascal (TP) şi TC, a algoritmizării şi a
procedeelor de scriere/citire a datelor şi utilizarea construcţiilor elementare
a limbajului TP predestinate calculelor valorilor conform formulelor din
matematică şi fizică, elaborând algoritmi cu structuri liniare, ramificative,
ciclice;
a tehnicilor de programare şi principilor de elaborare a modelelor de calcul.
Însuşirii principiului algoritmizării şi programării cu rezolvarea propriilor
variante.
1. Extras Teoretic
Programarea veritabilă n-are frontieră între ştiinţele exacte şi artă. Ştiinţele
exacte îţi coordonează conduita, iar arta îţi sugerează soluţiile netradiţionale
prin posibilitatea neordinară de a găsi nuanţele “colore” al succesului în
timpul analizei şi soluţionarea problemei. Practica rezolvării problemelor
folosind un limbaj de programare a determinat de-a lungul timpului diverse
abordări în funcţie de performanţa limbajului de programare, performanţa
calculatorului şi nu în ultimul rând, în funcţie de metodele şi tehnicile
avansate, privind implementarea raţionamentelor pentru demonstraţiile
corespunzătoare problemelor.
Pentru a obţine un model de calcul al unei probleme care să fie
implementat pe PC trebuie de respectat etapele algoritmizării şi creării
programului conform regulilor sintactice şi semantice ale limbajului de
programare ales ca să atingem scopul scontat cât mai eficient. De aceea
pentru adoptarea unor decizii cât mai corecte şi eficiente, este necesar să se
folosească rezultatele obţinute în toate celelalte etape (niveluri de
cunoaştere a metodelor de rezolvare, formule, experimente sau
măsurătoarele efectuate, legi stabilite etc.).
2. Rezolvare
True False
IF
Start
Z:=X-Y Z:=X+Y
Var
Read Read
Write Write
For Stop
+, -, *, /, sqr()....
5.1 Structura programului Turbo Pascal:
program <nume_program>;
uses <biblioteci cu funcții și proceduri folosite în program>
type <tipuri de date definite de utilizator>
const <constante folosite în program>
var <variabile globale folosite în program>
<aici se pot scrie funcții și proceduri folosite în program>
begin
<aici se scrie programul principal>
end.
7 Funcții predefinite
Odd(x) – Returneaza TRUE pentru x- par și FALSE pentru x – Impar
Pred(x) – Returneaza predecesorul lui x
Succ(x) – Returneaza succesorul lui x
Frac(x) – Returneaza partea fractionara a lui x
Inc(x) – Creste pe x cu 1
Dec(x) – Scade pe x cu 1
Inc(x, y) – Mareste valoare lui x cu y
Dec(x, y) – Scade valoare lui x cu y
Abs(x) – Returnarea modulului numarului x
Round(x) – Rotunjește pe x la cel mai apropiat întreg (integer)
Int(x) – Rotunjește pe x la cel mai apropiat număr (real)
Trunc(x) – Truncheaza pe x, returnând număr întreg prin eliminarea
zecimalelor
Sqr(x) – Ridică pe x la puterea a 2-a
Sqrt(x) – Returnează radicalul numarului x
Sin(x) – Returnează sinusul unghiului x exprimat în radiani
Cos(x) – Returnează cosinusul unghiului x
Arctan(x) – Returnează tangenta unghiului x
Ln(x) – Returneaza logaritmul natural din x
Exp(x) – Returneaza valoare e ridicata la puterea x
Răspuns:
1.1 F = 0.00000000000000E+000 = 0
Fx = 2.71828182845905E+000
1.2 F = 2.00000000000000E+000 = 2
Fx = 2.71828182845905E+000
2 Z = 1.00000000000000E+000 = 1
3 V = 1.00000000000000E+000 = 1
9* Cum trebuie scrisă în TP instrucţiunea de atribuire, fără a utiliza
cicluri, pentru calcularea valorii E?
Răspuns : 7
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
double main()
{
double p = 0.7;
double s = 1.605;
double t = 0.5;
for (double t = 0.5; t <= 1; t += 0.1) {
double u = pow(sin(s - 1), 3) / p - pow(tan(s - s * t), 3);
double z = pow(sin(s - 1), 3) / p - pow(tan(s - s * t), 3);
if (z < 0) {
z = abs(z);
}
double o = sqrt(z / s) + pow(sin(s - p), 4);
printf("u= %f o= %f\n", u, o);
}
return 0;
}
Rezultatul este:
u= -0.845241 o= 0.382498
u= -0.155092 o= 0.382498
u= 0.120180 o= 0.656138
u= 0.226082 o= 0.757813
u= 0.258598 o= 0.783897
u= 0.262841 o= 0.787176
25 p 15
a)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float main()
{
float n;
float cm;
scanf("%f" ,&n);
cm = n * 100;
printf("%f cm \n", cm);
}
b)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float main()
{
float n;
float mg;
scanf("%f" ,&n);
mg = n * 1000000;
printf("%f mg \n", mg);
}
c)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float main()
{
float n;
float t;
scanf("%f" ,&n);
t = n/1000;
t = (int) t;
printf("%f t" , t);
return 0;
}
d)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float main()
{
float n;
float a, l, s;
scanf("%f" ,&n);
a = n / 365;
l = a * 12;
s = n / 7;
printf("%f ani %f luni %f saptamani", a, l ,s);
return 0;
}
26 p 15
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float main()
{
float a, p, s, pr, d, r, k;
scanf("%f%f%f", &a, &p, &s);
pr = 1 + (p/100);
d = pr * s;
r= d - s;
k = r * a + s;
printf("%f", k);
return 0;
}
27 p 15
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float main()
{
float a , b , c;
scanf("%f%f", &a, &b);
c = a;
a = b;
b = c;
printf("%f %f", a ,b);
return 0;
}