View Full Version: PROGRAMARE PROCEDURALA

ioio >>Anul 1 >>PROGRAMARE PROCEDURALA


<< Prev | Next >>

andrei- 01-19-2008
PROGRAMARE PROCEDURALA
Lucrez din amintiri si din publicatiile mele pe alte forumuri: *greseli in grila: 6D cu conditia sa fie x= si nu a= ca restul sunt gresite 93B cu conditia sa fie definit p<9> (nu sunt sigur rog pe cineva sa verifice cu un compilator). am gasit ultimele posturi prin temporare pe la mine: 93: Hmm prod cartezian e ceva gen: (0 0 0) (0 0 1) (0 0 2) (0 1 0) (0 1 1) (0 1 2) (0 2 0) (0 2 1) (0 2 2)... apoi prima devine 1 si apoi 2 deci 9x3=27 apeluri tipar() Ori nu vad bine ori am fost prea intuitiv dar mi se pare corecta o solutie gen a=0 b=2 c=2 sau a=1 b=3 c=2. Altfel as zice solutia 93B: cazul in care avem tot tabelul definit p<0>-p<9> dar afiseaza doar primele 3. Eu zic ca e putin gresit enuntul in grila. Trebuie -*test*-('")at un tablou de vreo 9 elemente (ca sa nu crape compu la atribuiri cu k>2) 94: metoda cautarii binare inseamna exact jocul "gandeste-te la un numar intre 1 si 100 eu zic un nr tu zici mai mic sau mai mare" si ti-l gasesc din maxim 7 incercari: sirul este 1 3 5 7 10 16 21 eu intreb mijlocul: 7 tu zici mai mare eu iau mijlocul sirului 7..21, aleg 16, zici mai mic aleg mijlocul subsirului 7..16: adica 10 (mijloc inteleg pozitia din mijloc) Deci 7 16 10 (94A) (Intre 1 si 100 intrebarile ar fi: 50<; 25<; 12<6>; 10 BINGO!) 18B: a=10 b=11; a!=b atunci b++; a*=b deci a=10 b=12 si a *=b a=120 si b=12 ("altfel" nu se executa, a nu devine 11) 71C: p=n*(n-1)*(n-2)*...*2*1=n! 93 astept parerea unui compilator, nu imi pot da seama asa. Am pus ce parea mai aproape de realitate (precizat mai sus). Grila finala 1B 2C 3B 4D 5B 6D* 7D 8D 9C 10B 11B 12D 13C 14D 15D 16C 17C 18B 19B 20C 21C 22B 23C 24C 25B 26C 27D 28B 29B 30C 31D 32D 33D 34B 35C 36A 37B 38A 39B 40B 41C 42B 43C 44C 45C 46D 47C 48C 49C 50C 51D 52D 53B 54C 55A 56C 57B 58C 59A 60A 61D 62C 63C 64C 65D 66A 67B 68D 69C 70B 71C 72C 73B 74C 75B 76D 77A 78B 79C 80B 81C 82C 83C 84D 85A 86D 87B 88D 89A 90B 91A 92A 93B* 94B Steluta * zice greseli in grila, sunt insa modificate dupa cele mai probabile situatii. Reamintesc: 6D daca x= si nu a=.

utza- 01-27-2008

eu zic ca la 41 este D

licuriciHR- 01-27-2008

de ce spui ca la 41 e D?la 65 nu e raspunsul corect A? nu poate cineva sa verifice?

andrei- 01-27-2008

trebuie sa verific 41 nu mai stiu dar am gasit denumirea exact asa in cursuri sau sinteze. Nu cred sa fi facut o eroare de tipar dar bine ca mi-ai adus aminte ca nu le am cu teoria si am si uitat. Apropo: google search "parametri formali" si gasesti. 65: 7+6+5+4+3+2+1=28 (is pe fuga si e o verificare rapida. Prima data j e de la 1 la 7 =7 ori a doua oara de la 2 la 7 si tot asa pana e de la 7 la 7 = 1 data). Apropo decizia se executa indiferent daca e falsa sau adevarata. Poate de aia s-au gandit multi la 16

monlovedan- 01-27-2008

41 sigur e d parametri formali

chmro- 01-27-2008

41: Declararea unei functii: Function <nume><(<lista_parametrii_formali>)>:<tip_rezultat> <<declarare_variabile>> { tipul variabilelor locale} <<declarare_proceduri>> {definirea de proceduri/functii} begin <procesul_de_calcul> {corpul/instructiunile functiei} end Iar la 93, din "if(k==c) tipar() se deduce ca c trebuie sa fie 2; altfel se depaseste marimea tabloului p, care are 3 elemente. Singura varianta cu c=2 este d.

andrei- 01-28-2008

41 e o capcana: Declararea se face utilizand parametri formali int function(parametri formali){}; Apelarea se face prin parametri actuali: a=function(parametri actuali). Enuntul spune: Parametrii utilizati la apelul unei functii, se numesc: actuali adica 41C e corect La 93 cat mi-am batut capul pare o greseala undeva. Si eu as fi ales varianta cu c=2 dar scartaie si aia. Am presupus ca P are mai mult de 3 elemente doar ca pe alea 3 le utilizeaza (ca sa nu apara depasiri) A: Afiseaza (0,0,0)...(10,10,10) B: Afiseaza (1,1,1)...(3,3,3) dar produce o gramada de afisari pentru acelasi element C: Afiseaza (1,1,1)...(9,9,9) de 9 ori fiecare element. D: Afiseaza (1,1,1)...(9,9,9) STATI CA MI-A PICAT FISA, (ce dobitoc mai sunt): D E CORECT nu am observat ca M e "multimea cifrelor nenule" adica {1...9} si ma gandeam la {0..2} sau {1..3} 1B 2C 3B 4D 5B 6D* 7D 8D 9C 10B 11B 12D 13C 14D 15D 16C 17C 18B 19B 20C 21C 22B 23C 24C 25B 26C 27D 28B 29B 30C 31D 32D 33D 34B 35C 36A 37B 38A 39B 40B 41C 42B 43C 44C 45C 46D 47C 48C 49C 50C 51D 52D 53B 54C 55A 56C 57B 58C 59A 60A 61D 62C 63C 64C 65D 66A 67B 68D 69C 70B 71C 72C 73B 74C 75B 76D 77A 78B 79C 80B 81C 82C 83C 84D 85A 86D 87B 88D 89A 90B 91A 92A 93D 94B Steluta * zice greseli in grila, sunt insa modificate dupa cele mai probabile situatii. Reamintesc: 6D daca x= si nu a=.

rseby- 01-28-2008

imi explicati si mie va rog de ce 40 B ?

licuriciHR- 01-28-2008

..totusi sunteti siguri ca la 18 corect e raspunsul b?

andrei- 01-28-2008

18: a=10, b=a+1=11 (se executa atribuirile, desi plasate intr-un if). a!=b (a diferit de b, ok) atunci b++ (NU se executa a++) ->b=b+1=12. a*=b tot una cu a=a*b=10*12=120 Deci a=120 b=12. B corect. b++ inseamna b devine b+1 (in arhitectura sistemelor veti gasi INC 1$ sau ceva asemanator) a*=b inseamna a devine a * b. 40B: C-ul trateaza charurile ca si intregi, e un limbaj foarte flexibil. Mai ales in afisari de genul printf("%d") %d e punctul important aici ca si in alte probleme, inseamna INTREG si asta forteaza afisarea la nivel de byte iar nu ca litera propriu zisa, deci intreg. 'A'=65 in cazul asta (verificati cu character map) Continuati va rog, o sa am primul examen la programare si ma ajuta sa ma verific in raspunsuri.

singlexyz- 01-30-2008

La 78 este sigur varianta "b." ??? Eu as spune ca ar fi mai degraba "a." dar ... intreb.

chmro- 01-30-2008

La 78 este sigur varianta "b." ??? Eu as spune ca ar fi mai degraba "a." dar ... intreb. Programul tipareste primele doua caractere din fisier, cauta caracterul "rand nou" si tipareste primul caracter de dupa el.

mihai770- 01-30-2008

am si eu un fix :) de ce la 56 este C?? nu ar trebui sa fie A ?? multumesc anticipat.

