Small Basic: Câteva programe simple


[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.] Vom vedea în continuare câteva programe banale, bune pentru începători, adică pentru cei care acum “buchisesc” Small Basic. Vă amintesc că Small Basic e un limbaj de programare gândit special pentru copii şi începători.

1. În funcţie de ora din zi să se salute cu "Bună dimineaţa!", "Bună ziua!" sau "Bună seara!" Online aici.

ora=Clock.Hour
If (ora<10) Then
  TextWindow.WriteLine("Bună dimineaţa!")
Else
  If (ora<18) Then
    TextWindow.WriteLine("Bună ziua!")
  Else
    TextWindow.WriteLine("Bună seara!")
  EndIf
EndIf

2. Se introduc mai multe numere, încheierea introducerii fiind semnalată cu zero. Calculaţi media lor aritmetică. Online aici.

suma=0
cate=0
citire:
nr=TextWindow.ReadNumber()
If (nr<>0) Then
  suma=suma+nr
  cate=cate+1
  Goto citire
EndIf
media=suma/cate
TextWindow.WriteLine("Media artimetică este: "+media)

3. Se dau două numere şi se indică o operaţie (1: adunare; 2: scădere; 3: împărţire; 4: înmulţire; 5: putere; şi 0 ieşire). Să se facă operaţia şi să se reia totul. Online aici.

inceput:
TextWindow.Write("Indicati primul numar: ")
a=TextWindow.ReadNumber()
TextWindow.Write("Indicati al doilea numar: ")
b=TextWindow.ReadNumber()
TextWindow.WriteLine("Putem efectua urmatoarele operatii:")
TextWindow.WriteLine("1. Adunare")
TextWindow.WriteLine("2. Scadere")
TextWindow.WriteLine("3. Inmultire")
TextWindow.WriteLine("4. Impartire")
TextWindow.WriteLine("5. Putere")
TextWindow.WriteLine("0. Iesire")
TextWindow.Write("Alegeti operatia: ")
operatia=TextWindow.ReadNumber()
If operatia=0 Then
  Goto final
EndIf
If operatia=1 Then 
  TextWindow.WriteLine("Ati ales adunare: "+a+"+"+b+"="+(a+b))
EndIf  
If operatia=2 Then 
  TextWindow.WriteLine("Ati ales scadere: "+a+"-"+b+"="+(a-b))
EndIf  
If operatia=3 Then 
  TextWindow.WriteLine("Ati ales inmultire: "+a+"*"+b+"="+(a*b))
EndIf  
If operatia=4 Then 
  TextWindow.WriteLine("Ati ales impartire : "+a+"/"+b+"="+(a/b))
EndIf  
If operatia=5 Then 
  TextWindow.WriteLine("Ati ales putere: "+a+" la puterea "+b+"="+Math.Power(a,b))
EndIf  
Goto inceput
final:

4. Să se scrie ziua de azi în două forme, pe două rânduri: 03-04-2012 şi 3 aprilie 2012. Online aici.

ziua=Clock.Day
If (ziua<10) Then
  TextWindow.Write(0)
EndIf
TextWindow.Write(ziua+"-")
luna=Clock.Month
If (luna<10) Then
  TextWindow.Write(0)
EndIf
TextWindow.Write(luna+"-")
anul=Clock.Year
TextWindow.WriteLine(anul)
TextWindow.Write(ziua+" ")
If (luna=1) Then
  TextWindow.Write("ianuarie")
EndIf
If (luna=2) Then
  TextWindow.Write("februarie")
EndIf
If (luna=3) Then
  TextWindow.Write("martie")
EndIf
If (luna=4) Then
  TextWindow.Write("aprilie")
EndIf
If (luna=5) Then
  TextWindow.Write("mai")
EndIf
If (luna=6) Then
  TextWindow.Write("iunie")
EndIf
If (luna=7) Then
  TextWindow.Write("iulie")
EndIf
If (luna=8) Then
  TextWindow.Write("august")
EndIf
If (luna=9) Then
  TextWindow.Write("septembrie")
EndIf
If (luna=10) Then
  TextWindow.Write("octombrie")
EndIf
If (luna=11) Then
  TextWindow.Write("noiembrie")
EndIf
If (luna=12) Then
  TextWindow.Write("decembrie")
EndIf
TextWindow.WriteLine(" "+anul)

5. Să se verifice dacă un număr este prim, afişându-se divizorii altfel.

start:
TextWindow.Write("Introduceti un numar si o sa va spunem daca este prim sau nu: ")
nr=TextWindow.ReadNumber()
sedivide=0
For i=2 To Math.Ceiling(nr/2)
  If Math.Remainder(nr,i)=0 Then
    sedivide=1
    TextWindow.Write(" ("+i+") ")
  EndIf
EndFor
If sedivide=0 Then
  TextWindow.WriteLine("Este prim!")
Else
  TextWindow.WriteLine("Nu este prim!")
EndIf
TextWindow.Pause()
TextWindow.Clear()
Goto start


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (1 evaluări, media: 5,00 din 5)
Loading...Loading...

0 comentarii


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *