[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
0 comentarii