300 likes | 606 Views
De la poveste. la realitate !. Pinochio. In fiecare zi lucr á toare din sápt á m î n á , Pinochio spune c â te o minciun á datorit á c á reia î i cre ş te nasul cu c a te p cm pe zi.
E N D
De la poveste la realitate !
Pinochio • In fiecare zi lucrátoare din sáptámîná, Pinochio spune câte o minciuná datoritá cáreia îi creşte nasul cu cate p cm pe zi. • Sîmbátáşi duminicá, când vine bunicul Gepeto acasá, pentru a nu-l supára prea tare, Pinochio reuşeşte sá nu spuná nici o minciuná, ba chiar uitându-se în oglindá observá cáîn fiecare din aceste zile lungimea nasului sáu scade cu câte 1 cm pe zi. • Când începe o nouá sáptámaná, rámânând singur acasá, Pinochio continuáşirul minciunilor.
Cerinţá Care este dimensiunea nasului lui Pinochio dupák zile, stiind ca initial nasul sáu masura n cm ? • Date de intrare Dela tastatura se citesc n, p si k. • Date de ieşire Peecran se vaafisa un singurnumar natural, adicanumarul de cm cerut de problema. • Restricţii 1≤n≤10001≤k≤2561≤p≤100
Exemple Pentru n=2 p=1 k=8 se va afisa 6 cm Observatie Pentru orice exemplu zilele incep cu luni. Peexemplul anterior zile sunt: luni, marti, miercuri, joi, vineri, sambata, duminica, luni.
1. Analiza problemei 1.1. Datele problemei • a) Date de intrare: • b)Date de iesire: l lungime_nas=lungimea nasului lui Pinochio dupa k zile
1.2.Functia programului • Iniţial nasul lui Pinochio are n cm. Calculul lungimii nasului lui Pinochio dupa k zile începe cu ziua de luni din prima sáptámâná. • Pentru a calcula lungimea nasului lui Pinochio dupa k zile va trebui sá rezolvám urmatoarele subprobleme: • Cu câţi centimetri va creşte nasul lui Pinochio într-o sáptámâná completá? • Stiind cáîn zilele lucrátoare(luni, marţi, miercuri, joi, vineri), primele 5 zile din sáptámâná, nasul îi creşte cu p cm/zi, iar sâmbátáşi duminicá nasul se scurteazá cu câte 1 cm/zi, nasul lui Pinochio va creşte într-o sáptámâná completá cu (p*5-2) cm. • Câte sáptámâni complete(formate din 7 zile) sunt cuprinse în cele k zile? • Numárul de sáptámâná cuprinse în cele k zile este egal cu partea întreagá a câtului obţinut la împárţirea lui k la 7, respectiv (k div 7). • Din câte zile este formatá sáptámâna incompletá? • Numarul de zile din sáptámânele respective incomplete este egal cu restul obţinut la împárţirea lui k la 7, respective (k mod 7). Acest rest poate fi şi zero, dacá numárul de zile k este multiplu de 7. • Ansamblând subprogramele de mai sus, asemenea unor blocuri dintr-un joc LEGO, obţinem ráspunsul cerut.
2.Descrierea algoritmului: începutPinochio citesten,p,k lungime_nas = n l_sapt = p * 5 – 2 nr_saptamani = k div 7 rest_zile = k mod 7 lungime_nas = lungime_nas + numar_saptamani * L_sapt dacarest_zile ≤ 5 atunci lungime_nas = lungime_nas + rest_zile*p altfel {rest_zile = 6} lungime_nas = lungime_nas + 5 * p – 1 sf daca scrie lungime_nas sf Pinochio
Program pinochio; Var l, n, p, k: integer; Begin writeln(‘nasul initial al luiPinochio : n=‘); readln(n); writeln(‘nasulluiPinochiocreste cu : p=‘); readln(p); writeln(‘nasul se transforma in k zile ‘ ); readln(k); If k mod 7 <6 then L=n + (k div 7)*(5*p - 2) + k mod 7 * p else L=n + (k div 7)*(5*p - 2) + k mod 7*p + 7-kmod 7 Writeln (‘NasulluiPinochioajunge la lungimea’,L); End.
Incercati sa transcrieti algoritmul de mai sus in limbajul Pascal si verificati corectitudinea programului cu urmatoarele teste:
Realizati o prezentare PowerPoint Páțaniile lui Pinochio Ajutati-l pe Pinochio cu câteva sfaturi utile