Академический Документы
Профессиональный Документы
Культура Документы
-- 1. 1 --
-- 1. 2 --
Elaborarea algoritmului Codificarea algoritmului Program surs Crearea fiierului surs Consola Editor de texte Fiier surs Compilare Fiier surs Compilator Fiier obiect Generarea programului executabil (Fiier obiect + Biblioteci de funcii) Editor de legturi Fiier executabil
-- 1. 3 --
Editare
Compilare Editare de legturi Execuie
x.c
x.obj
x.exe rezultate
(fiier obiect)
(fiier executabil)
-- 1. 4 --
valoare curent (v) procent actualizare (p) - prelucrare: calculul valorii actualizate - rezultat: valoarea calculat (r)
-- 1. 5 --
-- 1. 6 --
valori ntregi prea mari pentru a fi memorate ca atare scalare (de exemplu valorile de ordinul milioanelor se pot exprima n mii lei) operaiile cu operanzi de tip ntreg au rezultat de tip ntreg pentru a obine rezultat de tip real (cu parte subunitar) cel puin unul dintre operanzi trebuie s fie de tip real conversia de la real la ntreg se realizeaz cu trunchierea prii subunitare eventuala rotunjire trebuie realizat explicit
-- 1. 7 --
Limbajul C standard
- face distincie ntre literele mari i literele mici (este case-sensitive)
-- 1. 8 --
Structura programelor C
/*-- nume.c --*/ /*-- comentariu initial --*/ /*-- directive includere fisiere antet --*/ #include <stdio.h> #include <stdlib.h> #include <conio.h> . . . . . /*-- alte directive --*/ [ definitii si declaratii globale ]
int main() { [ definitii si declaratii locale ] < secventa_instructiuni > return expresie; /* revenire din executie */ }
Programul act.c
/*-- act.c -- actualizare intreg --*/ #include <stdio.h> #include <conio.h>
-- 1. 9 --
int main() { long v; /* valoare actualizata */ float p; /* procent actualizare */ double rr; /* rezultat de tip real */ printf("\nvaloare actualizata = "); scanf("%li", &v); /* citeste valoare v */ printf("procent actualizare = "); scanf("%f", &p); /* citeste procent p */ rr = v * (1 + p / 100); /* calcul rezultat rr */ printf("-> %4.2lf\n", rr); printf(" trunchiat = %li\n",(long)rr); printf(" rotunjit = %li\n",(long)(rr+0.5)); getch(); /* pauza: asteapta apasare tasta */ return 0; /* revenire din executie */ }
-- 1. 10 --
-- 1. 11 --
-- 1. 12 --
Doi intregi: -2 -303 suma = -305 , produs = 606 Doi intregi: 1,2
Sfarsit date
Programul actm.c
/*-- actm.c actualizari repetate --*/ #include <stdio.h> #include <conio.h>
-- 1. 13 --
int main() { long v = 0; /* valoare actualizata */ double p = 0, rr; /* procent actualizare, rezultat */ for (;;) { printf("\nvaloarea actualizata si procent = "); fflush(stdin); /* eliberare zona tampon citire */ if(scanf("%li%lf", &v, &p) < 1 || (v <= 0)) break; rr = v * (1 + p / 100); printf("\t\tv = %li, p = %4.2lf -> %4.2lf\n", v,p,rr); } printf("\nSfarsit date\n"); getch(); return 0; }
-- 1. 14 --
-- 1. 15 --
Tem
Modificai programul de actualizare a unei secvene de valori (actm.c) astfel nct rotunjirea rezultatului s se realizeze la cel mai apropiat multiplu al unei valori de referin, ref > 1, ntreag, citit de la consol. Exemple: rotunjire la multiplu de 100 2325 2300 2378 2400 rotunjire la multiplu de 50 2324 2300 2325 2350
-- 1. 16 --