Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Programe simple; variabile si constante,operatii de intrare/iesire formatate

c



+ Font mai mare | - Font mai mic



Programe simple; variabile si constante,
operatii de intrare/iesire formatate

Probleme rezolvate

P2.1 Scrieti un program care afiseaza pe ecran un text dat.



#include <stdio.h>

#include <stdlib.h>

int main()

Programul va afisa pe ecran, dupa compilare si executie:

Acesta este un program C

creat

de mine.

Discutie

-  Comanda #include realizeaza includerea in fisierul sursa a unui alt fisier (situat intr‑un director cunoscut de catre compilator), in acest caz a unor fisiere speciale care descriu continutul unor biblioteci si care poarta denumirea de fisiere header, avand extensia ".h". In exemplul anterior, stdio.h este fisierul care defineste functiile standard de I/O din biblioteca C (printre acestea numarandu‑se si functiile printf() si scanf()), iar stdlib.h este un fisier ce defineste un numar de functii utilitare din biblioteca standard (cum este si system()

-  Programul propriu‑zis este descris de functia main(). Acoladele , ' din interiorul functiei marcheaza practic inceputul si sfarsitul programului. Instructiunile se executa secvential; in cazul anterior, succesiunea operatiilor corespunde cu cea de scriere a comenzilor, deoarece nu se precizeaza explicit un salt la o alta instructiune.

-  Functia printf() afiseaza sirul de caractere inclus intre ghilimele. Secventa de caractere ,n' determina trecerea afisarii la un rand nou ("newline ). Exista si alte secvente de caractere care determina deplasarea pozitiei urmatoare de afisare.

-  Instructiunea system('PAUSE') are urmatorul efect: dupa afisarea rezultatelor, fereastra de rulare DOS ramane deschisa pana cand se introduce un caracter oarecare de la tastatura, permitand astfel vizualizarea si interpretarea rezultatelor programului (in lipsa unei astfel de comenzi, fereastra se inchide automat dupa rulare).

-  Instructiunea return utilizata in main() determina intoarcerea unui cod de terminare catre sistemul de operare (valoarea intoarsa trebuie sa fie un intreg). Uzual, valoarea , ' indica faptul ca programul s‑a terminat normal; orice alta valoare indica faptul ca exista o eroare. Precizam ca toate programele din aceasta lucrare intorc valori din main(), desi din punct de vedere tehnic acest lucru este optional (strict formal, deoarece instructiunea return este plasata pe ultima linie din main(), executia programului oricum se incheie).

P2.2 Scrieti un program care citeste doua numere intregi a si b si calculeaza suma lor.

#include <stdio.h>

#include <stdlib.h>

int main()

Daca se introduc de la tastatura, de exemplu, numerele -7 si 7, programul va afisa pe ecran, dupa compilare si executie:

Introduceti primul numar, a: -7

Introduceti al doilea numar, b: 7

Suma celor doua numere este 0

Discutie

-  Instructiunea int a, b, s; declara variabilele de tip intreg a, b si s. Variabila s va fi folosita pentru a stoca valoarea sumei dintre a si b

-  Functia scanf citeste un caracter introdus de la tastatura; conform specificatorului "%d", valoarea citita va fi de tip intreg si va fi stocata la adresa variabilei ce urmeaza simbolului ,&

-  Linia s = a + b; atribuie variabilei s valoarea a + b

-  Linia printf('Suma celor doua numere este %d', s); va afisa pe ecran textul Suma celor doua numere este urmat de valoarea calculata a lui s

P2.3 Scrieti un program care calculeaza diferenta a doua numere intregi introduse de la tastatura.

#include <stdio.h>

#include <stdlib.h>

int main()

Daca se introduc de la tastatura, de exemplu, numerele 7 si 9, programul va afisa pe ecran, dupa compilare si executie:

Introduceti doua numere intregi: 7 9

Discutie

-  Instructiunea scanf('%d %d', &a, &b); permite citirea de la tastatura a doua numere intregi: prima valoare citita va fi stocata la adresa variabilei a, cea de a doua la adresa variabilei b. De notat ca spatiul dintre cele doua grupe de caractere "%d" din '%d %d' spune functiei scanf() ca cele doua numere introduse de la tastatura pot fi separate de spatii.

