seminar 02 probleme simple - babeș-bolyai university · 2018. 9. 26. · seminar 02 probleme...

1
Seminar 02 Probleme simple Laura Dioşan, Dragoș Dobrean 1 Algoritmi și programare, 2018-2019 Rezolvarea problemelor cu ajutorul limbajului Python Obiective Familiarizarea cu limbajul Python Executarea unor instrucțiuni simple folosind interpretorul Python. Scrierea și executarea unor programe simple folosind limbajul Python care folosesc date de intrare preluate de la consolă și redau rezultate pe consolă. Probleme simple pentru exersarea instrucțiunilor de citire, scriere, condiționale, ciclice. Probleme simple pentru exersarea structurilor de date simple existente în Python. Dezvoltarea și testarea subalgoritmilor folosind limbajul Python. Aspecte teoretice Rezolvarea unor probleme simple cu ajutorul limbajului Python. Dezvoltarea și testarea subalgoritmilor. Cerinţe Facebook are nevoie de o nouă aplicație pentru gestiunea utilizatorilor și a conținutului postat de ei. Fiecare utilizator este identificat prin numele său (un nume poate fi format dintr-unul sau mai multe cuvinte; de ex. Ionică sau Amalia sau Ana Maria sau Ioana sau Jean Pierre sau Ana sau Amalia). Inginerii software de la Facebook doresc să identifice utilizatorii al căror nume au diferite proprietăți. Să se scrie o aplicație care sa permită urmatoarele: 1. Identificarea tuturor utilizatorilor care au un nume care începe cu un prefix dat (pt exemplul de mai sus și pentru prefixul ”io” ar trebui identificați Ionică și Ioana). 2. Identificarea primilor 10 utilizatori (în ordinea înregistrării lor în aplicație) ale căror nume conține un șir de caractere dat (pt exemplul de mai sus și pentru șirul ”na” ar trebui identificați Ana Maria și Ioana). 3. Numărul persoanelor care au numele format din mai multe cuvinte (pt exemplul de mai sus, răspunsul ar fi 2 - utilizatorii Ana Maria și Jean Pierre). 4. Eliminarea tuturor utilizatorilor ale căror nume sunt palindroame (pt exemplul de mai sus, ar trebui eliminată Ana). 5. Determinarea frecvenței de apariție a fiecărui nume în toată lista utilizatorilor (pt exemplul de mai sus, se obține: Ionică - 1, Amalia - 2, Ana Maria - 1, Ioana - 1, Jean Pierre - 1, Ana - 1). Pentru fiecare din aceste cerințe 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.

Upload: others

Post on 03-Oct-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Seminar 02 Probleme simple - Babeș-Bolyai University · 2018. 9. 26. · Seminar 02 Probleme simple Laura Dioşan, Dragoș Dobrean 1 Algoritmi și programare, 2018-2019 Rezolvarea

Seminar 02 Probleme simple

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

Rezolvarea problemelor cu ajutorul limbajului Python

Obiective

Familiarizarea cu limbajul Python Executarea unor instrucțiuni simple folosind interpretorul Python. Scrierea și executarea unor programe simple folosind limbajul Python care folosesc date de intrare preluate de la consolă și redau rezultate pe consolă. Probleme simple pentru exersarea instrucțiunilor de citire, scriere, condiționale, ciclice. Probleme simple pentru exersarea structurilor de date simple existente în Python. Dezvoltarea și testarea subalgoritmilor folosind limbajul Python.

Aspecte teoretice

Rezolvarea unor probleme simple cu ajutorul limbajului Python. Dezvoltarea și testarea subalgoritmilor.

Cerinţe

Facebook are nevoie de o nouă aplicație pentru gestiunea utilizatorilor și a conținutului postat de ei. Fiecare utilizator este identificat prin numele său (un nume poate fi format dintr-unul sau mai multe cuvinte; de ex. Ionică sau Amalia sau Ana Maria sau Ioana sau Jean Pierre sau Ana sau Amalia). Inginerii software de la Facebook doresc să identifice utilizatorii al căror nume au diferite proprietăți. Să se scrie o aplicație care sa permită urmatoarele:

1. Identificarea tuturor utilizatorilor care au un nume care începe cu un prefix dat (pt exemplul de mai sus și pentru prefixul ”io” ar trebui identificați Ionică și Ioana).

2. Identificarea primilor 10 utilizatori (în ordinea înregistrării lor în aplicație) ale căror nume conține un șir de caractere dat (pt exemplul de mai sus și pentru șirul ”na” ar trebui identificați Ana Maria și Ioana).

3. Numărul persoanelor care au numele format din mai multe cuvinte (pt exemplul de mai sus, răspunsul ar fi 2 - utilizatorii Ana Maria și Jean Pierre).

4. Eliminarea tuturor utilizatorilor ale căror nume sunt palindroame (pt exemplul de mai sus, ar trebui eliminată Ana).

5. Determinarea frecvenței de apariție a fiecărui nume în toată lista utilizatorilor (pt exemplul de mai sus, se obține: Ionică - 1, Amalia - 2, Ana Maria - 1, Ioana - 1, Jean Pierre - 1, Ana - 1).

Pentru fiecare din aceste cerințe 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.