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.
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
Ok, este relativ simpla. Pe voi v-a invatat de pseudocod? Sau de scheme logice?
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.
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.
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