[Explicaţie: pregătirea unui scurt curs de Small Basic pentru copii a făcut să nu mă pot concentra să scriu pentru CNet.ro. Pentru a recupera, voi publica din programele pregătite pentru respectivul curs, cu speranţa că vor folosi cuiva – chiar dacă Small Basic nu e atât de popular.] Mergem mai departe cu nişte programe simple spre medii. Desigur, totul e relativ la nivelul Dvs de cunoştinţe despre Small Basic. E un limbaj pentru copii şi începători: dacă nu ştiţi programare urmaţi tagul Small Basic şi poate veţi învăţa!
1. Se dă un număr. Să se inverseze verificându-se dacă e palindrom (numerele palindrome sunt egale cu “inversul” lor – exemple: 121, 4554, 9834389…). De asemenea să se afle cifra maximă. Online aici.
TextWindow.Write("Scrieţi un număr: ") n=TextWindow.ReadNumber() nrest=n ninvers=0 max=0 While (nrest>0) cifra=Math.Remainder(nrest,10) If cifra>max Then max=cifra EndIf nrest=Math.Floor(nrest/10) ninvers=ninvers*10+cifra EndWhile TextWindow.WriteLine("Numărul inversul este: "+ninvers) If n=ninvers Then TextWindow.WriteLine("Este palindrom!") Else TextWindow.WriteLine("Nu este palindrom!") EndIf TextWindow.WriteLine("Cea mai mare cifră a numărului este "+max)
2. Se dă un număr. Să se afle suma cifrelor lui şi să se construiască un număr nou doar din cifrele sale pare. Online aici.
TextWindow.Write("Scrieţi un număr: ") n=TextWindow.ReadNumber() nrest=n nnou=0 cate=0 suma=0 While (nrest>0) cifra=Math.Remainder(nrest,10) suma=suma+cifra nrest=Math.Floor(nrest/10) If Math.Remainder(cifra,2)=0 Then nnou=nnou+cifra*Math.Power(10,cate) cate=cate+1 EndIf EndWhile TextWindow.WriteLine("Numărul nou este: "+nnou) TextWindow.WriteLine("Suma cifrelor este: "+suma)
3. Să se dea o sumă de bani cu minimul de bancnote. Online aici.
TextWindow.Write("Indicaţi suma: ") n=TextWindow.ReadNumber() bani[1]=500 bani[2]=200 bani[3]=100 bani[4]=50 bani[5]=10 bani[6]=1 TextWindow.WriteLine("Suma indicată de Dvs se împarte astfel în bancnote: ") i=1 While n>0 cate=Math.Floor(n/bani[i]) If cate>0 Then TextWindow.WriteLine(cate+" bacnote de "+bani[i]) EndIf n=Math.Remainder(n,bani[i]) i=i+1 EndWhile
4. Se dau două numere. Să se afle cel mai mare divizor comun (cmmdc) şi cel mai mic multiplu comun (cmmmc). Online aici.
TextWindow.Write("Primul număr: ") a=TextWindow.ReadNumber() TextWindow.Write("Al doilea număr: ") b=TextWindow.ReadNumber() aa=a bb=b While (aa<>bb) If aa>bb Then aa=aa-bb Else bb=bb-aa EndIf EndWhile TextWindow.WriteLine("CMMDC este "+aa) TextWindow.WriteLine("CMMDC este "+(a*b)/aa)
0 comentarii