Начало программирования. Язык программирования Бейсик
Говоря о программировании, мы часто понимаем под этим составление программ для вычислительных машин. Умение составлять простейшие программы для решения задач на ЭВМ считается одной из частей компьютерной грамотности.
Для составления программ применяются специально созданные языки - языки программирования. Одним из наиболее распространенных языков программирования является язык Бейсик.
Язык Бейсик был создан в 60-х годах как язык для начального обучения программированию в диалоге с ЭВМ. Этот язык создавался американскими программистами, и по этому в основу его была положена лексика английского языка.
На персональных ЭВМ язык Бейсик позволяет составлять самые различные программы: для проведения математических расчетов и построения графиков, организации игр и различных экспериментов, диалоговых справочников, обучающие, консультирующие и многие другие программы.
Работа на ЭВМ с языком Бейсик проходит в режиме диалога. В ходе диалога человек вводит свою программу, запускает ее на выполнение, исправляет операторы и вновь запускает программу на выполнение. ЭВМ послушно выполняет все действия в соответствии с введенной программой.
Прежде всего, нужно понять, как ЭВМ выполняет команды. Команды - это отдельные фразы языка Бейсик, которые вводятся прямо с клавиатуры и сразу же выполняются ЭВМ. Выполнение команд следует немедленно после нажатия клавиши ¿. <Enter>
Для записи дробных чисел в Бейсике применяется не запятая, отделяющая дробную часть числа от целой части, а точка. Запись арифметических формул и алгебраических выражений не может быть «многоэтажной». Все формулы в Бейсике должны записываться в строчку. Примеры записи:
(2+5) / 6 | |
(A*X+B) / (15*A) | (1/3)*4 (но не 1/3*4) |
При организации расчетов на ЭВМ результаты вычислений могут храниться в ее памяти. В языке Бейсик для этого служат переменные. Понятие переменных в программировании и в математике различны. Если в математике переменные - это некоторые величины, то в программировании переменная - это область памяти, куда можно записывать различные значения.
Различие между переменными в математике и в программировании подчеркивается различием способов их именования. В математике имя переменной - это буква латинского или греческого алфавита, к которой можно приписать верхний или нижний индекс. В языках программирования имена переменных составляются из одной или нескольких букв без всяких нижних или верхних индексов.
В языке Бейсик для имен переменных можно выбирать любые латинские буквы: A, B, C, ..., X, Y, Z.. Кроме того, в Бейсике в качестве имен переменных можно использовать сочетание из двух букв - AX, VY, PR, а также сочетания из буквы и цифры - A0, X1, Y2 и т.п.
Все переменные в языке Бейсик обычно считаются вещественными.
Для проведения математических расчетов в языке Бейсик, как и в калькуляторах, имеются элементарные математические функции. Рассмотрите форму записи и примеры использования этих функций.
Команда: | Результат: | Функция: |
? ABS (-3) ¿ | - модуль числа | |
? SIN (0) ¿ | - синус угла (в радианах) | |
? COS (0) ¿ | 0.99999 | - Косинус угла (в радианах) |
? TAN (0) ¿ | - тангенс угла (в радианах) | |
? ATN (1)*4 ¿ | 3.14159 | - арктангенс |
? EXP (1) ¿ | 2.71828 | - число е |
? LOG (2) ¿ | 0.693147 | - натуральный логарифм |
? SQR (2) ¿ | 1.414 | - квадратный корень |
Вопросы и упражнения и задания для самопроверки
ВОПРОСЫ:
Каковы основы возможности языка Бейсик?
Как использовать ЭВМ в качестве калькулятора?
Как записываются числа на языке Бейсик?
Какие математические функции есть в языке Бейсик?
УПРАЖНЕНИЯ:
1. Запишите по правилам языка Бейсик следующие числа:
а) 125; б)-0,1; в) 3*105; г) -6,2*10-3
2. Запишите на языке Бейсик следующие выражения:
а) Y = ; б) Y = sin2 x – cos2 2x + tg3 (2x-4) – ln2 ;
в) Y = .
ЗАДАНИЯ:
Выполните на ЭВМ все приведенные примеры команд, и самостоятельно подберите дополнительные примеры.
Определите с помощью ЕХР максимальное вещественное число. Начните эксперимент с команды ? ЕХР (200) и действуйте далее по методу деления пополам.
2. Правила работы с программами
После первого опыта работы с ЭВМ в командном режиме, когда машина немедленно выполняла вводимые команды, легко понять, что такое программа.
П р о г р а м м а для ЭВМ - это последовательности команд, которые должна выполнять машина. Иными словами, программа для ЭВМ - это алгоритм, записанный на языке, понятной данной ЭВМ. Располагая алгоритмом, написанным на русском алгоритмическом языке, можно перевести этот алгоритм на любой язык программирования, имеющийся на ЭВМ.
Запись программ определяется правилами используемого языка программирования, а работа с программами на ЭВМ - правилами имеющейся на машине системы программирования. Язык Бейсик привлекает тем, что системы программирования на этом языке имеются практически на всех современных ЭВМ.
Программа на языке Бейсик - это последовательность команд, которые можно было бы одну за другой давать ЭВМ в режиме непосредственного ввода. Если же эти команды пронумеровать и ввести в ЭВМ, то машина автоматически будет работать по этой программе.
Начнем рассмотрение программ на Бейсике со следующего примера. Пусть нам требуется определить время движения по заданным скорости и длине пути. Для решения этой задачи на ЭВМ достаточно четырех команд.
Например:
S = 720 ¿ | - указание длины пути |
V = 60 ¿ | - указание скорости движения |
T = S/V ¿ | - расчет времени |
? T ¿ | - вывод времени |
- результат вычислений |
Операторы в языке Бейсик - это команды, к которым приписаны некоторые номера и которые после ввода будут храниться в памяти ЭВМ.
Для записи операторов в Бейсике используются английские слова PRINT, INPUT, END и т. д. Таким образом, программа является переводом алгоритма на язык программирования.
Рассмотрим теперь операторы этой программы по отдельности. Первый оператор - оператор PRINT. Это оператор вывода сообщений на экран ЭВМ. Он в точности выполняет предписываемую алгоритмом операцию - вывод.
Оператор INPUT - это оператор ввода исходных данных.
Оператор - END - это оператор конца выполнения программы.
Программы на языке Бейсик - это пронумерованные последовательности строк, содержащие операторы и комментарии.
Комментарии (оператор REM) в программах на языке Бейсик начинаются со знак апострофа: ¢. Комментарии могут стоять в конце строки либо занимать всю строчку целиком. С помощью комментариев можно включать программа слова и фразы, поясняющие смысл выполняемых действий. Для программы очень важно следующее свойство: чем понятнее программа, тем она лучше.
Для нумерации строк в программах на Бейсике обычно используются целые числа 10, 20, 30, 40, и т.д. Остальные номера остаются не заполненными, чтобы позже можно было вставлять новые операторы. Второе важнейшее свойство программ: чем проще вносить в программу изменения и дополнения, тем она лучше.
Операторы в программах рекомендуется писать по одному на строке. Язык Бейсик разрешает записывать на одной строке несколько операторов, разделяя их двоеточиями. Однако из-за этого в программу сложнее будет вносить изменения.
Составление программ на языке Бейсик лучше всего начинать с составления алгоритма для ЭВМ на родном языке, а уже затем записывать этот алгоритм на языке Бейсик. Такой способ дает возможность составлять более понятные программы, которые легче читать и легче исправлять. Поэтому в программах, составленных таким образом, легче получить на ЭВМ результаты решения задач.
Написание программ при таком подходе состоит в переводе русских слов, с помощью которых записываются алгоритмы, в слова используемого языка программирования. После составления программы начинается ее вывод и испытания на ЭВМ. Эта работа состоит в следующем:
ввод программы;
выполнение программы;
исправление программы;
Ввод каждого оператора должен обязательно начинаться с нажатия клавиши ввода команды ¿. Только после этого ЭВМ запоминает введенный оператор и вставляет его в соответствующее место программы. Операторы могут вводится последовательно, начиная с младших номеров, но могут вводиться в любом порядке.
Ввод длинных программ требует много времени. Поэтому для ускорения процесса испытания и отладки лучше всего вводить и проверять их по частям. Первыми лучше всего вводить операторы ввода и вывода данных. Это позволяет начать диалог с программой, даже не введя еще всего текста. Действуя таким образом, можно намного раньше начать исправлять ошибки, прокравшиеся в программу.
Выполнение программ на Бейсике начинается по команде RUN¿
(RUN - выполнять). Диалоговые программы, как правило, предлагают ввод определенных данных. В таких ситуациях ЭВМ приостанавливает выполнение программы и ждет ввода данных с клавиатуры. Признаком конца ввода данных всегда служит нажатие клавиши ввода команды ¿. Выполнение программы ЭВМ продолжит только после нажатия этой клавиши.
Технику ввода и проверки программы по частям рассмотрим на примере разобранной ранее программы расчета времени движения. Одним из лучших решений будет ввод первыми операторов ввода:
20 PRINT «расчет времени» ¿
60 PRINT «время=»; Т ¿
Введенную часть программы уже можно запустить на выполнение командой RUN. В результате на экране ЭВМ получим:
RUN ¿ | - запуск программы |
расчет времени | - результаты выполнения |
время= 0 |
Отметим, что всем числовым переменным в программах на Бейсике перед началом выполнения любой программы автоматически присваиваются нулевые значения. Поэтому введенная часть программы из двух операторов дает нулевое значение времени, которое извлекается из переменной Т.
Для получения времени движения при произвольной скорости и длине пути необходимо ввести следующие три оператора:
30 INPUT «путь=»; S ¿ | - ввод длины пути |
40 INPUT «скорость=»; V ¿ | - ввод значения скорости |
50 T = S/V ¿ | - расчет времени движения |
Теперь можно запустить программу и ввести любые значения длины пути и скорости движения:
RUN ¿ | - запуск программы |
расчет времени | |
путь=? 720 ¿ | - ввод длины пути |
скорость=? 60 ¿ | - ввод скорости |
время=12 | - конечный результат |
Редактирование программ заключается в возможности исправления введенных строк программы, а также добавления новых строк или удаления ненужных.
Текст программы, хранящейся в памяти ЭВМ, можно увидеть на экране по команде LIST. ¿
(LIST - список). В рассматриваемом примере результатом будет такой текст:
20 PRINT «расчет времени» |
30 INPUT «путь=»; S |
40 INPUT «скорость=»; V |
50 T = S/V |
60 PRINT «время=»; T |
Для завершения ввода текста программы осталось ввести два оставшихся оператора:
10 ¢ время пути ¿
70 END ¿
Для вывода отдельного оператора программы в программе LIST указывается номер соответствующей строки. Пример такой команды:
LIST 50 ¿
Результатом будет появление на экране строки с номером 50:
50 T=S/V
Для вывода на экран части программы в команде LIST нужно указать номера первого и последнего операторов, разделяя их знаком тире. Пример:
LIST 30 - 40 ¿
Результат:
30 INPUT «путь=»; S
40 INPUT «скорость=»; V
Изменения в отдельных строках программы можно проводить вводом нового варианта строки либо редактированием отдельных символов или части строки.
Редактирование внутри строки проводится с помощью курсора. Первый - ввести пустой оператор с номером удаляемой строки и нажать клавишу ¿. Второй - ввести команду удаления строк DELETE. Например, если нужно удалить строки с 30-й по 50-ю, то нужно ввести команду
DELETE 30 - 50 ¿
Удаление из памяти всего текста программы осуществляется командой
NEW ¿
(NEW - новый).
Нарушение правил языка программирования при записи команд и операторов в программах называются синтаксическими ошибками. Такие ошибки ЭВМ обнаруживает автоматически. При обнаружении этих ошибок в программах ЭВМ прерывает выполнение программы и выводит на экран сообщение с указанием номера ошибочного оператора. Тексты этих сообщений зависят от используемой системы программирования.
Для исправления выявленных ошибок необходимо вывести на экран соответствующий оператор, указав его номер в команде LEST, проанализировать, в чем состоит ошибка, и исправить ее. Для вывода на экран строки, в которой машина обнаружила ошибку, можно пользоваться командой
LIST ¿
либо ввести команду вида: LIST 50 ¿ где 50 - это номер нужной строки.
Вопросы, упражнения и задания для самопроверки
ВОПРОСЫ:
Что такое программа для ЭВМ?
Какими командами:
а) программа на Бейсике запускается на выполнение;
б) выводится на экран текст всей программы;
в) выводится на экран отдельные операторы программы;
г) выводятся на экран фрагменты программы?
3. Что является признаком конца исправления оператора?
4. Что является признаком конца ввода данных в ответ на вопросы ЭВМ?
УПРАЖНЕНИЯ:
Составьте алгоритм и программу на языке Бейсик для расчетов средней скорости по длине пути и времени движения.
Составьте алгоритм и программу решения:
а) линейного уравнения;
б) системы линейных уравнений с двумя неизвестными.
ЗАДАНИЯ:
Введите и испытайте на ЭВМ программу расчета времени движения.
Составьте план ввода, введите и испытайте на ЭВМ программу:
а) расчета средней скорости движения:
б) решения системы линейных уравнений с двумя неизвестными.