30 часов Бейсика для начинающих 1993 г.

Урок 4 - переменные.


УРОК 4

4. 1 Переменные.

Ны уже видели, как числа хранятся в памяти под различными
иненами и знаем, что при исполнении програниы содержимое одного
имени может несколько раз измениться.
Поэтому эти ячейки, в ко-
торых
хранятся наши числа и называют переменными.

Итак, если ны будем придерживаться наших правил о том, что
имя будет состоять из одной буквы и одной цифры, то в нашем
распоряжении £86 переменных:

А, АО, А1.....А9, ВО, В1. В2, ... Z8, 79.

Кроме того, мы располагаем еше 26-ю строковыми переменными
(стрингами):

А$, в$, .... Z*.

переменные БЕйСИКа используют в вычислениях точно так же,
как в математике
используют переменные в уравнениях.

4. 2 Списки.

Когда Вы идете в универсам, то несете с собой список того,
что вам
нужно не забыть купить. Когда Вы оттуда выводите, то
несете длинный кассовый чек. Это тоже список, но уже того, что
Вы
купили и сколько за это заплатили.

Список покупок превращается в список цен в процессе пере-
кладывания отобранных Вами товаров из
корзины на стол кассира.
Этот процесс перекладки товаров
происходит случайным образон.
Кассир запускает
руку в Вашу корзину, что-то оттуда вытаскива-
ет, смотрит на цену, пробивает ее на аппарате и тянется за сле-
дующей порцией. Но мы могли бы сделать этот процесс и не слу-
чайным. Так. например, затратив некотрые
усилия, мы могли бы
разложить свои
покупки таким образом, чтобы извлекалась всегда
самая дешевая, тогда последней пойдет самая дорогая, а список
пен на кассовом аппарате окажется отсортированным по порядку
возрастания стоимости товаров.

Точно так же можно было бы расположить товары по весу -
чтобы всегда из корзины извлекался самый легкий
продукт и тогда
ны
получили бы совсем другой список на ленте кассового аппара-
та. Таким образом, оказывается, что значение некоторого пара-
метра (цена, вес и т. п.) может влиять на его местоположение в
списке, если список упорядочен по этону параметру. Это очень
наглый вывод и ны постараемся о нем не забыть до конца этого

4. з Список переменных.

Большую часть данных, с которыми мы имели дело до сих пор,
можно был бы разложить по разным наборам: Набор опенок, полу-
ченных на экзамене, набор имен в телефонном справочнике и свя-
занный с ним набор телефонов. Большинство данных, с которыми мы
сталкиваемся в реальной жизни, можно как-то классифицировать,
аанные всегда собираются для какой-то дели и. как правило, име-
нно эта цель и является основой для классификации.

Если Вы собираете данные по сортам клубники, чтобы варить
варенье, Вы в основу классификации положите, какой сорт более
сладкий, а какой менее. Если же Вы хотите первым выйти на рынок
со своей клубникой, то в основу классификации Вы положите сроки
созревания ягод, а содержание сахара Вас уже не волнует.

Когда Вы присваиваете имена своим переменным в программе,
то Вам, конечно, было бы очень удобно, чтобы разные переменные
имели похожие имена, если они входят в один набор. Более того,
лучше, если это имя как-то указывает на этот набор, а еше луч-
ше, если в имени имеется цифра, которая указывает и на место
этой переменной в наборе.

Давайте рассмотрим список оценок, полученных Вами по
географии в этом году.

Элемент списка Обозначение

первый элемент списка - 4 G(l) = 4

вторая ваша оценка - 3 G<2> = з

урока.

ваша третья оценка - 5 GI3) = 5

Имя списка

G С1). С(2). ..
с*11>. с $ (2), .

