Basic - вводный курс



Циклический алгоритм

Задача 140

' Пешеходный переход "зебра" FOR Y = 10 ТО 320 STEP 30
LINE (200, У)-(400, Y+20), 15, BF NEXT Y

Задача 143

1 Воздушный шарик
SCREEN 9
' Изменение цвета фона
COLOR , 1
FOR I = 1 ТО 201
' Рисование окружности изменяющегося радиуса
CIRCLE (320, 175), I, 14
' Пауза
FOR T = 1 ТО 2000: NEXT T
' Стирание окружности изменяющегося радиуса
CIRCLE (320, 175), I, 1 NEXT I

Задача 146

F=l
Цикл вообще не будет ни разу исполняться, т. к. начальное значение параметра больше конечного, а шаг по умолчанию принят +1.


Задача 147

1 Да ты крут!
CLS
INPUT "Введи свой возраст"; N
FOR J = 1 ТО N
PRINT "ДА ТЫ КРУТ! "
FOR T = 1 ТО 5000: NEXT T
NEXT J
END

Задача 148

' Таблица умножения
1:INPUT "Введите целое число от 2 до 9"; N
IF N<2 OR N>9 THEN ?"От 2 ДО 9!": GOTO 1
? "Таблица умножения на "; N
FOR I = 2 ТО N
? I; "*"; N; "="; I*N NEXT I END

Задача 151

1 Электронный секундомер FOR T = 1 TO 3600
LOCATE 12, 38:? T NEXT T END

Задача 152

' Орнамент с полукольцами
SCREEN 9
' Задание радиусов окружностей
R1 = 20: R2 = 10
FOR X = 50 ТО 600 STEP 4*R1 ' Первое полукольцо CIRCLE (X, 175), Rl, 14, 0, 3.14 CIRCLE (X, 175), R2, 14, 0, 3.14 LINE (X - Rl, 175)-(X - R2, 175), 14 LINE (X + Rl, 175)-(X + R2, 175), 14
PAINT (X, 162), 2, 14
' Второе полукольцо
CIRCLE (X + 2 * Rl, 175), Rl, 14, 3.14, 0
CIRCLE (X + 2 * Rl, 175), R2, 14, 3.14, 0
LINE (X + Rl, 175)-(X + Rl + R2, 175), 14
LINE (X + 2 * Rl + R2, 175)-(X + 3 * Rl, 175), 14
PAINT (X + 2 * Rl, 188), 4, 14
NEXT X
END

Задача 156

  • Правильно, если переменные r, s и н ранее получили значения.
  • Правильно.
  • Правильно.
  • Неправильно. Отсутствует ключевое слово то.
  • Правильно.
  • Неправильно. Цикл выполняться не будет, т. к. начальное значение параметра больше конечного, а шаг неотрицателен.
    Неправильно, т. к. оператор wend не должен содержать параметр.

Задача 157

WAR WAR WAR
SUNDAY PEACE
Так как после окончания цикла параметр имеет значение большее конечного значения параметра, то проверяемое условие r=w ложно, следовательно выполняется следующий оператор печати слова "SUNDAY", а затем "PEACE".

Задача 169

Будут бесконечно печататься нули. Значение s не меняется, поэтому цикл будет длиться бесконечно.

Задача 173

X=INT(RND(1)*ll)+10

Задача 175

X =-INT(RND(l)*101)+65

Задача 179

1 Маленький взрыв RANDOMIZE TIMER SCREEN 9 FOR 1=1 TO 100
X=INT(RND(1)*200)+220
Y=INT(RND(1)*200)+75
C=INT(RND(1)*15)+1
LINE (X, Y)-(320, 175), С NEXT I END

Задача 188

Rem ось абсцисс Rem ось ординат
' Построение графика Y=SQR{X)
SCREEN 9
LINE (0, 175)-(640, 175), 15
LINE (320, 0)-(320, 350), 15
DEF FNY(X)=SQR(X)
FOR X = 320 TO 640
Y = 175-30*FNY*((X-320J/30)
PSET (X, Y), 15 NEXT X END

Пояснение: корень квадратный извлекается только из неотрицательных чисел, следовательно, аргумент функции (х-320)/30) не должен быть меньше нуля, что и достигается его начальным значением 320.

Задача 190

' Поверхность вращения функции у = 1/1+х"
SCREEN 9
LINE (0, 175) - (640, 175), 15 Rem ось абсцисс
LINE (320, 0) - (320, 350), 15 Rem ось ординат
DEF FNY(X) = 1/(1+хл2)
FOR X = 320 ТО 640 STEP 5
Y = 175 - 30*FNY((X - 320)/30)
CIRCLE (X, 175), 175 - Y, 15,,,3 NEXT X END

Задача 196

