Small Basic: Câteva programe cu şiruri


[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.] Acum vedem programe cu şiruri. Vă amintesc că anul trecut am scris mai multe articole introductive pentru Small Basic, aici vorbind despre şiruri, iar aici am văzut câteva exemple (şirul lui Fibonacci, maximul dintr-un şir şi sortarea unui şir). Să vedem acum alte programe-exemple.

1. Să se creeze un şir nou inversând un alt şir de numere aleatoare. Online aici.

n=20
For i=1 To n
  sir[i]=Math.GetRandomNumber(100)
EndFor

For i=1 To n
  sirnou[i]=sir[n-i+1]
EndFor

k=1
For i=n To 1 Step -1
  sirnou[k]=sir[i]
  k=k+1
EndFor

TextWindow.WriteLine("Primul sir:")
For i=1 To n
  TextWindow.Write(sir[i]+" ")
EndFor
TextWindow.WriteLine("")
TextWindow.WriteLine("Al doilea sir:")
For i=1 To n
  TextWindow.Write(sirnou[i]+" ")
EndFor

2. Să se creeze un şir nou cu numerele pare din alt şir de numere aleatoare. Online aici.

n=20
For i=1 To n
  sir[i]=Math.GetRandomNumber(100)
EndFor

k=1
For i=1 To n
  If Math.Remainder(sir[i],2)=0 Then
    sirnou[k]=sir[i]
    k=k+1
  EndIf
EndFor

TextWindow.WriteLine("Primul sir:")
For i=1 To n
  TextWindow.Write(sir[i]+" ")
EndFor
TextWindow.WriteLine("")
TextWindow.WriteLine("Al doilea sir:")
For i=1 To k-1
  TextWindow.Write(sirnou[i]+" ")
EndFor

3. Se dau două şiruri: să se afle intersecţia şi reuniunea lor. Online aici.

n=20
For i=1 To n
  x=Math.GetRandomNumber(100)
  If Array.ContainsValue(sir1,x)="False" Then
    sir1[i]=x
  EndIf
  x=Math.GetRandomNumber(100)
  If Array.ContainsValue(sir2,x)="False" Then
    sir2[i]=x
  EndIf
EndFor

k=1
For i=1 To n
  For j=1 To n
    If sir1[i]=sir2[j] Then
      sir3[k]=sir1[i]
      k=k+1
    EndIf
  EndFor
EndFor

k=1
For i=1 To n
  If Array.ContainsValue(sir4,sir1[i])="False" Then
    sir4[k]=sir1[i]
    k=k+1
  EndIf
  If Array.ContainsValue(sir4,sir2[i])="False" Then
    sir4[k]=sir2[i]
    k=k+1
  EndIf
EndFor

TextWindow.WriteLine("Primul sir:")
For i=1 To n
  TextWindow.Write(sir1[i]+" ")
EndFor

TextWindow.WriteLine("")
TextWindow.WriteLine("Al doilea sir:")
For i=1 To n
  TextWindow.Write(sir2[i]+" ")
EndFor

TextWindow.WriteLine("")
TextWindow.WriteLine("Intersectia sirurilor:")
For i=1 To Array.GetItemCount(sir3)
  TextWindow.Write(sir3[i]+" ")
EndFor

TextWindow.WriteLine("")
TextWindow.WriteLine("Reuniunea sirurilor:")
For i=1 To Array.GetItemCount(sir4)
  TextWindow.Write(sir4[i]+" ")
EndFor


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (Neevaluat încă)
Loading...Loading...

0 comentarii


Lasă un răspuns

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