lucrare de labarotor nr 3

7
Ministerul Educaţiei al Republicii Moldova Universitatea Tehnică a Moldovei Catedra Sisteme Optoelectronice Referat La disciplina Programarea Lucrare de Laborator nr.3 Prelucrarea Masivelor Unidimensionale A efectuat studenta grupei SOE-102: A verificat lectorul universitar:

Upload: ion-caimacan

Post on 28-Nov-2015

26 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Lucrare de Labarotor Nr 3

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

Page 2: Lucrare de Labarotor Nr 3

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

Page 3: Lucrare de Labarotor Nr 3

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

Page 4: Lucrare de Labarotor Nr 3

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");

Page 5: Lucrare de Labarotor Nr 3

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.

Page 6: Lucrare de Labarotor Nr 3

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.