2
Laborator 04 Probleme simple Laura Dioşan, Dragoș Dobrean 1 Algoritmi și programare, 2018-2019 Rezolvarea problemelor cu ajutorul limbajului Python Obiective Dezvoltarea subalgoritmilor folosind limbajul Python. Învățarea separării codului pe module care comunică prin intermediul apelării unor funcții. Învățarea lucrului cu tipurile de date de bază și cu cele compuse existente în Python. Învățarea modului de specificare și testare a codului. Folosirea unui IDE mai complex pentru dezvoltarea aplicațiilor în Python (ex. Eclipse) Aspecte teoretice Rezolvarea unor probleme mai complexe cu ajutorul limbajului Python. Dezvoltarea, specificarea și testarea subalgoritmilor. Termen de predare 1. funcționalitățile 1 și 2 (pe loc, în cadrul laboratorului 4) 2. funcționalitățile 3 și 4 (temă, predare în cadrul laboratorului 5) Cerinţe Rezolvați problema următoare. Folosiți un proces de dezvoltare a aplicațiilor bazat pe funcționalități. Fiecare soluție trebuie să asigure o interfață de tip consolă care să permită utilizatorului introducerea datelor de intrare și vizualizarea datelor de ieșire. Este necesară folosirea doar a tipurilor de date (simple sau compuse) existente în Python. Se vor dezvolta subalgoritmi (însoțiți de specificare: descriere, input, output) pentru citirea datelor, procesarea datelor, afișarea rezultatelor. Fiecare subalgoritm de procesare trebuie să fie testat cu ajutorul aserțiunilor. Se vor evalua: a. implementarea i. (2p) funcționalitatea 1 și 2 (pe loc, în cadrul laboratorului curent) ii. (3p) funcționalitățile 3 și 4 (temă, predare în cadrul laboratorului următor) b. (1p) folosirea programării procedurale & modulare c. (1p) existența a cel puțin 10 exemple de date în aplicație (pentru a ușura și etapa de testare) d. (2p) fiecare subalgoritm trebuie să fie documentat și testat (minim 5 aserțiuni); folosirea perspectivei TDD e. (1p) existența unei interfețe (minimale) tip consolă care să permită dialogul cu utilizatorul aplicației; folosirea excepțiilor. f. funcționalitatea 5 va primi un bonus de 0.5p

Laborator 02-04 Probleme simple cu sirurilauras/test/docs/school/FP/2018-2019/labs/lab04.pdf · Laborator 04 Probleme simple Laura Dioşan, Dragoș Dobrean 2 Algoritmi și programare,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Laborator 02-04 Probleme simple cu sirurilauras/test/docs/school/FP/2018-2019/labs/lab04.pdf · Laborator 04 Probleme simple Laura Dioşan, Dragoș Dobrean 2 Algoritmi și programare,

Laborator 04 Probleme simple

Laura Dioşan, Dragoș Dobrean 1 Algoritmi și programare, 2018-2019

Rezolvarea problemelor cu ajutorul limbajului Python

Obiective

Dezvoltarea subalgoritmilor folosind limbajul Python. Învățarea separării codului pe module care comunică prin intermediul apelării unor funcții. Învățarea lucrului cu tipurile de date de bază și cu cele compuse existente în Python. Învățarea modului de specificare și testare a codului. Folosirea unui IDE mai complex pentru dezvoltarea aplicațiilor în Python (ex. Eclipse)

Aspecte teoretice

Rezolvarea unor probleme mai complexe cu ajutorul limbajului Python. Dezvoltarea, specificarea și testarea subalgoritmilor.

Termen de predare

1. funcționalitățile 1 și 2 (pe loc, în cadrul laboratorului 4) 2. funcționalitățile 3 și 4 (temă, predare în cadrul laboratorului 5)

Cerinţe

Rezolvați problema următoare. Folosiți un proces de dezvoltare a aplicațiilor bazat pe funcționalități. Fiecare soluție trebuie să asigure o interfață de tip consolă care să permită utilizatorului introducerea datelor de intrare și vizualizarea datelor de ieșire. Este necesară folosirea doar a tipurilor de date (simple sau compuse) existente în Python. Se vor dezvolta subalgoritmi (însoțiți de specificare: descriere, input, output) pentru citirea datelor, procesarea datelor, afișarea rezultatelor. Fiecare subalgoritm de procesare trebuie să fie testat cu ajutorul aserțiunilor. Se vor evalua:

a. implementarea i. (2p) funcționalitatea 1 și 2 (pe loc, în cadrul laboratorului curent)

ii. (3p) funcționalitățile 3 și 4 (temă, predare în cadrul laboratorului următor)

b. (1p) folosirea programării procedurale & modulare c. (1p) existența a cel puțin 10 exemple de date în aplicație (pentru a ușura și

etapa de testare) d. (2p) fiecare subalgoritm trebuie să fie documentat și testat (minim 5

aserțiuni); folosirea perspectivei TDD e. (1p) existența unei interfețe (minimale) tip consolă care să permită dialogul

cu utilizatorul aplicației; folosirea excepțiilor. f. funcționalitatea 5 va primi un bonus de 0.5p

Page 2: Laborator 02-04 Probleme simple cu sirurilauras/test/docs/school/FP/2018-2019/labs/lab04.pdf · Laborator 04 Probleme simple Laura Dioşan, Dragoș Dobrean 2 Algoritmi și programare,

Laborator 04 Probleme simple

Laura Dioşan, Dragoș Dobrean 2 Algoritmi și programare, 2018-2019

Calculator Profesorul de matematică are nevoie de o aplicație mai complexă pentru a-i ajuta pe elevi

să efectueze și diferite operații simple cu puncte în plan de forma p(x,y):

1. verificarea aparteneței unui punct p1(x1, y1) la o dreaptă dată prin ecuația ei ax + by + c

= 0

2. eliminarea punctelor în plan (dintr-o mulțime de puncte dată) situate într-un anumit

cadran

3. translatarea tuturor punctelor în plan (dintr-o mulțime de puncte dată) cu o anumită

distanță pe axa Ox, respectiv axa Oy.

4. identificarea submulțimilor de puncte coliniare existente într-o mulțime de puncte dată

5. modificarea operațiilor 1 - 4 astfel încât ele să poată opera cu puncte în spațiu 3D (de

forma p(x,y,z)) - bonus