G (К)
с$(К>

Номер в круглых скобках, обозначенный нами (К) называется
указателем списка или индексом списка.

и т. д.

G(1), G(2). G(3) - это различные ячейки, в которых хранят
ся данные в компьютере, вы можете взять любую букву от А до '/ и
приставить к ней в круглых скобках целое положительное число.
Например:

Ячейки хранения данных

Примечание "Инфоркома". Обычно этот индекс обозначают
буквой 1(Index). Но
поскольку наши читатели просят не употреб-
лять букв 1,1 и 1 в наших книгах, т.к. они часто путаются с
цифрой "1". то ны этого и не делаен.

Стринговые списки.

как Вы уже видели в только что приведнном примере, списки
могут состоять не только из чисел, но и из стрингов. Очевидно,
что список М(К) - числовой, но если Вам попадется М*(Ю. то Вы
сразу поймете, что это символьный
(стринговый) список.

Элемент списка

Индекс

Имя переменной

Джон

1

Н* (1)

Алан

г

N$(2)

Смит

3

N4(3)

Списки и массивы.

Таблицу данных, такую как показана выше, часто называют
массивом данных.

какой длины может быть список?

ответ прост - такой* какой хотите, но сначала нужно преду-
предить компьютер о том, что Вы задумали - вдруг Ван не хватит
памяти?'. Компьютер.предупреждают
о своих намерениях с помошью
оператора DIH (по английски DIMENSION означает РАЗМЕР), этот
оператор может стоять где
угодно в программе, но важно, чтобы
он стоял до того, как Вы попытаетесь воспользоваться своин мас-
сивом в первый раз.

DIM для числовых массивов.

Если Вы хотите использовать насств М для того, чтобы хра-
нить в нен 8 чисел (М(1). М(2). ... М<8>>, то объявите об этон
компьютеру:

DIH М(8)
DIM для
строковых массивов.

Если Вы хотите зарезервировать место в памяти для строко-
вого массива, то нужно сообщить компьютеру две веши:

6 - 6613

а) количество стрингов, которое Вы предполагате хранить в
массиве;

б) максимальную длину одного стринга.

Оператор DIM применяется » следующем виде:
DIM Н»(10, 15)

максимальная длина
количество
стрингов

Этот оператор создает 10 ячеек для хранения Ваших данных:
H$(i). N*(2). ... Н*(10)

В каждой из этих ячеек можно будет разместить до 15 симво-

лов.

ПРИНЕР-4. 1 нам дан список: 3. 42, -8, 9, -11.

Наша задача перенести самый маленький элемент
этого списка в первую позицию. Это делается путем сравнения
каждого элемента с тем, что находится в позиции 1 и переносом
туда, если текущий элемент неныпе, чем тот, который тан нахо-
дится.

ВСК-4. 1.

Подготовьте аналогичную процедуру для списка
б, 8,4. .7. 3, 9. 1.

4. 4 Ввод и вывод списков.

Для того, чтобы обрабатывать данные, входящие в список,
нужно сначала научиться их вводить.

ПРИНЕР-4, 2 Нан надо написать БЕИСИК-программу для ввода трех

-чисел в список и для выдачи элементов этого списка

в обратном порядке.

Назовем будущий список а(К),
ю rem *япрйиер-г«»

го йен Реверсирование короткого списка»»
зо шм а(3)
40 ikput а(1)
50
ikput а(2)
60
ihput а(3)
то priht

80 PRIHT аСЗ). a(2)i a(l)
90 STOP

в принятие, мы выполнили поставленную задачу, но никакого
прогресса
в технике программирования не достигли. Мы воспользо-
вались теми же приемами, которые усвоили в предыдущих уроках.
Ны сделали практически то же самое, как если бы назвали вводи-
мые данные
p, q. г и распечатали бы их г, ч, р. Чтобы исполнить эту
задачу более красиво, надо организовать счетчик и пересчшивать
данные
при вводе, а потом запустить счетчик в обратну» сторону
при
выводе.

Решение.

Решение.

Написать программу, которая введет 5 чисел, изо-
бразит их на экране в виде таблицы, а затем распе-
чатет все элененты списка в обратном порядке.

пр55нер-4. 3

Итак, перед нами три основных задачи. Изобразим
алгоритм в виде блок-схемы.

Ны используем переменную С в качестве счетчика, чтобы пе-
ресчитать элемента списка при вводе, она
же отлег служить у вас
индексом списка.

Ю йен ««ввод списка»«
НО DIH
р(5)
30 LET С= 1

35 REH ««начало шпсда»»
40 IHPUT "Введите очередное число"; р(с)
50 PRIHT Р(С)
60 LET С = С+1

70 IF С<=5 THEH GO ТО 35

ЭТАП 2. Изображение таблицы.

100 rfeh ««Печать таблицы»»
110 PRIHT
120 PRIHT

130 PRIHT "Индекс"."Значение"
140 LET С=1

150 REH ««Начало цикла печати»»
160 PRIHT с,} 1С)
170 LET С=С+1

180 IF с<=5 THEH GO ТО 150

ЭТАП 3. А теперь запусти счетчик на счет от 5 до 1, чтобы
распечатать список в обратном порядке.

200 REH ««Инвертирование списка»«
210 PRIHT
220 PRIHT
230 LET С = 5

240 REH ««Печать в обратном порядке»«
250 PRIHT
1(c)
260 LET С=С-1

270 IF С < = 1 THEH GO ТО 240

Итак, чтобы решить задачу, поставленную в этом примере, мы
выполнили большой объем программирования, но наша программа мо-
жет работать со списком ТОЛЬКО из пяти чисел. Это очень неболь-
шая награда за такие усилия. Если же теперь мы заменим операто-
ры в строках 20... 70. где идет счет пяти элементов, то наша
программа сножет работать со списком любой длины, если она нам
известна заранее.

Правда, объявление длины массива DIM К зависит от того, со

сколькими элементами ны будем работать. Поскольку счетчик "с" у

нас идет до п+1 (сн. строку 70), то DIM К тоже должен иметь

разнерность п+1. Необходимо также заненить число 5 на п в
строках 1в0 и 230.

Программа 4. i.
10 REH ««Ввод списка из п элементов»»
15
priht "Программа обработки списка"
20
ihput "сколько элементов в списке? ":п
22 priht п; " эленентов."
24
dih f(n+l>
30
let C=1

35 REH ««Начало цикла ввода»»
40 IHPUT "Введите очередное число ";f(c)
50 PRIHT f(С)
60 LET C=C+1

70 IF С<=П THEH GO ТО 35

80 REH »»«»»»»»»»««««««««•«»«»««»»•

90 REH »**»«»*»»«*»»»*«•«*«»»**»»»*

100 REH ««Изображение таблицы»»

110 PRIHT

120 PRIHT

130 PRIHT "Номер", "Значение"
140 LET <1=1

150 reh »»цнкл печати списка»»
160
priht d, f<d)
170
let d=d+l

180 IF d<=n THEH GO TO 150

190 REH «и»»»»»»»»»»»»»»»»»»»»»»»»»»

200 REH ««Вывод списка в обратной порядке»»

210 PRIHT

220 PRIHT

230 LET e=n

240 REH «идикл обращения списка»»
250 PRIHT f(e)
260 LET e=e-l

270 IF e>=l THEH GO TO 240
280 STOP

УПРАЖНЕНИЕМ. 1

И все же полученная программа удобна для работы только с
короткими списками. Для работы с длинными спискам надо еше по-
работать над тем, как данные выводятся на экран.

Возможность ввода большого количества данных в индивиду-
альные ячейки памяти, исполненная всего лишь несколькими опера-
торами, - это уже' несомненно большой шаг в развитии нашего уме-
ния программировать. Но
вряд ли можно остановиться и не пытать-
ся сделать дело еше лучше, спрашивается: а зачем нан пересчиты-
вать вводимые данные, особенно на длинных списках, если и это
можно
поручить компьютеру? Это и будет темой следующего упраж-
нения.

Напишите БЕИСИК-программу для ввода списка чи-
сел. Длина списка неизвестна. Для окончания
ввода используйте "заглушку" - 9999. Назовите список Р(с) и по-
лагайте. что его длина не более 30 элементов, так что объявить
массив кокете DIH Р(31). Проверьте свое решение по ответу в
конде урока.

Теперь так измените программу, чтобы она могла выдавать на
экран элемента списка с яечетши
прядковым номером.

4. 5 цикл FOR. . . НЕХТ

Как мы уже говорили, компьютер хорошо использовать для
часто повторяющихся вычислений. Чтобы управлять
повторяющимися
вычислениями, нам нукен счетчик, который считает, сколько раз
мы уже провели наши операции. Во
втором уроке ны ввели понятие
счетчика и организовали его так:

Такое повторение операций оказывается настолько вааным и
встречается так часто, что в БЕИСИКе, как и в других языках
программирования, для этого предусмотрели свой оператор, это
оператор цикла FOR ...НЕХТ. Он выглядит такин образом:

начало конец прирашение на каядом шаге

Обратите внимание на то. что HEXT f возвращает управление
в
строку for f. автоматически и здесь не надо указывать номер
строки, как это было в
go ТО ....

