| NoWomanNoCry a întrebat:

Buna,nu stiu daca am ales categoria corecta dar sper ca cineva o sa poata sa ma ajute. Eu sunt elev in clasa a 9-a la sectia mate-info si trebuie sa spun ca am o problema cu informatica(deocamdata lucram in c++)...problema nu este ca nu imi place informatica in sine, ba chiar imi place si vreau sa ma angajez in domeniul acesta pe viitor.Problema este ca eu nu ma descurc deloc sa transform o problema din text, in program.Adica daca citesc un exercitiu nu pot sa ma concentrez si sa adun toate formulele la un loc ca sa il fac sa mearga.Eu tot exersez acasa si fac aceleasi programe incontinuu pe PC dar nu ma prea ajuta si nu stiu ce sa fac sa invat sa transform text, in c++....As fi recunoscator daca cineva m-ar putea ajuta+funda..Multumesc anticipat! happy

Răspuns Câştigător
| Radu284 a răspuns:

Ideea in programare, ca si in invatarea unei limbi straine, este ca dupa un timp o sa incepi s agandesti direct in limbajul ala, fara sa 'aduni formule'. De fapt, la ce faceti voi in a 9-a nu prea sunt formule. Da-mi exemplu de problema la care ai dificultati, si-ti explic eu cum se face.

| NoWomanNoCry explică (pentru Radu284):

Uite de exemplu o problema de la o tema de curand: "Se citesc n numere intregi.Sa se verifice daca suma dintre primul si ultimul numar citit este numar prim." Sau o alta problema:"Sa se afiseze numar

| Radu284 a răspuns (pentru NoWomanNoCry):

Ok, este relativ simpla. Pe voi v-a invatat de pseudocod? Sau de scheme logice?

| didiDia a răspuns (pentru NoWomanNoCry):

Algoritmul in pseudocod (sau modul de a gandi rezolvarea problemei) este urmatorul:
citeste numarul n
citeste cele n numere intregi
calculeaza suma dintre primul si ultimul numar citit
pentru i de la 2 la radical din suma verifica
daca restul impartirii sumei la i este egal cu 0, suma nu este numar prim si ne oprim
daca i a ajuns sa fie mai mare decat radical din suma, suma este numar prim
(acum s-a sfarsit pseudocodul)
Nota:i este o variabila contor
Pentru mai multe detalii, contacteaza-ma pe privat.

5 răspunsuri:
| didiDia a răspuns:

La informatica nu e vorba de a folosi,, formule stas'' pentru a rezolva o problema. Pur si simplu te gandesti: care sunt pasii care ma vor duce la rezolvarea problemei? Apoi te gandesti cum sa rezolvi fiecare pas. De exemplu in problema ta te gandesti: mai intai trebuie sa citesc numarul n, (cum citesc un numar? ce instructiuni trebuie sa scriu in C++ pentru a citi un numar?). Apoi trebuie sa citesc cele n numere. Cum voi citi n numere? Trebuie sa le stochez undeva? (Se vede ca voi avea nevoie de ele mai tarziu, deci trebuie sa le retin pe fiecare in ceva variabila, preferabil sa creez o variabila de tip tablou (in speta vector aici) in care sa retin cele n valori). Apoi trebuie sa stiu care sunt valorile de pe prima si de pe ultima pozitie (in C++ prima pozitie este pozitia 0, iar ultima este pozitia n-1). Asta inseamna sa calculez suma dintre valoarea de pe pozitia 0 si valoarea de pe pozitia n-1. Acum ca am calculat suma, ce-mi mai ramane de facut? Acum trebuie sa verific daca suma este sau nu un numar prim. Cum rezolv asta? Pentru asta este o metoda cunoscuta in programare care presupune luarea unei variabile contor (notata de mine cu i in raspunsul anterior) care parcurge toate valorile intregi de la 2 la radical din numarul ce vrem sa-l verificam. Parcurgerea incepe de la 2 pentru ca 2 este primul numar pentru care are sens sa vezi daca impartirea la el se face exact sau cu rest (se stie ca orice numar impartit la 1 da acel numar, deci pentru 1 nu are sens sa verifici). Parcurgerea se termina la radical din numarul ce vrem sa-l verificam pentru ca daca pana atunci nu am gasit nici un numar la care sa se imparta exact numarul nostru, nici de acolo inainte nu vom gasi. Asta este pentru ca intr-un produs P=F1*F2, fie avem F1=F2=radical din P, fie F1 mai mic decat radical din P si F2 mai mare decat radical din P, fie F1 mai mare decat radical din P si F2 mai mic decat radical din P.

anonim_4396
| anonim_4396 a răspuns:

Vezici aici bazele programari in C++, cam pe unde ati ajuns voi, ai definiti, explicatii si exemple : http://www.runceanu.ro/adrian/wp-content/cursuri/S2progr2012/curs5-PC2.pdf

Daca nu gasesti, intreaba pe softpedia sau pe skullbox, sigur te vor ajuta