-  Este absolut corecta utilizarea unor expresii (cum este a - b") in lista de parametri a functiei printf(); ele vor fi evaluate inainte de apelul functiei. Aceasta varianta este chiar mai eficienta decat utilizarea unei variabile suplimentare, sa spunem c, careia sa i se atribuie valoarea a - b (aceasta metoda a fost folosita in problema 2.2), deoarece reduce spatiul de memorie necesar programului.



P2.4 Scrieti un program care calculeaza aria unui cerc de raza data; valoarea razei se va citi de la tastatura si va fi un numar intreg.

#include <stdio.h>

#include <stdlib.h>

int main()

Daca se introduce de la tastatura, de exemplu, valoarea 3, programul va afisa:

Introduceti raza: 3

Aria cercului de raza 3 este 28.260000

Discutie

-  Se declara variabila raza de tip intreg. Deoarece suprafata unui cerc nu este neaparat un numar intreg, variabila aria in care este calculata va fi declarata de tip real (deci se va utiliza tipul float

-  Variabila reala pi se initializeaza cu valoarea 3.14. Deoarece aceasta variabila nu este de fapt asociata decat valorii constante 3.14, acelasi efect putea fi obtinut utilizand modificatorul const. Acesta poate fi folosit pentru a crea constante de un anumit tip; astfel, compilatorul va fi informat ca variabila care urmeaza nu poate fi modificata de program. Prin urmare, instructiunea float aria, pi=3.14; din programul anterior se putea inlocui cu:

float aria;

const float pi = 3.14;

-  Comentariile se pot introduce oriunde in program.

P2.5 Scrieti un program care transforma temperatura exprimata in grade Fahrenheit in grade Celsius. Se va utiliza formula: C = (F-32)*5/9 , unde C - grade Celsius (numar real), F - grade Fahrenheit (numar intreg).

#include <stdio.h>

#include <stdlib.h>

int main()

Daca se introduce de la tastatura, de exemplu, valoarea 100, programul va afisa:

Introduceti temperatura in grade Fahrenheit: 100

Temperatura in grade Celsius este 37.777779

Discutie

-  Dupa cum s‑a cerut in enuntul problemei, se declara variabilele gradf de tip intreg si gradc de tip real. Cele doua constante utilizate (5 si 9) se vor introduce in program sub forma si respectiv "; desi asupra acestui lucru vom reveni in capitolul urmator, vom spune deocamdata doar faptul ca rezultatul impartirii a doi intregi este un intreg, deci evaluarea expresiei (gradf - 32)*5/9 ar fi dus la un rezultat incorect (chiar daca variabila gradc a fost declarata de tip float

P2.6 Scrieti un program care transforma masura unui unghi din grade (numar intreg) in radiani (numar real).
Se va utiliza relatia de transformare cunoscuta: rad = gradp

#include <stdio.h>

#include <stdlib.h>

int main()

Daca se introduce de la tastatura, de exemplu, valoarea 360, programul va afisa:

Introduceti unghiul in grade: 360

Masura unghiului este de 6.28 radiani

Discutie

-  Dupa cum s‑a aratat la partea teoretica, ca specificator de format pentru numere intregi zecimale poate fi utilizat atat %d cat si %i"; s‑a folosit aici a doua varianta.

-  Fiecare caracter ce indica formatul variabilei poate fi precedat in cadrul unui specificator de format de un modificator ce va determina felul in care se va tipari valoarea. Astfel, in exemplul anterior, %4.2f utilizat la a doua functie printf() are urmatoare semnificatie: se va tipari un numar real in format zecimal utilizand in total 4 caractere (incluzand punctul zecimal), cu 2 cifre la partea fractionara.

Probleme propuse

Scrieti un program care sa va afiseze numele pe ecran, ca si seria si grupa, pe doua randuri succesive.

Se citeste un intreg . Scrieti un program care sa afiseze: "Ati introdus numarul ".

Scrieti un program care citeste doi intregi si calculeaza produsul lor.

Scrieti un program care calculeaza lungimea unui cerc de raza data; valoarea razei se va citi de la tastatura si va fi un numar intreg.

Scrieti un program care transforma temperatura exprimata in grade Celsius in grade Fahrenheit.

Scrieti un program care transforma masura unui unghi din radiani in grade.

Scrieti programe care calculeaza arii pentru patrat, dreptunghi, triunghi.

Scrieti programe care calculeaza volume pentru cub, paralelipiped, piramida.





Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1075
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved