Caietul Practicii Gr 24ss

Post on 29-Dec-2015

52 views 0 download

transcript

MINISTERUL AGRICULTURII ȘI INDUSTRIEI ALIMENTAREAL REPUBLICII MOLDOVA

Colegiul Agricol din Țaul

LUCRĂRI DE LABORATORPENTRU PRACTICA DE INSTRUIRE LA

LIMBAJUL DE PROGRAMARE C1851 ”Informatica”

__________________________________

Lucrare practica Nr 1

Tema: Programe liniare.1.Scopul.1.1 Obținerea deprinderii practice de elaborare și depănarea programeleor.1.2 Studierea și utilizarea instrucțiunilor de baza a limbajului pentru elaborea programelor liniare.2.Cunoștinte necesare.2.1 Deprinderi de lucru cu calculatorul si mediul de lucru.2.2 Tipuri de date simple.2.3 Sintaxa și modul de utilizare a instrucțiunilor simple.2.4 Sintaxa și modul de utilizare a funcțiilor artimetice și trigonometrice.3. Conținutul temei.3.1 Studierea princiipilor fundamentale de lucru în mediul de programare si a meniurilor de dialog principal.3.2 Insușirea instrucțiunilor de citire și afișare a datelor.3.3 Elaborarea și depănarea programului.4.Conținutul raportului.4.1Tema și scopul lucrării.4.2 Condiția problemei.4.3 Schema bloc a algoritmului.4.4 Listingul programului.4.5 Rezultatul calcului cu analiza corectitudinii.4.6 Descrierea instrucțiunilor folosite în program.4.7 Concluzii.5.Exemplu de program.Calculați valoriile F si Y conform formuleleor:

Deoarece valorile k,m,b si x nu sunt determinate,vor fi introduse de utilizator. Schema bloc a aprogramului.

Listingul programului.

#include<studio.h>#include<conio.h>#include<math.h>#include<stdlib.h>void main(void) {int k,m,b,x:float f,y;printf(“Culege numerele k,m,b,x”);scanf(“%d%d%d%d”,&k,&m,&b,&x”);f=k*pow(tan(pow(m,3)),2)+sqrt(k*pow(m,2)+k*m+7);y=exp(pow(b,2)-4)-pow(sin(x/b),2);printf(“F=%f,Y=%f”,f,y);getch();}6. Variante. Calculați valorile funcțiilor.

Lucrare practica Nr 2

Tema:Modifiacrea masivelor unidimensionale.1.Scopul.

1.1Obținerea deprinderii practice de elaboraere și depănarea pogramelor ciclice.1.2 Studierea și utilizarea instrucțiunelor de bază ale limbajului pentru prelucrarea și modificarea

masivelor unidimensionale.2. Cunoștințe necesare

2.1 Descrierea masivelor unidimensionale.2.2 Sintaxa și modul de utilizare a instrucțiunii ciclice FOR.

3.Conținutul temei.3.1 Studierea definirii msivelor unidimensionale și folosirii instrucțiunilor ciclice.3.2 Insușirea metodelor de introducere și afișare a masivelor unidimensionale .3.3 Insușirea tehnicilor și metodelor de programare la prelucrarea masivelor prin aranjarea și

înlocuirea elemntelor masivuilui.3.4 Elaboararea algoritmului de soluționare a problemei.3.5 Alcătuirea și depănarea programului.

4.Conținutul raportului.4.1Tema și scopul lucrării.4.2 Condiția problemei.4.3 Schema bloc a algoritmului.4.4 Listingul programului.

4.5 Rezultatul calcului cu analiza corectitudinii.4.6 Descrierea instructiunilor folosite in program.4.7 Concluzii.

5.Exemplu dee program.Este dat un masiv unidimensional X cu n elemente .Aranjați elementele primei jumătați din masiv în ordenea descrescătoare. Afișați masivul rezultat ca răspuns.Schema bloc a programuli.

Listingul programului.

6. Variante.Este dat un masiv unidimensional cu n elemente:

Lucrare practică Nr.3

Tema: Prelucrarea masivelor unidimensionale1. Scopul.

1.1. Obținerea deprinderii practice de elaborare și depănare a programelor ciclice.1.2. Strudierea și utilizarea instrucțiunilor de bază ale limbajului pentru prelucrarea și calcularea

masivelor unidimensionale.2. Cunoștințe necesare . 2.1. Descrierea și inițializarea masivelor unidimensionale 2.2. Sintaxa și modul de utilizare a intrucțiunii ciclice FOR.3. Conținutul temei. 3.1. Insușirea tehniciilor și metodelor de programare la prelucrarea masivelor prin aflarea elementelor minimale și maximale ,a sumelor, produselor si mediilor elementelor în masiv, compararea acestora. 3.2. Elaborarea algoritmului de soluționare a problemei. 3.3. Alcătuirea și depănarea programului.4. Conținutul raportului. 4.1 Tema și scopul lucrării. 4.2 Condiția problemei. 4.3 Schema –bloc a algoritmului. 4.4 Listingul programului. 4.5 Rezultatul calculelor cu analiza corectitudinii. 4.6 Descrierea instructiunilor principale folosite în program. 4.7 Concluzii.5.Exemplu de program.Este dat un masiv unidimensional X cu n elemente.Comparati suma primei jumatati a masivului cu media aritmetica la a doua jumatate a masivului.Schema bloc a programului:Schema bloc a programuli.

Listingul programului:#include<stdio.h>#include<conio.h>#include<math.h>#include<stdlib.h>Void main(void){Int x [20],n,k,I,s=0;Float m,s1,=0,r=0;Printf (“\nCulege marimea masivului n<=20\n”);Scanf(“%d”,&n);For(i=0;i<n;i++){Printf(‘Culege elemenutul %d\n”,i);Scanf(“%d”,&x[i]);}Printf(“Masivul initial este:\n”);For(i=0;i<n;i++){Printf(“%d”,x[i]);}If (fmod(n,2)==0)k=floor(n/2); else k=floor(n/2)+1;For(i=0;i<n;i++){If(i<k)s+=x[i];else {s1=x[i];r++;}}M=s1/r;Printf(“\nSuma primei jumatati este %d\n”,s);Printf(“Media la a doua jumatate este %f”,m);Getch();}6. Variante.Este dat un masiv unidimensional cu n elemente:

Lucrare practică Nr.4

Tema: Calcularea masivelor unidimensionale1. Scopul.

1.1 Obținerea deprinderii practice de elaborare și depănare a programelor ciclice.1.2 Studierea și utilizarea instrucțiunilor de baza ale limbajului pentru prelucrarea și calcularea

masivelor unidimensionale.2. Cunoștințe necesare

2.1 Descrierea și inițializarea masivelor unidimensionale.2.2 Sintaxa și modul de utilizare a instrucțiunii ciclice FOR.

3. Conținutul temei3.1 Insușirea tehnicilor și metodelor de programare la prelucrarea masivelor prin aflarea

elementelor pare sau impare, minimale și maximale printer cele cu poziții pare sau impare.3.2 Elaborarea algoritmului de soluționare a problemei.3.3 Alcătuirea si depănarea programului.

4. Conținutul raportului.4.1 Tema și scopul lucrării.4.2 Conditia problemei.4.3 Schema-bloc a algoritmului.4.4 Listingul programului.4.5 Rezultatul calculelor cu analiza corectitudinii.4.6 Descrierea instrucțiunilor principale folosite în program.4.7 Concluzii.

5.Exemplu de program.Este dat un masiv unidimensional X cu n elemente. Calculați suma elementelor divizabile la 3 de pe pozitii pare din masiv. Schema bloc a programului:

Listingul programului:

#include<stdio.h>#include<conio.h>

#include<math.h>#include<stdlib.h>void main(void){int x[20],n,I,s=0;printf(“\nculege marimea masivului n<=20\n”); scanf(“%d”,&n);for (i=0; i<n; i++){ printf(“culege elemental %d\n”,i); scanf(“%d”,&x[i]);}printf(“masivul initial este :\n”);for(i=0;i<n; i++){ printf(“%d”,x[i]);}for (i=0;i<n; i++){ if ((fmod(i,2)==0)&&(fmod(x[i],3)==0)) s+x[i];}printf(“\nsuma=%d\n”,s);getch();}

6.Variante.Este dat un masiv unidimensiomal cu n elemente:

Lucrare practică Nr.5

Tema:Crearea si prelucrarea masivelor unidimensionale1.Scopul.

1.1 Obținerea deprinderii practice de elaborare și depănare a programelor ciclice.1.2 Studierea și utilizarea instrucțiunilor de bază ale limbajului pentru crearea și prelucrarea

masivelor unidimensionale.2.Cunoștințe necesare.

2.1 Descrierea și inițializarea masivelor unidimensionale.2.2 Sintaxa și modul de utilizare a instrucțiunilor ciclice FOR.

3.Conținutul temei.3.1 Insușirea tehnicilor și metodelor de programare la prelucrarea a doua massive prin crearea

unor massive noi în cadrul programului, determinarea valorii unei funcții cu ajutorul elementelor masivelor.

3.2 Elaborarea algoritmului de soluționare a problemei.3.3 Alcătuirea și depănarea programului.

4.Conținutul raportului.4.1 Tema și scopul lucrării.4.2 Condiția problemei.4.3 Schema –bloc a algoritmului.4.4 Listingul programului.4.5 Rezultatul calculelor cu analiza corectitudinii.4.6 Descrierea instrucțiunilor principale folosite în program.4.7 Concluzii.

5.Exemple de program.Sunt date 2 masive unidimensionale X si Y cu n elemente.De creat un nou masiv Z(n) astfel,incit

Zi=x2i /(xi+5)+ yi /(yi +3);

Schema-bloc a programului:

Listingul programului:

#include<stdio.h>

#include<conio.h>#include<math.h>#include<stdlib.h>Void main(void) {Int x[20],y[20],n,i; float z[20];Printf(“\nCulege marimea masivelor x si y n<=20\n”);Scanf(“%d”,&n);Printf(“\nCulege marimea masivului x\n”);For (i=0;i<n;i++){ Printf(“Culege elemental %d\n”,i); Scanf(“%d”,&x[i]);}Printf(“\nCulege elementele masivului y\n”);For (i=0;i<n;i++){Printf(“\nCulege elemental %d\n”,i);Scanf(“%d”,&y[i]);}Printf(“\nMasivul x initial este:\n”);For(i=0; i<n;i++){ Printf(“\nMasivul y initial este:\n”);For (i=0;i<n; i++){ Printf(“%d”,y[i]);}For (i=0;i<n; i++){ Z[i]=pow(x[i],2)/(x[i]+5)+ sqrt(y[i]) /(y[i]+3); }Printf(“\nMasivul z final este:\n”);For(i=0;i<n;i++){ Printf(“%.2f”,z[i]);}Getch();}

6.Variante.Sint date 2 masive unidimensionale cu n elemente.De calculat valoarea functiei in conformitate cu conditia:

Lucrare practica Nr.6

Tema:Programe ramiflcate1. Scopul.1.1. Obținerea deprinderii practice de elaborare și depănare a programelor cu un

grad mai înalt de complicitate.1.2. Studierea și utilizarea instrucțiunilor de baza ale limbajului pentru elaborarea

programelor ramificate.2. Cunoștinte necesare.2.1. Tipurile de date simple.2.2. Sintaxa și modul de utilizare a instrucțiunilor structurate.2.3. Sintaxa și modul de utilizare a funcțiilor pentru determinarea parității

numerelor, restului de la împărțire, împărțirii fără rest, rotungirea numerelor s.a.3. Conținutul temei.3.1. Studierea modalităților de determinare a parității numerelor, de rotungire și

trunchiere a numerelor, însușirea folosirii operațiilor de împărțire fără rest șirest de la împărțire.

3.2.Insușirea instrucțiunilor ramificate.3.3.Elaborarea și depănarea programului.4. Conținutul raportului.4.1.Tema și scopul lucrării.4.2.Condiția problemei.4.3.Schema-bloc a algoritmului.4.4.Listingul programului.4.5.Rezultatul calculelor cu analiza corectitudinii.4.6.Descrierea instrucțiunilor principale folosite în program.4.7.Concluzii.

5. Exemplu de program.Determinati paritatea partii intregi de la impartirea (sumei dintre cifra utilizatorului si 6), si rezultatul expresiei

F= + ;

Schema bloc a programului:

Listingul programului:#include<stdio. h>#include<conio. h >#include<math. h>#include<stdlib.h>void main(void) {int m,t,c,x,a,b,u,s,p; float f,k;printf("\nCulege valorile pentru m,t,c,x,a,b\n");scanf("%d%d%d%d%d%d", &m,&t, &c, &x, &a, &b);f=pow((m *tan(t)+abs(c*sin(t))), l/3)+( pow(a,2*x)+pow(b,(-l)*x) *cos(a+b)**x )/(x+1); printf("\nCulege о cifra intreaga\n”);scanf("%d",&u); k=(6+u)/f; p=floor(k);printf("\nf=%f citul este=%f p partea intreaga=%d",f,k,p);if (fmod(p,2)==0)printf("\nPartea intreaga este para\n");else printf("\nPartea intreaga este impara\n”);getch();}

6.Variante

Lucrare practică Nr.7

Tema: Prelucrarea diagonalelor în masive bidimensionale

1. Scopul1.1.Studierea si utilizarea tehnicilor si instructiunilor de baza ale limbajului pentru prelucrarea diagonalelor masivelor bidimensionale.1.2.Obtinerea deprinderii practice de elborare si depanare a programelor cu structura”ciclu in ciclu”.1.3.Insusirea procedeelor stereotipe de introducere si afisare a masivelor bidimensionale.

2. cunostinte necesare2.1. Descrierea masivelor bidimensionale2.2. Sintaxa si modul de organizare a ciclului for.2.3.Organizarea ciclurilor incorporate.

3. Continutul temei.3.1.Studierea tehnicilor de definire a masivelor bidimensionale.3.2.Studierea metodelor de introducere si afisare a masivelor bidimensionale.3.3.Studierea tehnicilor de programare a stucturilor cu cicluri incorporate.3.4.Elaborarea algoritmului de solutionare a problemei.3.5.Alcatuirea si depanarea programului.

4. Continutul raportului.4.1. Tema si scopul lucrarii.4.2.Conditia problemei.4.3. Schema bloc al algoritmului.4.4.Listingul programului.4.5.Rezultatul calcului cu analiza corectitudinii.4.6.Descrierea instructiunilor principale folosite in program.4.7.Concluzii.

5. Exemplu de program.Este dat un masiv bidimensional X[n,n]. Determinati paritatea sau imparitatea elementului

minimal de pe diagonal principala.

Shema bloc a programului:

Listingul programului:

#include <stdio.h>#include<conio.h>#include <math.h>#include<stdlib.h>Void main (void){Int x [20] [20] , n , I, j, min;Printf (“\n Culege marimea masivului n<=20\n”);Scanf(“%d”,&n);Printf(“\nCulege elementele masivului\n”);For (i=0; i<n; i++){For (j=0; j<n; j++){Printf (“\nCulege elemental x[%d][%d]\n”,I,j);Scanf(“%d”,&x[i][j]”);}}Printf (“\nMasivul initial este:\n”);For (i=0; i<n; i++){For (j=0; j<n; j++){Printf (“%d”,x[i][j]);}Printf(“\n”);}Min =x[1][1];For (i=0; i<n; i++) {If (x[i][i]<min )min=x[i][i];}If (f mod (min,2)==0)Printf (“\nElementul minimal de pe diagonala principala este par si =%d\n”,min );Else printf(“elementul minimal de pe diagonal principala este Impar si =%d \n”,min);Getch();}

6. VarianteEste dat un masiv bidimensional [n,n]:

Lucrare practică Nr.8

Tema:Prelucrarea rîndurilor și coloanelor în masive bidimensionale

1. Scopul.1.1. Studierea si utilizarea tehnicilor si instructiunilor de baza ale limbajului pentru

prelucrarea rindurilor si coloanelor masivelor bidimensionale.1.2. Obtinerea deprinderii practice de elaborare si depanare a programelor cu structura

