Lucrarea de laborator nr. 4

Similar documents
Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Subiecte Clasa a VI-a

Procesarea Imaginilor

Metrici LPR interfatare cu Barix Barionet 50 -

CERERI SELECT PE O TABELA

6. Bucle. 6.1 Instrucţiunea while

Auditul financiar la IMM-uri: de la limitare la oportunitate

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

Algoritmi si structuri de date ( ) Informatica Ramnicu Valcea, anul 1

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Versionare - GIT ALIN ZAMFIROIU

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

Metoda BACKTRACKING. prof. Jiduc Gabriel

The First TST for the JBMO Satu Mare, April 6, 2018

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Modalitǎţi de clasificare a datelor cantitative

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

INTERPRETOARE DE COMENZI

În continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci.

I. Instrucţiuni PRELEGERE IX PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE

PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE (IV)

CERERI SELECT PE MAI MULTE TABELE

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

Mecanismul de decontare a cererilor de plata

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

Vizualizarea documentelor xml

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

R O M Â N I A CURTEA CONSTITUŢIONALĂ

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

PROCEDURA PRIVIND DECONTURILE. 2. Domeniu de aplicare Procedura se aplică în cadrul Universităţii Tehnice Cluj-Napoca

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Proiectarea bazelor de date # 11. PL/SQL Funcții în PL/SQL (partea a II-a) Adrian Runceanu

Subprograme şi pachete PL/SQL

GHID DE TERMENI MEDIA

INTEROGĂRI ÎN SQL SERVER

Capete terminale şi adaptoare pentru cabluri de medie tensiune. Fabricaţie Südkabel Germania

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

PROIECTAREA ALGORITMILOR

EN teava vopsita cu capete canelate tip VICTAULIC

Capitolul 4 SUBCERERI. F. Radulescu. Curs: Baze de date - Limbajul SQL

Olimpiad«Estonia, 2003

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE.

CURS 2. Reprezentarea numerelor intregi si reale. Sistem de numeraţie

Reţele Neuronale Artificiale în MATLAB

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

Managementul Proiectelor Software Metode de dezvoltare

Știinţa, Ministerul Educaţiei al Republicii Moldova

PACHETE DE PROMOVARE

Metoda de programare BACKTRACKING

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

UTILIZAREA CECULUI CA INSTRUMENT DE PLATA. Ela Breazu Corporate Transaction Banking

6. Excepţii şi aserţiuni. 6. Excepţii şi aserţiuni

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE. LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE.

CHAMPIONS LEAGUE 2017 SPONSOR:

3. MECANISMUL DE OPERARE ÎN PROLOG

Ghid pentru configurarea şi utilizarea aplicaţiei clicksign Demo

ASAMBLOARELE SI PROCESUL DE ASAMBLARE

MANAGEMENTUL CALITĂȚII - MC. Proiect 5 Procedura documentată pentru procesul ales

Propuneri pentru teme de licență

2. SCHEME LOGICE ŞI PSEUDOCOD

Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

Managementul referinţelor cu

Documentaţie Tehnică

Cap.5 Normalizarea relaţiilor

Class D Power Amplifiers

HEAPSORT I. CONSIDERAŢII TEORETICE

Capitolul IV. Programarea în limbajul C

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

ANTICOLLISION ALGORITHM FOR V2V AUTONOMUOS AGRICULTURAL MACHINES ALGORITM ANTICOLIZIUNE PENTRU MASINI AGRICOLE AUTONOME TIP V2V (VEHICLE-TO-VEHICLE)

O tranzacţie este o unitate logică de prelucrare

ISBN-13:

Constructii sintetizabile in verilog

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală

ANALIZA FUNCŢIONALĂ, O METODĂ DE MODELARE ÎN PROIECTAREA UTILAJELOR

Curs 5. Programare Delphi

Clase si obiecte. 1. Scopul lucrării. 2. Clase simple

ADMITERE 2015 SUBIECTELE PROBELOR ŞI BAREMELE DE CORECTARE ŞI NOTARE PROFILUL MAIŞTRI MILITARI PROBA NR.1 TEST GRILĂ LA LIMBA ENGLEZĂ VARIANTA 2

5.3 OSCILATOARE SINUSOIDALE

Lucrarea 1 Introducere în Linux

5.2 Interogări în SQL

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

2. In the pattern below, which number belongs in the box? 0,5,4,9,8,13,12,17,16, A 15 B 19 C 20 D 21

Multicore Multiprocesoare Cluster-e

Update firmware aparat foto

Noţiuni de bază (II) 4. Scrierea constantelor

Itemi Sisteme de Operare

Analiza asistată de calculator a circuitelor electronice Laborator 6. Analize în curent continuu cu PSPICE

Laborator 07. Procesorul MIPS versiune pe 16 biți, cu un ciclu de ceas pe instrucțiune