Нассивы данных и пиклы FOR ... HEXT кажется были рождены
друг для друга. Вместе они образуют самый мощный инструмент
языка БЕИСИК. Давайте посмотрим на примерах, как они работают,
а потом попробуем применить эту
новую технику для усовершенст-
вования ранее разработанных программ.

(а) 10 FOR К=4 ТО 10 STEP 2 RUH

20 PRIHT К 4

30 HEXT К 6

40 STOP 8

10

RUH

-3
0
3
б
9

RUH
11

9
7
5

RUH
4

2
О
-2
-4

(Ь) 10 FOR J--S ТО 10 STEP
20 PRIHT J
30 HEXT J
40 STOP

(C) 10 FOR f= 11 TO 4 STEP
20 PRIHT f
30 HEXT f
40 STOP

(d) 10 FOR f=4 TO -5 STEP -2

20 PRIHT f

30 НЕХТ f

40 stop

BCK-4. 2.

Запишите то. что выдадут на печать нижеприведенные
фрагменты:

(а) ю for e=i то 9 step г
20 priht е

30 нехт е
40 stop

(Ы 10 FOR f=-30 TO -18 STEP
20 PRIHT f
30 HEXT f
40 STOP

(c> 10 for 8-8 to -4 step -5

20 print a

30 hext 8

40 stop

-11 STEP -4

Id) 10 FOR h--2 TO
20 PRIHT h
30 HEXT h
40 STOP

В приведенных выше примерах мы использовали самые разнооб-

разные значения параметра step. Совершенно очевидно, что наибо-
лее часто встречается значение
step, равное 1. в БЕИСИКе сдела-
но так. что если шаг цикла равен 1. то его можно вообше не
указывать.

Использование FOR... НЕХТ в процедурах ввода-вывода.

Эти процедуры получаются элегантнее, если мы используем в
них оператор цикла. Для примера возьмем программу 4. 1 и перепи-
шем ее. используя циклы FOR... НЕХТ.

10 REH ««Ввод списка из пяти имен*»
15 PRIHT "Программа обработки списка"
го DIH П»(5. 10)
30 REH ««Начало цикла ввода*«
40 FOR С=1 ТО 5

50 IHPUT "Введите очередное имя";п*(с)
60 PRIHT п»(с)
то НЕХТ с

80 REM ............................

90 REH ********************........

100 REH »*Изображение таблицы»»
110 PRIHT
120 PRIHT

130 priht "Номер". "Имя"
140
priht

150 REH ««Начало цикла печати»»
160 FOR d=l ТО 5
170 PRIHT d. П»(d)
180 НЕХТ d

190 REM ««««««««*««««««•««»«««•«««««
195 REM »■>»««»«»»«»»>»»»■««««»»»»»»

200 rem ««Печать списка в обратном порядке"»
210
priht
220 priht

230 REM »»Цикл печати в обратном порядке»»

240 FOR е=5 ТО 1 STEP 1

250 PRIHT е.n*(е)

260 НЕХТ е

280 STOP

УПРАЖНЕНИЕ-4. 2

В упражнении 2. 2 Вы написали программу для
расчета сложного банковского процента за нес-
хранения вклада. Перепишите строки 40-90 этой

колько лет
програнмы. используя цикл FOR-НЕХТ.

УПРАЖНЕНИЕ-4. 3 Напишите програнну для составления таблицы

-:-квадратов и кубов целых нечетных чисел от 1 до

21 включительно.

Оформление экрана.

ны всегда старались сделать представление выводимой на
экран информации удобным и легкочитаемым. Для этой цели
широко
используются
циклы for. .. HEXT.

Во-первых, их используют для пропуска строк, например:
20 reh *«программа демонстрации пропуска строк»»
30 priht "Привет!"
35 reh ««Начало цикла»»
40 for h=l то 10
50 priht
60 hext h

то priht "Привет! на 11 строк ниже. •
80 stop

Здесь программа пропускает 10 пустых строк.

Ножно использовать цикл и для того, чтобы заполнить всю
строку каким-то символом, например. "«".

Программа 4. г
20 reh
»«заполнение строки»»
зо reh«
«Начало цикла»« .
40 for rn=l to 32
50 priht "»".-
бо hext m
70 priht
80 stop

Почему строка 50 в предыдущей программе заканчивает-
ся на "; ". Что будет, если мы запишем
эту строку
так: 50 PRIHT "»"

4. 6 вложенные циклы.

вск-4. 3.

Програмна 4.2 нарисовала нам строку звездочек (32 штуки).
Мы можем так переделать эту программу, чтобы она рисовала не
32. а "п'звездочек и, таким образом, мы сможем изменять
длину
полученной на экране линии.

20 reh ««Изображение линий»»
25 let п=1

зо rem ««начало цикла»«
40 for ш=1 то п
50 print "»";
60 next
ш
70 print
80 stop

теперь, чтобы изменить длину полученной линии, мы можем в

строке 25 изменять значение п.

25 LET п=2
25 LET и=3
25 LET 11=4

25 LET п= 32

Итак, изменяя п. мы изменяем работу цикла for... НЕХТ.
Встает резонный
вопрос, а почему бы нам для изменения п в стро-
ке. 25 не использовать еше один цикл
for. .. НЕХТ? это и сделано в
следующей программе. В ней два цикла. Один цикл по "т" - вну-
тренний, а
другой цикл по "п" - внешний. Он является управляю-
щим для внутреннего цикла.

Ю rem "Вложенные циклы»»

20 REM ««Начало внешнего цикла (ряды)»»

30 FOR П=1 ТО 16

40 REM ««Начало внутреннего цикла (длина ряда)««
50 FOR m= 1 то n
60 PRIHT "«":
70 НЕХТ Ш

80 REM ««Конец внутреннего цикла»«
90 PRIHT
100 НЕХТ П

110 REM «»Конеп внешнего цикла»»
120 STOP
Результат ее работы такой:
RUN

к « к
к « « «

я « « « й
««««««

и Т. Д.

В каждом очередном ряду мы увеличивали длину строки звез-
дочек в арифметической прогрессии, но это можно делать и в гео-
метрической прогрессии:

10 REM ««Вложенные циклы»«
20 LET Р=1

30 REM ««Начало внешнего цикла»»
40 FOR П-1 то 5
50
LET Р=2«Р

60 REM ««Начало внутреннего циклах
70 FOR ш-1 то p
80
PRIHT "»";
90 НЕХТ П)

100 REM ««Конец внутреннего цикла««

110 PRIHT

iao hsxt n

130 SEH ««Конец внешнего-цикла*«
140 STOP
Результат прогона:
RUH

«« р = 2

а * а к р = 4

«««*<■««« Р - 8

as******»*!!*!!*** Р = 16

«ак*Ё«икк«я«ии&&кк««««««**и«11кав р = 32

Используя вложенные циклы, напишите программу
для составления таблицы умножения на 7, на в и

упра2нение-4. 4

на 9.

упражнение-4. 5

Используя вложенные циклы, напишите программу,,
которая напечатает
прямоугольник из символов

Размеры этого прямоугольника задается пользователей.

4. 7 Обмен данными.

В уроке 2 мы научились выбиругь из двух чисел меньшее, а в
уроке з - меньшее из трех чисел. Сейчас мы начнем подготовку к
тому, чтобы научиться выбирать меньший элемент из списка любой
длины, а пока решим один связанный с этим вопрос - обмен данны-
ми меаду переменными.

в принкре-4. 1 и в вопросе вск-4. 1 ны обменивали содершшое
первой позиции списка с
другой позицией вручную и совсем не за-
думывались, что с точки зрения прграмнировашш здесь могут быть
проблемы, а они есть. Дело в том, что нельзя
просто скопировать
результат из В в А. а из'А в В, поскольку при первом копирова-
нии содержимое А будет затерто содержимым В. Чтобы Уйти от этой
проблемы, вводят в качестве временного буфера еше
одну перемен-
ную. и не
копируют В в А. а сначала запоминают В в этой пере-
менной.

Предположим, что Вы занимаетесь сортировкой некоторого
длинного списка имен и хотите поменять содержиное первой пози-
ции ns()) с содержимым какой-то иной позиции п$(К). тогда Вы

вводите буферный стринг t» и вот что происходит:

п$(1)

11» (К)

t*

Исходно

Фред

Джим

Этап-1

Фред

Джим

Джим

Этап-2

Фред

Фред

Джим

Конец

Джим

Фред

Джим

Написать программу для ввода списка имен неизвест-
ной длины в массив и распечатать этот массив вмес-
те с индексом в том порядке, в каком он вводился. С помощью об-
мена данными между переменными поместить первым элемент, имею-
щий по алфавиту приоритетное значение и полученный список вы-
дать на печать.

ПРИНЕР-4. 4

Решение.

Старт

Ввод списка имен

Печать списка
на экране

Обмен 1-го эле-
мента с первым

по А-ПОРЯДКУ

Печать нового
списка

STOP

Рис. 26

Программа 4. 3

10 REH »«Выделение первого элемента по алфавиту»«
20 PRIHT "Эта программа распечатае первый по алфавиту

элемент списка"
30 DIH П*(20, 6)
40 PRIHT

50 priht "Введите список имен"
60
priht "Список закончите zzzz"
70 priht

80 REH «••«««««««*«««*«•««««««««.»«*«»»«««
90 REH ««Ввод списка»«
100 LET f=l

110 ihput "Введите имя";n$ < f)
120
priht n*(f)

130 IF Il*(f) = "ZZZZ " THEH GO TO 190

140 LET f=f+l

150 REH ««Возврат назад»»

160 GO TO 110

170 REH »»«»»«»«»«•»•«»»»«*«»•»»«»«•«»»■*»»

180 REH »»"zzzz в списке держать не надо, поэтому"
190 LET n--f-l

200 REH »»»»»»»»««»»»«»»»««««»««»»»»».«»»«»

210 REM ««Печать списка»»
220 PRIHT

230 PRINT "Номер","ИМЯ"

240 REH »«начало цикла печати»«

250 FOR J=1 TO П

260 PRINT J.n»(J)

270 HEXT J

280 REH ««««i»»»»»»»»»»»»»»»»»»»»»»»»»»»»»

290 REM »«Программа обмена»»
300 FOR К-2 TO П

310 IF n»(l)<n$(K) THEN GO TO 350
320 LET t$^n*(M
330 LET n$(K)=n$(l)
340 LET n$(l)=t*

350 rem »«Данные в алфавитном порядке»»
360 next к

370 rem »х»ххххх*хйххххххххх*х*хх*х*х*х**х

380 rem х«печать нового списка»»
390 print

400 print "Новый список"
410 print

420 PRINT "Номер", "ИМЯ-
430 FOR f-1 ТО П
440 PRINT f. n$(f>
450 NEXT f

460 REM ..................................

«0 stop

Примечание: обратите внимание на то, что в строке 130
после "zzzz " стоят два пробела, это важно.

Задание на самостоятельную проработку.

1. Когэт быть Вы сообразили, что после того, как мы в спи-
ске постазнля первым по порядку элемент, являющийся первым по
алфавиту, то теперь можем взять оставшуюся часть списка и сде-
лать
в ней тоже самое и так продолжать, пока список не будет
исчерпан.
В итоге мы получим список, полностью отсортированный
по
алфавиту. Измените программу 4. 3 так, чтобы она рассортиро-
вала
весь список по алфавиту.

г. введите Файл имен и телефонных пионеров- в два списка -
п»(К) и t*!K) соответственно. Для поиска в файле пользуйтесь
индексом К. Если заданное имя найдено, выдайте на печать
соотвествуюший нонер телефона.

обзор урока

Проверьте свои знания по следуюшену списку:

- обозначения переменных, входящих в массив;

- применение счетчиков для работы со спискани;

- цикл FOR... НЕХТ ;

- влояенные циклы;

- обмен содержимым двух перененных.

ответы на вопросы для саноконтроля

Четыре этапа работы процедуры показаны здесь на при-
мере пробного запуска програнны:

3

авск

ЭТАП 1. Ввод исходных данных.
RUH

Введите список'
слмсой закончите "zzzz "
Введите число 6
Введите число 8
Введите
число 4
Введите
число ?
Введите число 3
Введите число 9
Введите число 1
Введите число zzzz

этап 2. Печать списка.

Индекс Элемент списка

1 б
2 8
3 4

ЭТАП 4. Список после перестановки.

Индекс Элемент списка

1 1

г 8

3 6

4 7

5 4

6 9

7 3

7
3
9
1

ЭТАП 3. Перестановка.

5

6
7

(а) 1.3,5,7,9

(B) -30. -27, -24, -21. -18

(C) 8. 3. -2

<d) -2. -б. -10

Символы "«* будут печататься в столбец. После каж-
дого символа позиция печати будет переходить на
но-
вую строку
. Таким образом. Вы получите столбец "«" во весь эк-
ран. когда экран будет заполнен,
внизу появится запрос
"scrol 1?".