“ciclu in ciclu”.1.3. Insusirea prelucrarii masivelor bidimensionale la nivel de linie si coloane.

2. Cunostintele necesare.2.1. Descrierea masivelor bidimensionale.2.2. Sintaza si modul de utilizare a instructiunii ciclice for.2.3. Organizarea ciclurilor incorporate.

3. Continutul temei.3.1. Studierea metodelor de introducere si afisare a masivelor bidimensionale.3.2. Studieerea tehnicilor de programare a stucturilor cu cicluri incorporate.3.3. Insusirea tehnicilor si metodelor de programare la prelucrarea masivelor

bidimensionale prin prelucrarea coloanelor si liniilor concrete.3.4. Elaborarea algoritmului de solutionare a problemei.3.5. Alcatuirea si depanarea programului.

4. Continutul raportului.4.1. Tema si scopul lucrarii.4.2. Conditia problemei.4.3. Schema bloc al algoritmului.4.4. Listingul programului.4.5. Rezultatul calcurilor cu analiza corectitudinii. 4.6. Descrierea instructiunilor principale folosite in program.4.7. Concluzii.

5. Exemplu de program: Este dat un masiv bidimensional X[n,n]. Determinati elemental minimal printre elementele minimale ale coloanelor impare.

Schema bloc al programului:

Listingul programului:

#include <stdio.h>#include <conio.h>#include<math.h>#include<stdlib.h>Void main (void){Int x[20][20], n, k, I, j, min, minim;Printf(“\nCulege marimea masivului n<=20\n”);Scanf(“%d”,&n);Printf(“\nCulege elementele masivului\n”);For(i=0; i<n; i++){For(j=0; j<n; j++){Printf(“\nCulege elemental x [%d][%d]\n”,I,j);Scanf(“%d”,&x[i][j]);}}Printf(“\nMasivul initial este:\n”);For(i=0; i<n; i++){For(j=0; j<n; j++){Printf(“%d”,x[i][j]);}Printf(“\n”);}Minim=x[1][1]; k=1;For(i=0;i<n;i++){If (x[i][1]<minim)minim=x[i][1];}J=1; While (j<n){ Min =x[1][j];For (i=0;i<n;i++){If (x[i][j]<min)min=x[i][j];}Printf(“\nPe coloana %d minimalul este =%d \n”,j,min);If (min<minim){ minim=min; k=j;}

J+=2; }Printf(“\nMinimalul dintre minimali este pe coloana %d si =%d \n”,k,min);Getch();}6.Variante Este dat un masiv bidimensional [n,n]:

Lucrare practica Nr.9

Tema: Prelucrarea ariilor hasurate in masive bidimensionale

1. Scopul.1.1. Studierea si utilizarea tehnicilor si instructiunilor de baza ale limbajului pentru prelucrarea ariilor

hasurate in masive bidimensionale.1.2. Obtinerea deprinderii practice de elaborare si depanare a programelor cu

structura “ciclu in ciclu”.1.3. lnsusirea prelucrarii masivelor bidimensionale prin prelucrarea ariilor

hasurate.2. Cunostinte necesare.2.1. Descrierea si initializarea masivelor bidimensionale.2.2.Sintaxa si modul de utilizare a instructiunii ciclice FOR.2.3.Organizarca ciclurilor incorporate.3. Continutul temei.3.1. Insusirea tehnicilor si metodelor de programare la prelucrarea masivelor

bidimensionale prin prelucrarea ariilor hasurate.3.2.Elaborarea algoritmului de solutionare a problemei.3.3.Alcatuirea si depanarea programului.4. Continutul raportului.4.1. Tema si scopul lucrarii.4.2. Conditia problemei.4.3. Schema-bloc a algoritmului.4.4. Listingul programului.4.5. Rezultatul calculelor cu analiza corectitudinii.4.6. Descrierea instructiunilor principale folosite in program.4.7. Concluzii.

5. Exemplu de program.Este dat un masiv bidimensional. X[n,n]. Calculati produsul elementelor pozitive pare din aria hasurata.

Schema bloc a programului:

Listingul programului:

#incIude<stdio. h >#include< conio. h >#include< math, h >#include<stdlib. h >void main(void) {int x[20][20],n,i,j,p,k;printf("\nCulege marimea masivului n<=20\n”);scanf("%d", &n);printf("\nCulege elementele masivului\n ”);for(i=0;i <n;i++){for(j=0;j<n;j++){printf(“\nCulege elementul x[%d][%d]\n",i,j);scanf(“%d",&x[i][j]);}}printf("\nMasivul initial este:\n");for(i=0;i <n;i++){for(j=0;j<n;j++){printf("%d ",x[i][j]);}printf("\n");}p=l; k=floor((float)n/float(2));for(i=0;i <n;i++){for(j=k;j<n ;j+ +) {if ( (x[i][j]>0)&&(fmod(x[i][j],2)==0) ) p=p*x[i][j];}} printf("\nProdusul elementelor din aria hasurata este=%d k=%d\n",p,k);getch();}

6.VarianteEste dat un masiv bidimensional [n,n].

Lucrare practică Nr.10

Tema: Modificarea masivelor bidimensionale

1. Scopul.1.1. Studierea si utilizarea tehnicilor si instructiunilor de baza ale limbajului

pentru prelucrarea si modificarea masivelor bidimensionale.1.2. Obtinerea deprinderii practice de elaborare si depanare a programelor cu

structure “ciclu in ciclu”.1.3. Insusirea prelucrarii masivelor bidimensionale prin aranjarea elementelor

masivelor.2. Cunostinte necesare.

2.1. Descrierea si initializarea masivelor bidimensionale.2.2.Sintaxa si modul de utilizare a instructiunii ciclice FOR.2.3.0rganizarea ciclurilor incorporate.

3. Continutul temei.3.1. Insusirea tehnicilor si metodelor de programare la prelucrarea masivelorbidimensionale prin prin aranjarea si inlocuirea elementelor de pe rinduri sicoloane.3.2. Elaborarea algoritmului de solutionare a problemei.3.3.Alcatuirea si depanarea programului.

4. Continutul raportului.4.1. Tema si scopul lucrarii.4.2. Conditia problemei.4.3. Schema-bloc a algoritmului.4.4. Listingul programului.4.5. Rezultatul calculelor cu analiza corectitudinii.4.6. Descrierea instructiunilor principale folosite in program.4.7. Concluzii.

5. Excmplu de program.Este dat un masiv bidimensional. X[n,n]. Schimbati cu locul elementul

maximal al coloanei indicate de utilizator cu elementul minimal de pe rindul 3.

Schema bloc a programului:

Listingul programului:

#include<stdio. h >#include<conio.h>#include<math.h>#include<stdlib. h>void main (void) {int x[20] [20],n,i,j,max,min,rmin,kmin,rmax,kmax,k,aux;printf("\nCulege marimea masivului n<=20\n");scanf("%d", &n);prinlf("\nCulege elementele masivului\n”);for (i=0;i<n;i++){for (j=0;j<n;j++){printf("\nCulege elemental x[%d][%d]\n",i,j);scanf("%d",&x[i][j]);}}printf("\nMasivu initial este:\n ");for(i=0;i<n;i++){for(j=0;j<n;j++){printfr%d ",x[i][j]);}printf("\n");}printf("\nlndicati numarul coloanei\n”); scanf("%d",&k);max=x[0] [k] ;rmax=0;kmax=k;min=x[3] [0] ;rmin=3;kmin=0;for(i=0;i<n;i++){if (x[i][k]>max) {max=x[i][k]; rmax=i;}if (x[3][i]<min) {min=x[3][i]; kmin=i;}printf("\npe coloana %d elementul maximal estex[%d] [%d] =%d\n ", k, rmax, kmax, max);printf("\npe rindul 3 elementul minimal este x[%d][%d] =%d\n",rmin,kmin,min);

aux =x[rmax] [kmax] ;x[rmax] [kmax] =x[rmin] [kmin] ;x[rmin] [kmin] =aux;printf("\nMasivul final este :\n");for(i=0;i<n;i++){for(j=0;j<n;j++){printf("%d ",x[i][j]);}printf("\n");}getch();}6.Variante.Este dat un masiv bidimensional [n,n].