Manual Limba Romana Clasa 5 Editura Humanitas File Type

Transcription:

Metode merice - Lucrarea de laborator 4 Lucrarea de laborator nr. 4 I. Scopul lucrării Elemente de programare în MAPLE II. III. Conţinutul lucrării 1. Atribuirea. Decizia. Structuri repetitive. 2. Proceduri în MAPLE. Prezentarea lucrării III.1 Atribuirea. Decizia. Structuri repetitive Atribuirea are forma x:=v; Efectul acestei instrucţiuni constă în evaluarea expresiei v pentru valorile curente ale variabilelor pe care le conţine şi înscrierea rezultatului în locaţia de memorie rezervată variabilei x Decizia are forma: if condiţie then instrucţiuni1 else instrucţiuni2 fi; condiţie Instrucţiuni1 Instrucţiuni2 Condiţia este o expresie logică (formată cu operatori logici sau relaţionali). Modul de execuţie al deciziei (precum rezultă din subschema logică de mai sus) este următorul: 1. se evaluează condiţia 2. dacă rezultatul este adevărat se execută instrucţiuni1, în caz contrar se execută instrucţiuni2. 3. se trece la comanda care urmează după decizie În cazul în care else lipseşte se foloseşte forma simplificată: if condiţie then instrucţiuni fi; 1

Mădălina Roxana Buneci Metode merice Laborator - 2007 condiţie instrucţiuni 1. se evaluează condiţia 2. dacă rezultatul este adevărat se execută instrucţiuni 3. se trece la comanda care urmează după decizie Un extra element elif (ţinând loc de else+if) poate fi adăugat în decizie, obţinând: Exemple: > a := 3; b := 7; if/then/elif/then /else/fi a := 3 b := 7 > if (a > b) then a else b fi; > if (a > b) then c:=7 fi; > c; 7 c > if (a > b) then c:=7 elif (a<b) then c:=9 fi; c := 9 Există două instrucţiuni repetitive în MAPLE: for şi while. For are mai multe forme: (1) for i from ei by p to ef do instrucţiuni od; unde i este variabila de contorizare, p este pasul cu care se face incrementarea (decrementarea), iar ei (respectiv ef ) este o expresie care determină valoarea iniţială (respectiv finală) a contorului. Modul de execuţie al acestei instrucţiuni este următorul: 1. se execută atribuirea i : = ei 2. se evaluează condiţia i ef dacă p > 0 (sau i ef dacă p < 0), şi dacă este îndeplinită această condiţie se trece la pasul 3, altfel se trece la pasul 5 2

Metode merice - Lucrarea de laborator 4 3. se execută instrucţiuni 4. se execută atribuirea i := i + p 5. se execută comanda care urmează după for Pentru p >0 comanda este echivalentă cu următoarea subschemă logică: i := ei i ef instrucţiuni i: = i + p Pentru p < 0 comanda este echivalentă cu următoarea subschemă logică: i := ei i ef instrucţiuni i: = i + p Construcţiile from ei şi by p pot lipsi, caz în care ei se ia 1 şi pasul se consideră egal cu 1. (2) for i from ei by p while condiţie do instrucţiuni od; Modul de execuţie al acestei instrucţiuni este următorul: 1. se execută atribuirea i : = ei 2. se evaluează condiţia trecută după while, şi dacă este îndeplinită, se trece la pasul 3, altfel se trece la pasul 5 3. se execută instrucţiuni 4. se execută atribuirea i := i + p 5. se execută comanda care urmează după for Comanda este echivalentă cu următoarea subschemă logică: 3

Mădălina Roxana Buneci Metode merice Laborator - 2007 i := ei condiţie instrucţiuni i: = i + p Ca şi înainte construcţiile from ei şi by p poate lipsi, caz în care ei se ia 1, iar pasul se consideră egal cu 1. Condiţia este dată printr-o expresie booleană. Ambele clauze to şi while pot fi prezente în instrucţiunea for: (3) for i from ei by p to ef while condiţie do instrucţiuni od; În acest caz 1. se execută atribuirea i : = ei 2. se evaluează condiţia i ef dacă p > 0 (sau i ef dacă p < 0), şi condiţia trecută după while; dacă amândouă sunt îndeplinite se trece la pasul 3, altfel se trece la pasul 5 3. se execută instrucţiuni 4. se execută atribuirea i := i + p 5. se execută comanda care urmează după for În cazul următoarei instrucţiuni for contorul i parcurge toate elementele unei liste sau unei mulţimi (expr): (4) for i in expr while condiţie do instrucţiuni od; Exemple: > for i from 6 by 2 to 10 do print(i) od; 6 8 10 > suma := 0; suma := 0 > for i from 11 by 2 while i < 15 do suma := suma + i od; suma := 11 suma := 24 4

