Оператор присваивания
Задача 23
Нет. Нет знака равенства.
Задача 28
Да.
Задача 29
Нет. Переменные связаны двумя знаками равенства.
Задача 30
Нет. Слева от знака равенства стоит арифметическое выражение.
Задача 35
R=-R
Задача 36
Х=6, Y=6
Задача 37
Необходимо ввести вспомогательную переменную д.
А=Х
X=Y
Y=A
Задача 38
W = K/100 + (К MOD 100) /10 + (К MOD 100) MOD 10
Задача 39
S=3*1СГ 5*365*24*60*60
Выводим результаты
Задача 45
PRINT ((3^(1/4)+2)Л(1/3))^.5
Задача 46
PRINT 6^ (1/4)/((5-8~.5)л(1/3))
Задача 48
PRINT (( (3^.5+3)".5+3)^.5+3)^.5
Задача 51
Решение для последнего варианта:
CLS: PRINT "Результат равен"; 2*3*4*5*6
Задача 52
CLS: PRINT "Печать":PRINT: PRINT "через":PRINT:PRINT "строку"
Стандартные функции Бейсика
Задача 59(Х"7+7^Х)"(1/7)
Задача 60
(A+SIN (В^2) Л3) / (COS (25) +ABS (I/TAN (60) ) )
Вывод данных в заданном месте экрана
Задача 67
CLS
LOCATE 10, 35: ?"СУММА КУБОВ"
LOCATE 12, 38: ? 2"3+3Л3+4"3+5"3
Задача 68
CLS
LOCATE 11, 35: ? "*******+*"
LOCATE 12, 35: ? "^СЕРЕДИНА*"
LOCATE 13, 35: ? "*********"
Вводим данные
Задача 70
CLS
INPUT "Введите, пожалуйста, Ваш год рождения"; YEAR1
INPUT "Введите, пожалуйста, год рождения Вашей мамы"; YEAR2
? "Ваша мама родила Вас, когда ей было"; YEAR2 - YEAR1; "лет"
Задача 72
CLS
INPUT "Введите три стороны треугольника"; А, В, С
Р=(А+В+С)/2
S=SQR(P*(P-A)*(Р-В)*(Р-С))
? "Площадь данного треугольника равна"; S
Операторы DATA и READ
Задача 74
' Исходные данные для прямоугольников
' В каждом DATA координаты диагоналей и цвет
DATA 30, 50, 130, 150, 1
DATA 160, 100, 280, 170, 4
DATA 300, 180, 450, 270, 14
1 Считывание данных и построение прямоугольников
SCREEN 9
READ XI, Yl, X2, Y2, С
LINE (Xl, Y1)-(X2, Y2), С, BF
READ XI, Yl, X2, Y2, С
LINE (XI, Y1)-(X2, Y2), C, BF
READ XI, Yl, X2, Y2, С
LINE (XI, Y1)-(X2, Y2), C, BF
END
Линейный алгоритм
Задача 76
1 Полет к ближайшей звезде CLS
' Длина светового года S = 3*10л5*365*24*60*60 9 Количество секунд полета NSEC = S/100
' Количество часов полета NHOUR = NSEC/3600 ' Количество суток полета NDAYS = NHOUR/24 ' Количество лет полета NYEARS = NDAYS/365 ' Вывод результата LOCATE 25, 12
?"С такой скоростью звездолет долетит до звезды за"; NYEARS;
"лет"
END
Задача 80
Информационный объем книги
CLS
1 Количество символов в книге
N = 450*60*80
' Перевод в Мегабайты
М = N/1024/1024
' Количество дискет
DISCS = INT(M/1.44)+1
' Вывод результата
?"Для записи книги понадобится"; DISCS; "дискет"
END
Задача 85
1 Деньги в банке
CLS
М=22000
N1=M+M*.01 ' Первый месяц
N2=N1+N1*.O1 ' Второй месяц
N3=N2+N2*.O1 ' Третий месяц
N4=N3+N3*.O1 ' Четвертый месяц
N5=N4+N4*.O1 ' Пятый месяц
N6=N5+N5*.O1 ' Шестой месяц
N7=N6+N6*.O1 ' Седьмой месяц
N8=N7+N7*.O1 ' Восьмой месяц
N9=N8+N8*.O1 ' Девятый месяц
N10=N9+N9*.01 ' Десятый месяц
Nll=N10+N10*.01 ' Одиннадцатый месяц
N12=N11+N11*.O1 ' Двенадцатый месяц ' Вывод результата
PRINT "Через год у меня на счету будет"; N12; "$" END
Конечно, красивее было бы решение с циклами. Когда их изучите, решите эту задачу снова.
Графика в Бейсике
Задача 90
' Российский флаг
CLS
SCREEN 9
' Белая полоса
LINE (100, 50)-(500, 130), 15, BF
' Синяя полоса
LINE (100, 130)-(500, 210), 1, BF
' Красная полоса
LINE (100, 210)-(500, 290), 4, BF
END
Задача 97
' Летающая тарелка
SCREEN 9
' Основа тарелки
CIRCLE (320, 175), 200, 2, , , .3
1 Рубка
CIRCLE (320, 70), 100, 2, , , .2
LINE (198, 125)-(220, 70), 2
LINE (420, 70)-(440, 125), 2
' Иллюминаторы
CIRCLE (150, 175), 10, 4
CIRCLE (490, 175), 10, 4
CIRCLE (200, 200), 10, 4
CIRCLE (440, 200), 10, 4
CIRCLE (320, 220), 10, 4
1 Ноги
LINE (320, 235)-(320, 280), 2
LINE (197, 223)-(165, 310), 2
LINE (443, 223)-(475, 310), 2
END
Задача 101
1 Гистерезис
SCREEN 9
' Горизонтальные составляющие
LINE (300, 126)-(500, 126), 13 #
LINE (100, 274)-(300, 274), 13
' Левая верхняя четверть дуги
CIRCLE (300, 200), 100, 13, 1.57, 3.14
' Левая нижняя четверть дуги
CIRCLE (100, 200), 100, 13, 4.71, 0
' Правая верхняя четверть дуги
CIRCLE (500, 200), 100, 13, 1.57, 3.14
1 Правая нижняя четверть дуги
CIRCLE (300, 200), 100, 13, 4.71, 0
1 Закраска
PAINT (300, 200), 14, 13
END
Задача 109
' Елочка
SCREEN 9
PRESET (320, 300)
DRAW "С2 L60 Е26 L25 Е26 L25 Е55 F55 L25 F26 L25 F26 L60"
' Закраска
PAINT (320, 250), 2
' Ствол
LINE (300, 300)-(340, 340), 6, BF
END
Разветвляющийся алгоритм
Задача 111
1 Бегущий узор 1 : PRINT "***" PRINT " *******
PRINT " *н PRINT " *"
PRINT " *"
PRINT " *******" PRINT "***" GOTO 1 END
Условный переход
Задача 117
1 Чет-нечет
CLS
INPUT "Введите целое число"; N
IF N MOD 2=0 THEN LOCATE 12, 35: PRINT "Это число четное"
ELSE LOCATE 12, 35: PRINT "Это число нечетное"
END
Задача 120
Переменная X примет следующие значения
х=1 Х=2 Х=0Задача 123
S=6
Задача 135
Старояпонский календарь CLS
' Запрос года INPUT "Введите год"; YEAR ' Вычисление номера цвета и животного С =( (9910-YEAR) MOD 60)\12 К =(YEAR-3) MOD 12 ' Определение по номеру цвета года SELECT CASE С CASE 0
PRINT "ЗЕЛЕНЫЙ"; CASE I
PRINT "КРАСНЫЙ"; CASE 2
PRINT "ЖЕЛТЫЙ"; CASE 3
PRINT "БЕЛЫЙ"; CASE A
PRINT "ЧЕРНЫЙ"; END SELECT
' Определение по номеру животного года SELECT CASE К CASE 0
PRINT " КАБАН" CASE 1
PRINT " КРЫСА" CASE 2
PRINT " БЫК" CASE 3
PRINT " ТИГР" CASE 4
PRINT " КОТ" CASE 5
PRINT " ДРАКОН" CASE 6
PRINT " ЗМЕЯ" CASE 7
PRINT " ЛОШАДЬ"
CASE 8
PRINT " ОВЦА" CASE 9
PRINT " ОБЕЗЬЯНА" CASE 10
PRINT " ПЕТУХ" CASE 11
PRINT " СОБАКА" END SELECT PRINT "УДАЧИ ВАМ!" END
Циклический алгоритм
Задача 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
Символы и строки
Задача 222
1 Шифровка
CLS
' Запрос количества букв в шифруемом слове
INPUT "Сколько букв в слове"; N
1 Объявление массива для зашифрованного слова
DIM D$ (N)
FOR 1=1 TO N
' Побуквенный запрос исходного слова
PRINT "Введите"; I; "букву";
INPUT C$
' Побуквенная шифровка
D$ (I)=CHR$(ASC(C$)+1) NEXT I
' Вывод на экран зашифрованного слова FOR I = 1 ТО N
PRINT D$(I); NEXT I END
Обратите внимание, что при введении буквы z в результате получается не буква, а символ квадратной скобки. Как избежать этого? Подумайте сами.
Задача 229
' Палиндром
CLS
' Запрос слова с клавиатуры
INPUT "Введите ваше слово"; W$
' Определение длины введенного слова
N=LEN(W$): Wl$=""
' Цикл переворачивания исходного слова задом наперед
FOR I=N TO 1 STEP -I
W1$=W1$+MID$(W$, I, 1) NEXT I
' Вывод исходного и получившегося слов PRINT "Исходное слово - "; W$
PRINT "Исходное слово наоборот - "; Wl$
' Вывод на экран результата
IF W$=W1$ THEN PRINT "Да, это палиндром" ELSE PRINT "Нет, это
не палиндром"
END
Обратите внимание, что программа для фразы "А РОЗА УПАЛА НА ЛАПУ АЗОРА" не сработает. Разберитесь, почему и внесите необходимые поправки.
Задача 231
1 10 слов
DATA STUFF, CAR, SKI, QOIKE, SUN
DATA CARD, PRESS, POOH, GULI, COP
CLS
PRINT "Все слова исходного списка"
FOR 1=1 TO 10
READ W$
PRINT W$; " "; NEXT I
PRINT : PRINT RESTORE
PRINT "Слова списка, отличные от слова SUN" FOR 1=1 ТО 10
READ W$
IF W$O"SUN" THEN PRINT W$; " "; NEXT I
PRINT : PRINT RESTORE
' Определение слова, ближайшего к началу алфавита READ W$ ALFA$=W$ FOR 1=1 TO 9
READ W$
IF W$<ALFA$ THEN ALFA$=W$ NEXT I
PRINT "Слово в списке, ближайшее к началу алфавита - "; PRINT RESTORE
' Определение слова, составленного из последних букв ' всех слов списка
ALFA$
FOR 1=1 ТО 10
READ W$
R$=R$+RIGHT$(WS, 1) NEXT I
PRINT "Слово, составленное из последних букв всех слов списка - "; R$ PRINT RESTORE
PRINT "Все трехбуквенные слова из списка" FOR 1=1 ТО 10
READ W$
IF LEN(W$)=3 THEN PRINT W$; " "; ¦ NEXT I END
Задача 235
' Замена буквосочетаний DATA PHOTO, GRAPH, PHILOPHON, COPHE CLS
FOR 1=1 TO 4 READ W$ FOR J=l TO LEN(W$)
P$=MID$(W$, J, 1): H$=MID$(W$, J + 1, 1)
IF P$o"P" THEN PRINT P$; ELSE IF H$o"H" THEN PRINT H$; ELSE
PRINT "F"; : J=J+1
NEXT J
PRINT NEXT I END
Задача 236
'Столбиковая интерпретация массива
CLS : RANDOMIZE TIMER
INPUT "Сколько чисел будет в массиве"; N
DIM S(N)
' Формирование массива
FOR 1=1 ТО N
S(I)=INT(RND(l)*150)+50
NEXT I
' Графическая интерпретация массива
SCREEN 9
Х=100
FOR 1=1 ТО 10
' Столбик, интерпретирующий элемент массива LINE (X, 300)-(Х+10, 300-S(D), 2, BF ' Белая рамка, обрамляющая столбик LINE (X, 300)-{Х+10, 300-S(I)), 15, В Х=Х+10
NEXT I
' Вывод элементов массива на экран
FOR 1=1 ТО N PRINT S(I) ;
NEXT I
END
Задача 239
1 Вычисление среднего квадратичного элементов
' заданного массива .
DATA 31, 19, 52, 65, 6, 8, 13, 16, 97, 33
CLS
DIM S(10)
' Формирование массива и вывод его элементов на экран
FOR 1=1 ТО 10
READ S(I)
? S(I); NEXT I
' Вычисление среднего арифметического элементов массива Т=0 FOR 1=1 ТО N
T=T+S(I) NEXT I TR=T/N
1 Вычисление среднего квадратичного элементов массива Т=0 FOR 1=1 ТО N
T=T+(S(I)-TR)A2 NEXT I SRKV=S/N
? "Среднее арифметическое элементов массива = "; TR ? "Среднее квадратичное элементов массива = "; SRKV END
Задача 240
' Вывод на экран элементов массива по заданному критерию
CLS: RANDOMIZE TIMER
INPUT "Сколько чисел будет в массиве"; N
DIM S(N)
' Формирование массива и вывод его на экран
FOR 1=1 ТО N
S(I)=INT(RND(1)*21)+2 ? S(I); NEXT I
FOR 1=1 TO INT(SQR(N))
? "Значение элемента массива №"; 1Л2; "равно"; 3(1Л2) NEXT I END
Задача 242
' Вывод массива в строки по 6 элементов, начиная с последнего
CLS: RANDOMIZE TIMER
INPUT "Сколько чисел будет в массиве"; N
DIM S(N)
' Формирование массива и вывод его на экран
FOR 1=1 ТО N
S(I)=INT(RND(1)*90)+10
? 3(1); NEXT I ?: ?
9 Вывод массива в строки по 6 элементов, начиная с последнего I = N WHILE IO6
FOR I=N TO N-5 STEP -1 ? S(I);
NEXT I
N=N-6
9
WEND END
Задача 245
'Столбиковая интерпретация массива, его максимума и минимума
CLS : RANDOMIZE TIMER
' Объявление и формирование массива
INPUT "Сколько чисел будет в массиве"; N
DIM S(N)
FOR 1=1 ТО N
S(I)=INT(RND(1)*150)+50 NEXT I
'Поиск максимального элемента массива и его индекса MAX=S(1): NMAX=1 FOR 1=2 ТО N
IF S(I)>MAX THEN MAX=S(I): NMAX=I NEXT I
'Поиск минимального элемента массива и его индекса MIN=S(1): NMIN=1 FOR 1=2 ТО N
IF S{I)<MIN THEN MIN=S(I): NMIN=I NEXT I
' Графическая интерпретация массива» SCREEN 9 X=100 FOR 1=1 TO 10
LINE (X, 300)-(X+10, 300-S(I)), 14, BF
IF I = NMAX THEN LINE (X, 300)-(X+10, 300-S(I)), 4, BF
IF I = NMIN THEN LINE (X, 300)-(X+10, 300-S(D), 2, BF
LINE (X, 300)-(X+10, 300-S(I)), 15, В
X=X+10 NEXT I
' Вывод на экран элементов массива, его максимума и минимума FOR 1=1 ТО N
PRINT S(I) ; NEXT I PRINT
PRINT "Максимальный элемент массива - "; MAX; "Его индекс -"; NMAX
PRINT "Минимальный элемент массива - "; MIN; "Его индекс - "; NMIN
END
Задача 247
62 55 29
1 Формула Герона
DATA 13, 48, 35, 90,
DATA 35, 40, 20, 71,
DATA 27, 68, 41, 54,
CLS
DIM A(5), B(5), C(5), P(5), S(5)
FOR 1=1 TO 5: READ A(I): NEXT I
FOR 1=1 TO 5: READ B(I): NEXT I
FOR 1=1 TO 5: READ С(I): NEXT I
FOR 1=1 TO 5
PP=P(I)/2
S(I)=SQR (PP*(PP-A(I))*(PP-B(I))*(PP-C(I)))
? "Периметр"; I; "треугольника равен"; Р(1); "см"
? "Площадь"; I; "треугольника равна"; S(I); "кв.см"
NEXT I END
Задача 251
' Расстояния между точками
DATA 120, 58, 280, 440, 157, 99, 350, 290, 500,159
DATA 271, 279, 35, 100, 160, 234, 45, 170, 200, 66
DATA 271, 279, 35, 100, 360, 234, 545, 170, 200, 266
DATA 120, 58, 280, 240, 157, 99, 150, 290, 50, 159
SCREEN 9
1 Объявление и формирование массивов
DIM XI(10), Yl(10), X2(10), Y2(10)
FOR 1=1 TO 10: READ XI (I) : NEXT I
FOR 1=1 TO 10: READ Y1(I): NEXT I
FOR 1=1 TO 10: READ X2(I): NEXT I
FOR 1=1 TO 10: READ Y2(I): NEXT I
' Формирование массива расстояний между точками
FOR 1=1 ТО 10
S(I)=SQR((X1(I)-X2(I))Л2+(У1(I)-Y2(I))Л2) NEXT I
' Поиск максимальной и минимальной длины MAX=S(1): NMAX=1
FOR 1=2 TO 10
IF S{I)>MAX THEN MAX=S(I): NMAX=I NEXT I
MIN=S(1): NMIN=1 FOR 1=2 TO 10
IF S(I)<MIN THEN MIN=S(I): NMIN=I NEXT I
' Графическая интерпретация FOR 1=1 TO 10
LINE (XI (I), Yl (I) )- (X2 (I) , Y2(I)), 15
IF I=NMAX THEN LINE (XI (I) , Yl (I) ) - (X2 (I) , Y2(U), 4
IF I=NMIN THEN LINE (X1(I), Yl (I) ) - (X2 (I) , Y2(D), 2 NEXT I END
Задача 256
1 Сборщики компьютеров
1 Понедельник
DATA 37, 14, 48, 24, 80, 60, 56
' Вторник .
DATA 77, 34, 45, 23, 45, 39, 51
' Среда
DATA 58, 65, 49, 49, 56, 45, 38
' Четверг
DATA 61, 57, 55, 89, 33, 52, 60
' Пятница
DATA 80, 67, 77, 70, 55, 76, 81
CLS
' Объявление и формирование массивов для каждого сборщика DIMA(5), B(5), C(5), D(5), E(5), F(5), G(5), S(7), SR(5) FOR 1=1 TO 5
READA(I), B(I), C(I), D(I), E(I), F(I), G(I) NEXT I
' Общее количество компьютеров за неделю для каждого сборщика
FOR J=l TO 7: S(J)=0: NEXT J
J-l: FOR 1=1 TO 5: S (J) =S (J)+A (I) : NEXT I
J=2: FOR 1=1 TO 5: S (J) =S (J)+B (I) : NEXT I
J=3: FOR 1=1 TO 5: S (J) =S (J)+C (I) : NEXT I
J=4: FOR 1=1 TO 5: S(J)=S(J)+D(I): NEXT I
J=5: FOR 1=1 ТО 5: S(J)=S(J)+E(I): NEXT I
J=6: FOR 1=1 TO 5: S(J)=S(J)+F(I): NEXT I
J=7: FOR 1=1 TO 5: S (J) =S (J)+G (I) : NEXT I
' Максимальное количество за неделю одним сборщиком
MAX=S(1): К=1
FOR J=2 TO 7
IF S(J) > MAX THEN MAX=S(J): K=J NEXT J
PRINT "Максимальное количество компьютеров за неделю: PRINT "собрал рабочий №"; К PRINT
' Среднее количество за каждый день недели FOR 1=1 ТО 5
; МАХ
PRINT "В"; I; "день в среднем собрано"; SR(I); "компьютеров" NEXT I PRINT
' Лучший результат за один день, номер сборщика и день недели RESTORE READ DAY MX=DAY: K=l FOR 1=2 TO 35
READ DAY
IF DAY>MX THEN MX=DAY: K=I NEXT I
PRINT "Максимальное количество компьютеров за один день: " ;
MX
N=K MOD 7
Nl=K/7
IF N1<=1 AND Nl>0 THEN 0$="Понедельник"
IF Nl<=2 AND N1>1 THEN 0$="Вторник"
IF Nl<=3 AND Nl>2 THEN D$="Cpefla"
IF Nl<=4 AND Nl>3 THEN D$="4eTBepr"
IF Nl<=5 AND Nl>4 THEN О$="Пятница"
PRINT "собрал рабочий №"; N
PRINT "Это был день недели "; D$
END
Задача 267
' Сортировка выбором
CLS : RANDOMIZE TIMER
INPUT "Сколько чисел будет в массиве"; N
' Объявление, формирование массива и вывод его на экран
DIM S(N)
FOR 1=1 ТО N
S(I)=INT(RND{1)*150)+50
PRINT S(I) ; NEXT I PRINT
1 Сортировка с использованием вложенных циклов FOR 1=1 ТО N-1
MIN=S(N)
K=N
FOR J=N TO I STEP -1
IF S(J)<MIN THEN MIN=S(J): K=J
NEXT J
SWAP S(K), S(I) NEXT I
' Вывод отсортированного массива FOR 1=1 TO N
PRINT S (I); NEXT I END
Задача 269
' Сортировка методом "пузырька"
CLS
DATA Q,W,E,R,T,Y,U,I,O,P
DATA A, S, D, F, G, H, J, K, L, Z
DATA X,C,V,B,N,M
' Объявление, формирование и вывод исходного массива на экран
N=26: DIM ENG$(N)
PRINT "Исходный массив"
FOR 1=1 ТО N
READ ENG$(I)
PRINT ENG$(I); " ";
NEXT I
PRINT
FOR 1=1 TO N-l
FOR J=l TO N-l
IF ENG$(J)>ENG$(J+1) THEN SWAP ENG$(J), ENG$(J+1)
NEXT J NEXT I PRINT
' Вывод отсортированного массива PRINT "Отсортированный массив" FOR 1=1 ТО N
PRINT ENG$(I); " "; NEXT I END