chmro- 01-30-2008

am si eu un fix :) de ce la 56 este C?? nu ar trebui sa fie A ?? multumesc anticipat. Aici chiar nu stiu sa-ti explic, dar am facut scurt un programel iar rezultatul a fost"ueae". Deci trebuie sa-mi crezi computerul pe cuvant.

andrei- 01-30-2008

am ramas tablou: face parte din exercitiile pe care le-am rezolvat dar acu ma uit ca matza si nu inteleg cum am reusit. O scurta analiza cu explicatie: se pare ca afiseaza vocale. Deci eaeu sau ueae. Afisarea se face la intoarcerea din recursivitate deci se vor afisa invers. Deci ueae. Dar promit ca ma holbez pe el maine sa aflu DE CE mai sigur. Hmm uitandu-ma mai bine dap asa e. i se duce pan la 8 si apoi se intoarce. s la intoarcere e "examenul" de la coada la cap, cand e o vocala se afiseaza. Mersi, merita retinut la multe probleme de recursivitate "oferite" drept calvar: dupa ce conditia e satisfacuta functia intoarce totul de la coada la cap. Cand functia recursiva apare inaintea conditiei de iesire. Multe probleme de info sunt totusi de intuitie ca altfel nu ai timp sa le rezolvi cap coada. Si scuze ca remodificandu-mi posturile imi dau seama ca am inceput sa vorbesc in "deci"... echivalati cu "rezulta ca" acolo unde apare. :lol:

Forumer™ is Voted #1 Free Forum Hosting provider
Build your own community today with the largest message board hosting company.