Metode merice - Lucrarea de laborator 4 > L:=[1,5,3]; > suma:=0; L := [ 1, 5, 3 ] suma := 0 > for z in L do suma:=suma+z od; Ciclu cu test iniţial are forma: suma := 1 suma := 6 suma := 9 while condiţie do instrucţiuni od; Testul pentru repetarea calculelor se face înaintea execuţiei grupului de comenzi care trebuie repetate. că este îndeplinită condiţia, se execută instrucţiunile după care se reevaluează condiţia. În caz contrar, se trece la comanda care urmează după ciclul cu test iniţial. Subschema logică echivalentă este următoarea: condiţie instrucţiuni Condiţie reprezintă o expresie booleană. Exemple: > x:=234; x := 234 > while x>0 do x:=iquo(x,10,'r');print(r) od; x := 23 4 x := 2 3 x := 0 2 5

Mădălina Roxana Buneci Metode merice Laborator - 2007 III. 2. Proceduri în MAPLE În principal, necesitatea subprogramelor se datorează faptului că de multe ori algoritmul prevede executarea aceloraşi instrucţiuni pentru date diferite. Grupul de instrucţiuni care se repetă poate constitui o unitate distinctă căreia i se dă un nume şi un set de parametri. Ori de câte ori va fi necesară execuţia acestui grup de instrucţiuni se specifică numele şi parametrii care actualizează grupul de instrucţiuni (astfel se scurtează dimensiunea şi creşte claritate programului). Grupul de instrucţiuni se numeşte procedură (procedure) în MAPLE. Forma unei proceduri este: nume:=proc (param1, param2, ) local lista declaraţii locale; global lista declaraţii globale; options listă opţiuni; description descriere; instrucţiuni end; toate elementele de mai sus sunt obligatorii. că este necesar ca procedura să întoarcă o valoare, se poate folosi apelul RETURN(v) în şirul de instrucţiuni din corpul procedurii. Parametrii care apar în scrierea unei proceduri se numesc parametrii formali, ei având un rol descriptiv (un parametru formal este o variabilă al cărei nume este cunoscut, dar al cărei conţinut nu este precizat decât în momentul execuţiei). În cadrul listei, parametrii formali sunt separaţi prin virgulă. mele procedurii (nume) este un identificator MAPLE. Apelul unei proceduri se face cu comanda: nume (listă parametrii actuali) parametrii actuali fiind expresii despărţite între ele prin virgulă în cadrul listei. În momentul execuţiei parametrii actuali substituie parametrii formali. Un apel de procedură determină următoarele acţiuni: se stabileşte corespondenţa între argumente şi parametrii se execută instrucţiunile subprogramului, până când se ajunge la end sau la o instrucţiune RETURN. Efectul acestor instrucţiuni (end şi RETURN) este întoarcerea în unitatea de program în care a avut loc apelul, şi anume 6

Metode merice - Lucrarea de laborator 4 la instrucţiunea ce urmează imediat acestui apel (precizăm că o procedură poate apela la rândul său o altă procedură). Un apel de procedură este corect dacă între parametrii actuali şi cei formali există o corespondenţă atât ca număr, cât şi ca tip şi organizare. Exemplu: Să presupunem că se dă un număr întreg pozitiv x, şi se cere lista cifrelor corespunzând reprezentării binare a lui x. Procedura următoare rezolvă această problemă. > lbinar:=proc(x) local y,l; y:=x; L:=[]; while y>0 do L:=[irem(y,2,'c'),op(L)];y:=c; od; RETURN(L) end; > lbinar(27); [ 1, 1, 0, 1, 1 ] > lbinar(32); [ 1, 0, 0, 0, 0, 0 ] Procedura lbinarfr de mai jos întoarce lista primelor n cifre ale reprezentării binare a unui număr x, cu proprietatea 0 x<1. > lbinarfr:=proc(x,n) local y,i,l; y:=x;l:=[]; for i from 1 to n do y:=y*2; RETURN(L) end; L:=[op(L),floor(y)];y:=frac(y)od; > lbinarfr(0.15,10); [ 0, 0, 1, 0, 0, 1, 1, 0, 0, 1 ] Procedura lbin întoarce lista cifrelor binare corespunzătoare unui număr real x. Pentru partea fracţionară a numărului se reţin n cifre. Procedura lbin apelează procedurile precedente. 7

Mădălina Roxana Buneci Metode merice Laborator - 2007 > lbin:=proc(x,n) local y,l1,l2,l; y:=abs(x); L1:=lbinar(floor(y)); L2:=lbinarfr(frac(y),n); L:=[L1,L2]; RETURN(L) end; > lbin(23.15,10); [ [ 1, 0, 1, 1, 1 ], [ 0, 0, 1, 0, 0, 1, 1, 0, 0, 1 ] ] 8