lucrare de labarotor nr 3
TRANSCRIPT
Ministerul Educaţiei al Republicii MoldovaUniversitatea Tehnică a MoldoveiCatedra Sisteme Optoelectronice
ReferatLa disciplina Programarea
Lucrare de Laborator nr.3Prelucrarea Masivelor Unidimensionale
A efectuat studenta grupei SOE-102: A verificat lectorul universitar:
Chişinău, 2010
Varianta 8Conditia Problemei
1.De calculate produsul sumelor elementelor pare si celor impare din masiv.2.Este dat masivul unidimensional D[n]. De determinat valorile si pozitiile ultimelor elemente
pare
Schema logica a algoritmului
1. Start
x[i]
Masiv iniţial
i
n
x[i]
n
i=0; i<n; i++
i=0; i<n; i++
1
1
x[i]par
SI+=x[i]
SP+=x[i]
SI=…SP=…
P=SP*SI
P=…
Stop
2. Start
Stop
x[i ],i
x[i]
Masiv iniţial
i
n
x[i]
n
k++
i=n-1; i>=0; i--
i=0; i<n; i++
i=0; i<n; i++
k=2
x[i]impa
break
1
1
Listingul Proghramului1.#include<stdio.h>#include<conio.h>#include<math.h>void main (void){int D[50], i, n,k;clrscr();printf("introdu marimea masivului:\n");scanf("%d", & n );for(i=0; i<n;i++){printf("D[%d]=", i);scanf("%d", &D[i]);}printf("masivul initial:\n");for(i=0; i<n; i++){printf("%3d", D[i]);}for(i=n-1; i>=0; i--){if (fmod(D[i], 2)==0){printf ("\n elementul este %d si pozitia =%d:", D[i], i);k++;if(k==2) break;}}getch();}
2.#include<stdio.h>#include<conio.h>#include<math.h>void main (void){int x[50], i, n, SP=0, SI=0, P=1;clrscr();printf("introdu marimea masivului:\n");scanf("%d", & n );for(i=0; i<n;i++){printf("x[%d]=", i);scanf("%d", &x[i]);}printf("masivul initial:\n");
for(i=0; i<n; i++){printf("%3d", x[i]);}for(i=0; i<n; i++){if (fmod(x[i], 2)==0)SP+=x[i];else SI+=x[i];}printf ("\n SP=%d, SI=%d\n", SP, SI);P=SP*SI;printf("P=%d", P);getch();}
Descrierea ProgramuluiPrimele trei rînduri reprezintă bibliotecile din care fac parte funcţiile din
programul care urmează a fi afişat.Void main (void) defineşte titlul funcţiei principale cu numele main ().Acoloadele reprezintaă marginile corpului programului.float declară variabilele ca reale, iar int ca întregi.Funcţia clrscr() sterge tot ce a fost afişat pină acum.Printf afişează propoziţia care ne propune sa dăm valori variabilelor, iar \n
face posibilă afişarea din rînd nou.Scanf permite introducerea de la tastatură a unei valori.Instrucţiunea condiţionată if ne dă posibilitatea îndeplinirii sau neîndeplinirii
operaţiei. fmod returnează restul împărţirii variabilelor. Getch opreşte programul cu scopul vizualizării rezultatelor şi aşteaptă pînă se
va apăsa o oarecare tastă.
Descrierea si analiza rezultatelor
1.
2.
ConluziileIn urma efectuari acestei lucrari de laborator am constatat faptul ca spre
deosebire de programele precedente aceste 2 sint mai complicate. In schimb iti ofera mai multe posibilitati. Cu ajutorul lor putem selecta elementele pare/ impare dintr-o matrice , de afla pozitia si valoarea elementului, putem opera diverse operatii si multe altele.