1 Лестница 1
SCREEN 9
FOR X = 0 TO 64 0 STEP 4 0
LINE(X, X*35/64)-(X + 40, (X + 40)*35/64),15,В NEXT X END

Так как экран представляет собой не квадрат, а прямоугольник, то, чтобы серия прямоугольников располагалась вдоль диагонали, приходится вводить коэффициент соотношения сторон экрана 350/640 или 35/64.

Задача 197

' Пирамида. Вид сверху
SCREEN 9
FOR X = 20 ТО 220 STEP 10
LINE (X, X)-(220-Х, 220-Х),15, В NEXT X END

Задача 200

1 Лоскутный ковер
SCREEN 9
RANDOMIZE TIMER
FOR X = 0 TO 640 STEP 10
FOR Y = О ТО 350 STEP 10
' Выбор случайного цвета для закраски кв. лоскута
С = INT(RNDd) *15) + 1
' Рис.ание закрашенного квадратика
LINE (X, Y)-(X + 10, Y + 10), С, BF
' Обводка квадратика белым контуром
LINE (X, Y)-(X + 10, Y + 10), 15, В NEXT Y NEXT X END

Задача 205

1 Хронометр CLS
1 Цикл для часов FOR HOURS = 0 to 23 ' Цикл для минут FOR MINUTES = 0 to 59 ' Цикл для секунд FOR SECONDS = 0 to 59 LOCATE 12, 35
? HOURS; ":"; MINUTES; ":"; SECONDS SLEEP 1 NEXT SECONDS NEXT MINUTES NEXT HOURS

Задача 208

' Вычисление числа Пи методом Монте-Карло
CLS : RANDOMIZE TIMER
LOCATE 3, 20
PRINT " Вычисление числа Пи методом Монте-Карло"
SCREEN 9
' Рис.ание квадрата со стороной 200
LINE (100, 100)-(300, 300), 14, В
' Рис.ание вписанной в квадрат окружности радиусом
100CIRCLE (200, 200), 100, 0, , , 1.01
' Задание общего количества песчинок N
' и обнуление счетчика попавших в круг KN=5000: K=0
FOR 1=1 ТО N
X=INT(RND(1)*200)+100
Y=INT(RND(1)*200)+100 ' Вычисление расстояния от выпавшей точки до центра
S =SQR((X-200)Л2+(У-200)"2) ' Проверка условия, попала ли точка в круг 1 и изображение ее красным или белым цветами IF S<=100 THEN K=K+1: PSET (X, Y) , 4 ELSE PSET (X, Y) , 15 ' Вывод на экран счетчиков песчинок LOCATE 5, 20: PRINT "Выпала песчинка №"; I
LOCATE 6, 20: PRINT "В круг уже попало"; К; "песчинок" NEXT I
1 Вычисление и вывод на экран значения числа Пи LOCATE 23, 15: PRINT "Число ПИ для"; N; "точек ="; 4*K/N END

Задача 212

1 Сумматор
CLS
' Запрос с клавиатуры количества суммируемых чисел
INPUT "Сколько чисел будем складывать"; N
' Обнуление переменной для накапливания суммы
S = 0
FOR 1=1 ТО 5
? "Введите"; I; "число"; INPUT A S=S+A NEXT I
' Вывод результата на экран ?"Сумма ваших"; N; "чисел равна"; S END

Задача 215

1 Нахождение суммы ряда
CLS
' Запрос значений переменных А и В
INPUT "Введите значения А и В"; А, В
' Обнуление переменной для накапливания суммы
S=0
1 = 0
WHILE (A+I)OB
S=S+1/(1+(A+I)Л2)
1 = 1 + 1 WEND
' Вывод результата на экран ?"Сумма ряда равна"; S END

Задача 216

1 Соприкасающиеся окружности
1 Занесение значений радиусов
DATA 50, 20, 10, 25, 40, 15, 60
SCREEN 9
' Задание начальной координаты X
Х=0
FOR 1=1 ТО 7
READ R
CIRCLE (X+R, 175), R, 14
X=X+2*R NEXT I END

Задача 220

1 Разноцветные окружности. Вариант 1
' Программа с циклом DO...LOOP WHILE
SCREEN 9
' Задание значения первого цвета
ч^— 1
DO
' Определение координаты X центра окружности
Х=10+40*С
CIRCLE (X, X), 30, 15
PAINT (X, X) , С, 15
С=С+1
LOOP WHILE C<7 END
' Разноцветные окружности. Вариант 2
' Программа с циклом DO...LOOP UNTIL
SCREEN 9
' Задание значения первого цвета
С=1
DO
' Определение координаты X центра окружности
Х=10+40*С
CIRCLE (X, X), 30, 15
PAINT (X, X), С, 15
С=С+1 LOOP UNTIL C=7

Назад Начало Вперед