Книга программиста/Задачи на Small Basic
Внешний вид
Все программы, код которых выложен здесь, являются работоспособными. На момент написания программ использовалась среда Microsoft Small Basic.
Простой калькулятор
[править]While 1 = 1
TextWindow.BackgroundColor = "Blue" ' Изменяем цвет фона
TextWindow.ForegroundColor = "White" ' Изменяем цвет текста
TextWindow.Write("a: ")
a = TextWindow.ReadNumber()
TextWindow.Write("b: ")
b = TextWindow.ReadNumber()
TextWindow.Write("операция: ")
operation = TextWindow.Read()
TextWindow.BackgroundColor = "Blue"
TextWindow.ForegroundColor = "Yellow"
If operation = "+" Then
TextWindow.WriteLine(a + " + " + b + " = " + (a + b))
ElseIf operation = "-" Then
TextWindow.WriteLine(a + " - " + b + " = " + (a - b))
ElseIf operation = "*" Then
TextWindow.WriteLine(a + " * " + b + " = " + (a * b))
ElseIf operation = "/" Then
TextWindow.WriteLine(a + " / " + b + " = " + (a / b))
Else
TextWindow.WriteLine("-> операция " + operation + " не определена.")
EndIf
EndWhile
Вставка числа в массив
[править]TextWindow.WriteLine("Количество элементов: ")
count = TextWindow.ReadNumber()
TextWindow.WriteLine("Введите массив: ")
For i = 0 To count - 1
a[i] = TextWindow.ReadNumber()
EndFor
TextWindow.WriteLine("Позиция: ")
position = TextWindow.ReadNumber()
If position >= count Then
TextWindow.WriteLine("Недопустимый индекс.")
Else
TextWindow.WriteLine("Значение: ")
value = TextWindow.ReadNumber()
For i = count To position + 1 Step -1
a[i] = a[i - 1]
EndFor
a[position] = value
TextWindow.WriteLine("Массив после вставки: ")
For i = 0 To count
TextWindow.WriteLine(a[i])
EndFor
EndIf
Вывод матрицы
[править]TextWindow.Write("Количество строк: ")
rows = TextWindow.ReadNumber()
TextWindow.Write("Количество столбцов: ")
cols = TextWindow.ReadNumber()
For i = 0 To rows - 1
For j = 0 To cols - 1
a[i][j] = TextWindow.ReadNumber()
EndFor
EndFor
TextWindow.Write("Количество символов: ")
length = TextWindow.ReadNumber()
For i = 0 To rows - 1
For j = 0 To cols - 1
l = Text.GetLength(a[i][j])
s = ""
For count = 1 To length - l ' Узнаем сколько надо добавить пробелов для выравнивания
s = s + " "
EndFor
TextWindow.Write(a[i][j] + s)
EndFor
TextWindow.WriteLine("") ' Для перевода на новую строку
EndFor