ВСК-4. 3.,

ВУПРАЖНЕНИЕ-4. i I

10 ЕЕН ««Ввод списка чисел. Длина списка неизвестна"«

15 DIM Р(31)

20 PRIHT "Программа ввода списка чисел"
30 PRINT "введите количество элементов списка"
40 PRINT "Введите элементы
по-одному. "
50 PRINT "список закончите заглушкой -9999"

60 PRINT
70 L ET
с ^1

80 REM "«Начало ввода««

90 INPUT "Введите следующее число";р(с)

100 PRINT Р(С)

110 IF Р(С> 9999 THEN СО ТО 160

IBCK-4. 2.

120 LET C=C + 1
130 GO TO 90

140 REH •«««»«««««»•«••»»»»««»»««»•«»»««•
160 REH ««Ввод закончен»»
170 LET
n-c-l

180 REH ««»••»«*««»«»»»«•»»«»»«•»»««*•»««

190 REH ««Вывод элементов с нечетным номером»»

200 REH ««3=1+2. . 5=3+2. . 7=5+2. .И Т. Д. ««

210 LET С=1

220 PRIHT

230 PRIHT

240 PRIHT "Номер", "Значение"
250 REH ««ВЫВОД данных**
260 PRIHT С,Р(С)
270
LET С=С+2

280 IF С<=П THEH GO ТО 250

290 REM »««»»............................

300 STOP

УПРАЖНЕНИЕМ. 2п 10 REH »»Расчет сложного процента»»
' ■ ' 20 PRIHT "Банковский процент"

30 PRIHT

40 ihput "Сколько лет? "in
50
priht n;" лет"
60
priht

70 IHPUT "Размер вклада? »";d
80 PRIHT "»";d
90 PRIHT

100 IHPUT "Годовой процент <z>? "; 1
110 PRIHT V. "У-"
120 PRIHT

130 REH ««ЦИКЛ FOR. . . НЕХТ»»

140 FOR С=1 TO П

150 LET T=(l«d)/100

160 PRIHT "Год "; с, "Доход *";y

170 LET d=d+y

180 НЕХТ С

190 REH ........................«««

200 STOP

10 reh ««Квадраты и кубы«»
20 priht "Расчет квадратов и кубов"
30 priht

40 priht "Число----квадрат----куб"

50 rem »«начало цикла»«
60 for f=l ТО 21 step 2
70
let S=f«f
80
let C=S«f

F

УПРАЖНЕНИЕ-4. 31

90 PRIHT f:

too priht " si

no priht ■ с

120 hext 1
130 stop

УПРЛЖНЕНИЕ-4. 41 20 PRIHT "Таблицы умножения"
' I 30 REH ««внешний цикл»»

40 FOR t -1 TO 9
50 REH ««Внутренний
ЦИКЛ»»
60 FOR K=1 TO 12
70 LET
P=K«t

80 PRIHT Ki " X "it!" = "iP
90 HEXT К

100 REH ««Конец внутреннего цикла««
110 PRIHT
120 HEXT
t

130 REH »«Конец внешнего цикла»»
140 STOP

УПРАЖНЕНИЕ-4. 51 20 priht "ПРЯИОУТОЛЬНИК"

' ' зо ihput "Длина?";к

40 priht Ki
50 ihput "Ширина?":»
60 priht " на "iw
70 reh * «Внешний ЦИКЛ»»
80 for f=l to к
90 reh
««Внутренний ЦИКЛ»»
100 for j=1 to w
110 priht
"»"i
120 hext j

130 reh ««Конец внутреннего цикла»«
140 priht
150 hext к

160 reh »»Конец внешнего цикла»»
170 stop

7 - 6GI3




  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Открытое письмо - у меня такое мнение, что электронный журнал не должен уподобляться книге. Читать с экрана утомительно, портится зрение.
Обзор - В разделе " Обзор " как обычно я раскажу о новых программах, поступившим в Чайковский в последние дни.
Обратная связь - ZX-Net - это круто.
Железо - Запись-воспроизведение цифрового звука - цифро-аналоговый преобразователь (Covox). 2 классических схемы ковокса.
Диплом - Диплом Alone Coder-а. Разработка программного обеспечения для специализированного логического анализатора. Комментарии к тексту диплома.

В этот день...   21 ноября