prc programe.doc
DESCRIPTION
programarea calculatoarelorTRANSCRIPT
Seminar 2 (18.10.2012)
Aplicatie 1 : Sa se realizeze un program care sa preia de la tastatura nume, prenume, adresa, varsta si numarul de telefon al unei persone.
{string Nume, Prenume, Adresa, Varsta, Telefon;Console.Write("numele este:");Nume=Console.ReadLine();Console.Write("prenumele este:");Prenume=Console.ReadLine();Console.WriteLine("adresa este:");Adresa=Console.ReadLine();Console.WriteLine("varsta este:");Varsta=Console.ReadLine();Console.Write("numarul de telefon este:");Telefon=Console.ReadLine();Console.WriteLine(Nume+" " + Prenume);Console.WriteLine(Adresa);Console.WriteLine(Varsta);Console.WriteLine(Telefon);}
Aplicatie 2: Se citesc de la tastatura 2 nr de tip intreg. Sa se calculeze suma lor folosind operatori.
{int a, b, s;Console.Write("primul nr este:");a = int.Parse(Console.ReadLine());Console.Write("al doilea numar este:");b=int.Parse(Console.ReadLine());Console.WriteLine("suma numerelor este:");s = a + b;Console.WriteLine(a + " si" + b + " = " + s);
}
Seminar3 ( 25.10.2012)
Aplicatie 1: Sa se scrie o aplicatie care sa calculeze expresiile:
x+y , x-y , x*y , x/y , x%y , max(x,y) , radical din x, ++x ; oricare ar fi x, y numere intregi.
{
double x, y, sum, dif, cat, i, rest, max, radical, plus;
Console.Write("x="); x = int.Parse(Console.ReadLine()); Console.Write("y="); y = int.Parse(Console.ReadLine()); Console.WriteLine("suma numerelor este:"); sum = x + y; Console.WriteLine(x + " + " + y + "=" + sum); Console.Write("diferenta numerelor este:"); dif = x - y; Console.WriteLine(dif); Console.Write("catul numerelor este:"); cat = x / y; Console.WriteLine(cat); Console.Write("inmultirea numerelor este:"); i = x * y; Console.WriteLine(i); Console.Write("restul impartirii numerelor este:"); rest = x % y; Console.WriteLine(rest); Console.Write("maximul numerelor este:"); max = Math.Max(x, y); Console.WriteLine(max); Console.Write("radical din x este:"); radical = Math.Sqrt(x); Console.WriteLine(radical); Console.Write("x++ este:"); plus = ++x; Console.WriteLine(plus); Console.ReadLine();}
Aplicatie 2: Sa se scrie un program prin care sa se afiseza valoarea radical din 2, valoarea lui pi si valoarea expresiei 210.
{ double x, y, z; x = Math.Sqrt(2); Console.WriteLine("radical de ordinul 2 este:" + x); y = Math.PI; Console.WriteLine("valoarea lui pi este:" + y); z = Math.Pow(2, 10); Console.WriteLine("2 la puterea 10 este:" + z); Console.ReadLine();
}
Aplicatie 3: Sa se scrie logaritmul in baza 10 a unui numar intreg.
{ double x; x = Math.Log10(5); Console.WriteLine("valoarea lg5 este:" + x); Console.ReadLine();
}
Aplicatie 4: Sa se scrie un program prin care se interschimba valorile doua numere de tip intreg citite de la tastatura.
{int x, y, aux;
Console.Write("x="); x = int.Parse(Console.ReadLine()); Console.Write("y="); y = int.Parse(Console.ReadLine()); aux = x; x = y; y = aux; Console.WriteLine("x="+x); Console.WriteLine("y="+y); Console.ReadLine();
}
Aplicatie 5: Sa se scrie o aplicatie care verifica apartenenta valorilor variabilei la intervalul[x,y].
{ int a, x, y ; Console.Write("x este:"); x=int.Parse(Console.ReadLine()); Console.Write("y este:"); y=int.Parse(Console.ReadLine()); Console.Write("a:"); a=int.Parse(Console.ReadLine()); if (a >= x && a <= y)
Console.Write("a apartine[x,y]"); else;
Console.Write("a nu apartine[x,y]");
Console.ReadLine(); }
Seminar4(01.11.2012&08.01.2012)
Aplicatie 1: Să se scrie o aplicaţie care citeşte coeficienţii unui sistem de două ecuaţii cu două necunoscute, determină soluţia acestuia şi o afişează. În cazul în care sistemul nu are o soluţie unică se afişează un mesaj de eroare.
{ double a, b, c, d, e, f, x, y;
Console.Write("introduceti a"); a=double.Parse(Console.ReadLine()); Console.Write("introduceti b"); b=double.Parse(Console.ReadLine()); Console.Write("introduceti c"); c=double.Parse(Console.ReadLine()); Console.Write("introduceti d"); d=double.Parse(Console.ReadLine()); Console.Write("introduceti e"); e=double.Parse(Console.ReadLine()); Console.Write("introduceti f"); f=double.Parse(Console.ReadLine()); double dets, det1, det2; dets = a * e - b * e; det1 = c * e - b * f; det2 = a * f - c * d; if (dets == 0) Console.WriteLine("sistemul nu are solutii"); else {x = det1 / dets; y=det2 / dets; Console.WriteLine(x); Console.WriteLine(y); }
Aplicatie 2: Să se scrie o aplicaţie care determină dacă un an calendaristic este bisect sau nu .
{ int an, a, b; Console.Write("introduceti an"); an = int.Parse(Console.ReadLine()); if (an < 1588) { a = an % 4; if (a == 0) Console.WriteLine("anul este bisect"); else Console.WriteLine("anul nu este bisect"); } else {a = an % 4; b =an % 100; if (a ==0 & b!=0) Console.WriteLine("anul este bisect"); else Console.WriteLine("anul nu este bisect"); }
Aplicatie 3: Să se scrie o aplicaţie care determină greutatea optimă a unei persoane în funcţie de înălţimea şi vârsta acesteia.
{ double i, v, g; char s; Console.Write("introduceti inaltimea (cm)"); i = double.Parse(Console.ReadLine()); Console.Write("introduceti varsta"); v = double.Parse(Console.ReadLine());
Console.Write("introduceti sexul m/f"); s = Convert.ToChar(Console.ReadLine()); if (s == 'm') g = 50 + 0.75 * (i - 150) + 0.25 * (v - 20); else g = (50 + 0.75 * (i - 150) + 0.25 * (v - 20)) - 10; Console.WriteLine(g); }
Aplicatia 4: Să se scrie o aplicaţie care citeşte trei numere de tip double si calculează maximul dintre ele.
{ double a, b, c,max; Console.Write("introduceti cifra a:"); a = double.Parse(Console.ReadLine()); Console.Write("introduceti b:"); b = double.Parse(Console.ReadLine()); Console.Write("introduceti c:"); c = double.Parse(Console.ReadLine()); if (a > b && a > c) { max = a; Console.WriteLine("a este maxim"); } if (b > a && b > c) { max = b; Console.WriteLine("b este maxim"); } if (c > a && c > b) { max = c; Console.WriteLine("c este maxim"); } }
Aplicatia 5. Să se verifice dacă 3 puncte din plan M1, M2 şi M3, date prin coordonatele lor întregi, sunt coliniare .{double x1, x2, x3, y1, y2, y3, e; Console.Write("x1="); x1 = double.Parse(Console.ReadLine()); Console.Write("x2="); x2 = double.Parse(Console.ReadLine()); Console.Write("x3="); x3 = double.Parse(Console.ReadLine()); Console.Write("y1="); y1 = double.Parse(Console.ReadLine()); Console.Write("y2="); y2 = double.Parse(Console.ReadLine()); Console.Write("y3="); y3 = double.Parse(Console.ReadLine()); e = (x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1); if (e == 0) Console.WriteLine("punctele sunt coliniare"); Console.WriteLine("punctele nu sunt coliniare"); Console.ReadLine();
}
Aplicatia 8: Să se scrie o aplicaţie prin care se efectuează calcule pentru două numere întregi şi se alege una dintre operaţiile aritmetice +,-,*,/ , % introduse de la tastatură .{ char op; int a, b, s, d, p, c, r; Console.Write("dati primul nr intreg:"); a = Convert.ToInt32(Console.ReadLine()); Console.Write("Dati al doilea nr intreg"); b = Convert.ToInt32(Console.ReadLine()); Console.Write("dati simbolul unui operator +, -, *, /, %"); op = (char)Console.Read(); switch (op) { case '+': {s=a+b; Console.WriteLine("suma numerelor="+s);} break; case '-': {d=a-b; Console.WriteLine("diferenta numerelor="+d);} break; case '*': {p=a*b; Console.WriteLine("produsul numerelor="+p);} break; case '/': {c=a/b; Console.WriteLine("catul numerelor="+c);} break; case'%': {r=a%b; Console.WriteLine("restul numerelor="+r);} break; default:Console.WriteLine("alt operator"); break; } Console.ReadKey(); }
Seminar5si 6(15.11.2012&21.11.2012)
Aplicatia1&2: Calculaţi suma cifrelor unui număr natural cu maximum 9 cifre.si numarul invers.
{int nr, s = 0, i = 1, r, invers = 0, copie; Console.Write("nr="); nr = int.Parse(Console.ReadLine()); copie = nr; while (i < 9) { i++; r = nr % 10; nr = nr / 10; s = s + nr; } Console.WriteLine("suma numerelor este:" + s); Console.ReadKey(); while (copie != 0) { r = copie % 10; invers = invers * 10 + r; copie = copie / 10; } Console.WriteLine("inversul este=" + invers); Console.ReadLine();}
Aplicatia2: Să se scrie o aplicaţie prin care se calculează lungimea unui numar întreg şi lungimea unui şir.
Observatie Pentru a calcula lungimea unui şir se foloseşte metoda Length.
{int nr, r, lungimesir = 0;
Console.Write("nr="); nr = int.Parse(Console.ReadLine()); /*Console.Write("s="); s=Convert.ToChar(Console.ReadLine();*/ while (nr != 0) { lungimesir = lungimesir + 1; r = nr % 10; nr = nr / 10; } Console.Write("lungimea sirului este:" + lungimesir); Console.ReadLine();
}
Aplicatia9. Să se calculeze cmmdc şi cmmmc pentru două numere citite de la tastatură. { int a, b, r, x, y; Console.Write("primul numar este:"); a = Convert.ToInt32(Console.ReadLine()); Console.Write("al doilea numar este:"); b = Convert.ToInt32(Console.ReadLine()); x = a; y = b; r = x % y; while (r != 0) { x = y; y = r; r = x % y; } if (y != 1) Console.WriteLine("cmmmdc este:" + a, b, y); else Console.WriteLine("{0} si {1} sunt prime"); Console.WriteLine("cmmmc,({0},{1})={2} este:"+ a/y*b); Console.ReadKey();
}
Aplicatia4. Să se scrie o aplicaţie prin care se numără câte cifre pare are un număr natural.
{ int nr, p, k = 0; Console.Write("nr:"); nr = int.Parse(Console.ReadLine()); while (nr != 0) { p = nr % 10; if (p % 2 == 0) { k++; } nr = nr / 10; } Console.WriteLine(k); Console.ReadLine();
}
Aplicatia 5. Să se scrie o aplicaţie care verifică dacă un număr este prim. { int n, i; bool p = true; i= 2; Console.Write("introduceti n"); n = int.Parse(Console.ReadLine()); while (i <= n / 2) { if (n % i == 0) { p = false; } i = i + 1; } if (p) Console.WriteLine("nr" + n + "este prim"); else Console.WriteLine("nr" + n + "nu este prim"); Console.Read();
Aplicatia10. Să se afişeze numerele cu proprietatea de a fi palindroame, până la o valoare citită de la tastatură. De asemenea, să se afişeze şi numărul lor.int x, n, k = 0; do { Console.Write("scrieti un numar natural : "); n = Convert.ToInt32(Console.ReadLine()); if (n <= 0) Console.WriteLine("Eroare la citire!"); } while (n <= 0); Console.Write("Numerele palindroame mai mici strict decat {0} sunt :\n", n); x = 1; do { if (palindrom(x) == 1) { Console.Write(" {0,3} ", x); k++; } x++; } while (x < n); Console.WriteLine(); if (k == 0) Console.WriteLine("Nu exista numere!"); else Console.WriteLine("Sunt {0} numere palindroame!", k); } static uint palindrom(int x) { int y = 0, z = x; do { y = y * 10 + z % 10; z /= 10;
} while (z != 0); if (y == x) return 1; else return 0;Console.ReadLine();
seminar 7(28.11.2012)Aplicaţia 1 :Să se scrie o aplicaţie prin care se numără câte cifre pare are un număr
natural.
{ static int cfpare(int n) { int nr,r,t = 0;
while(n!=0) { nr=n%10; n = n / 10; if(nr%2==0) t=t+1; }return t; } static void Main(string[] args) { int nr, cp=0 ; Console.Write("nr="); nr = int.Parse(Console.ReadLine()); cp = cfpare(nr); Console.WriteLine("nr cifrelor pare="+cp); Console.ReadLine();
}Aplicaţia 5Se citeşte un număr natural n. Să se determine cifra maximă din număr, folosind un
subprogram. Exemplu: Dacă n=7934 , atunci cifra maximă este 9.{static int cfmaxima(int n) {int r,max; max= n%10; while (n!=0) { r=n%10; if(r>max) max=r; n = n / 10; } return max; }
static void Main(string[] args) { int n, max; Console.Write("n="); n = int.Parse(Console.ReadLine()); max=cfmaxima(n); Console.WriteLine("cifra maxima=" +max);
Seminar 9(06.12.2012)
Aplicaţia 1 Se citeşte de la tastatură un text format din cuvinte. Cuvintele sunt separate prin câte un
spaţiu. Se cere să se afişeze toate cuvintele, fiecare pe câte un rând şi de asemenea să se determine lungimea maximă a unui cuvânt.
{string text =”Acestaesteuntext.Secereseparareaincuvinte”;string[ ] cuvinte=text.Split(` `);int max=0;foreach ( string cuv. in cuvinte ){if ( max<cuv.Lenght)max=cuv.Lenght;Console.WriteLine(cuv);}Console.WriteLine(“ Lungimea maxima a unui cuvant este “+max);}}
Aplicaţia 2 Se citeşte de la tastatură un şir de numere separate prin câte un spaţiu. Să se determine suma numerelor.{string sir;int s=0;Console.Write(“Introduceti un sir separate prin spatiu”);sir=Convert.ToString(Console.ReadLinec));string[ ] cuvinte=sir.Split(` ` );foreach(string cuvant in cuvinte ){ s=s + Convert to int16(cuvant);}Console.WriteLine( S );}
Aplicaţia 3 Se consideră un text în care cuvintele sunt separate prin: spaţiu . , : ; ? ! Între două cuvinte pot fi sunt unul sau mai mulţi separatori. Se cere descompunerea textului în cuvinte.{string sir;Console.Write(“introduceti un text”);Console.ReadLine( ) ;char[ ] separatori = {` ` , `, `, ` - ` , `. ` , `; ` , ` : ` , ` ! `, ` ? ` };string cuvinte = sir.Split ( ` ` );{ foreach ( string cuvant in cuvinte ) }
Console.WriteLine ( cuvant);}
Seminar10(12.12.2012)