Базовые средства программирования
Базовыми средствами программирования для персональных компьютеров считаются языки семейства Basic (Бейсик). Эти языки программирования имеются на всех персональных компьютерах и широко используются для обучения началам программирования в школах и вузах.
Бейсик является примером одного из лучших языков диалогового программирования для ЭВМ. По этой причине Бейсик оказался самым первым языком программирования самых первых персональных компьютеров, созданных фирмой Microsoft.
На персональных компьютерах IBM PC язык Бейсик имеет три версии, связанные с операционными системами для этих компьютеров, созданных и развиваемых фирмой Microsoft:
1) традиционный Бейсик (без ОС),
2) структурный Бейсик(МS DOS),
3) графический Бейсик (Windows).
Традиционный Бейсик полностью воспроизводит язык программирования самых первых персональных компьютеров, на которых отсутствовали операционные системы. В связи с прекращением производства этих компьютеров данная версия языка Бейсик потеряла свое прежнее значение и не используется на современных ЭВМ.
Структурный Бейсик под именем Quick Basic был создан вместе с первыми моделями персональных компьютеров IBM PC как базовое средство программирования в операционной системе MS DOS. Интерпретатор этой версии Бейсика имеется на всех персональных компьютерах IBM PC в качестве стандартной компоненты операционной системы MS DOS.
Графический Бейсик под именем язык Visual Basic был создан фирмой Microsoft в качестве базового средства программирования для новейших моделей компьютеров IBM PC с операционной системой Windows. Этот язык может использоваться только в среде Windows и только на старших моделях IBM PC.
Пример программы на традиционном языке Бейсик с комментариями, в которых записан реализованный в ней алгоритм.
Программа Алгоритм
10 ' поздравление ' алг «поздравление»
20 сls ' нач
30 nm$ = «Оля» ' пт$ = «Оля»
40 dn$ = «с днем рождения» ' dn$ = «с днем рождения»
50 print «Дорогая» + nm$ ' вывод «Дорогая» + пт$
60 print «Поздравляю тебя» ' вывод «Поздравляю тебя»
70 print dn$ ' вывод dn$
80 print «Желаю счастья» ' вывод «Желаю счастья»
90 print «Твой папа» ' вывод «Твой папа»
100 end ' кон
Программы на Бейсике состоят из операторов и комментариев. Каждый оператор соответствует некоторой операции, которую может выполнить компьютер. Комментарии включаются в тексты программ для их документирования.
Та же самая программа на структурном Бейсике:
Программа Алгоритм
' поздравление ' алг «поздравление»
сls ' нач
nm$ = «Оля» ' пт$ = «Оля»
dn$ = «с днем рождения» ' dn$ = «с днем рождения»
print «Дорогая» + nm$ ' вывод «Дорогая» + пт$
print «Поздравляю тебя» ' вывод «Поздравляю тебя»
print dn$ ' вывод dn$
print «Желаю счастья» ' вывод «Желаю счастья»
print «Твой папа» ' вывод «Твой папа»
end ' кон
Результатом выполнения на компьютере и той и другой программы будет появление на экране одного и того же текста:
Дорогая Оля
Поздравляю тебя
с днем рождения
Желаю счастья.
Твой папа.
В системе программирования QBasic на IBM PC программы могут записываться в обоих формах - с нумерацией и без нумерации строк. В версиях Бейсика для ЭВМ, не имеющих операционных систем, строки должны быть пронумерованы.
Основными свойствами программ для ЭВМ как одной из форм описания и разновидностей машинных алгоритмов является их выполнимость, мобильность, эффективность и правильность.
Выполнимость программ - возможность их выполнения на дан ном типе компьютеров. Возможность выполнения зависит от типа ЭВМ, наличия внешних устройств, надлежащего объема оперативной и внешней памяти, операционной системы и системы программирования.
Мобильность программ - возможность переноса программы на другой тип ЭВМ. Примером мобильности является возможность выполнения в системе структурного программирования Qbasic программ, записанных на традиционном Бейсике.
Эффективность программ - обычно это минимальность времени их выполнения на ЭВМ. Однако, если созданные программы содержат ошибки, то утверждения об их эффективности не имеют никакого смысла.
Правильность программ - правильность результатов, получаемых с их помощью.
Правильность результатов определяется соответствием документации или другими описаниями программ.
Программы содержат ошибки, если их выполнение на ЭВМ приводит к возникновению отказов, сбоев или неправильных результатов. От использования программ, содержащих ошибки, следует отказываться.
Основные типы операторов языка Бейсик:
- операторы ввода-вывода;
- графические операторы;
- присваивания;
- обращения к функциям;
- описания данных;
- управляющие операторы;
- обращения к подпрограммам.
Примеры операторов ввода-вывода на экран.
Оператор Действие
print «привет» вывод («привет»)
print «корень=»; х вывод («корень =», х)
input «a=»; а запрос («а=», а)
input n ввод (п)
locate st, ps позиция (st,ps)
Примеры графических операторов:
Оператор Действие
pset(x,y),c точка(х,у),с
line(x,y)-(u,v),c линия(х,у)-(и, v), с
line(x,y)-(u,v),c,b рамка(х,у)-(и,у),с
circle(x,y),r,c окружность(х,у), r,с
circle(x,y),r,c,al,a2 дуга(х,у), r,с,а1,а2
paint(x,y),c закраска(х,у),с
сls очистка_экрана
screen 0,0 текстовый_экран
screen 1,0 графический_экран1
screen 2,0 графический_экран2
Примеры операторов присваивания.
Присваивания Действие Результат
а = 0 а := 0 а = 0
b = а + 1 b := a + 1 b = а + 1 = 1
с = 2*b + 3 с := 2b + 3 с = 2 b + 3 = 5
d = b/c d := b/c d = -b/c = 0.2
b = b + 1 b := b + 1 b' = b + 1 = 2
b = b + 1 b := b + 1 b" = b' + 1 = 3
Математические функции с примерами обращения.
Функция Смысл Пример Результат
rnd - случайное число от 0 до 1 rnd
int (x) - целая часть числа х int (5/3) 1
abs (x) - абсолютное значение числа abs (-2) 2
sqr (x) - квадратный корень числа sqr (16) 4
sin (x) - синус sin
(0) 0
cos (x) - косинус cos
(0) 1
tan (x) - тангенс tan
(0) 0
atn (x) - арктангенс atn (0) 0
exp (x) - экспонента ехр (0) 1
log (x) - логарифм натуральный log (1) 0
К числу управляющих операторов можно отнести условные операторы, имеющие следующие форму записи и смысл:
Условный оператор: Действия ЭВМ:
if <условие> then <оператор> если <условие> то <действие>
где <оператор> - это один или несколько операторов, разделяемых двоеточием, а <условие> - это некоторое логическое условие, при соблюдении которого будут выполняться указанные операторы.
Примеры записи условии - простых и сложносоставных:
Условие: Запись:
х = у х = у
х ¹
у х <>
у
х > у х > у
х < у х < у
х £
у х <= у
х ³
у х >= у
не (х = 1) not (x = 1)
(х > 0) и (у > 0) (х > 0) and (у > 0)
(а = 0) или (b = 0) (а = 0) or (b = 0)
Простейшим примером программы с условными операторами является реализация алгоритма «выбор из меню»:
Сценарий «Выбор из меню»
Меню: <результат >:
1. Новый год 1 января
2. День рождения 1 декабря
3. День знаний 1 сентября
выбор=?
<n>
<результат >
Алгоритм и программа выбора по меню, соответствующие этому сценарию:
Алгоритм Программа
алг «выбор по меню» ' выбор по меню
нач cls
вывод («Меню») print «Меню:»
вывод («I. Новый год») print («1. Новый год»)
вывод («2. День рождения») print («1. День рождения»)
вывод («З. День знаний») print («3. День знаний»)
запрос («выбор=», п) input «выбор=», n
если п = 1 то if n = I then
вывод («1 января») print «1 января»
если п = 2 то if n = 2 then
вывод («1 декабря») print «1 декабря»
если п
= 3 то if n = 3 then
вывод («1 сентября») print «1 сентября»
кон end
Правильность диалоговых алгоритмов и программ можно оценить сопоставлением их со сценарием диалога. Любое отклонение результатов выполнения алгоритмов и программ от сценария диалога - это ошибка. Диалоговый алгоритм - правильный, если результаты их выполнения строго соответствуют сценарию.
Сравнение
текста программы с описанием алгоритма, а затем алгоритма со сценарием диалога подтверждает полное соответствие программы заданному сценарию «выбор по меню».
Таким образом, правильность программ может проверяться через правильность реализованных в них алгоритмов.
В о п р о с ы
1. Что такое программа?
2. Что такое язык программирования?
3. Каковы основные свойства программ?
4. Какие есть графические операторы?
5. Какие есть операторы ввода- вывода?
6. Какие есть математические функции?
7. Как записываются логические условия?
З а д а ч и
1. Составьте сценарий, алгоритм и программу с выбором из меню:
а) поздравления с Новым годом;
б) поздравления с Днем рождения;
в) регистрации даты рождения;
г) регистрации фамилии и имени.
2. Составьте сценарий, алгоритм и программу для следующих вычислений с выбором из меню:
а) расчета сдачи за товар;
б) расчета остатка от прибыли;
в) пересчета рубль/доллар;
г) расчета остатка времени до 18.00.
3. Составьте сценарий, алгоритм и программу рисования с выбором из меню изображений:
а) российского флага; г) украинского флага;
б) шведского флага; д) французского флага;
в) японского флага; е) британского флага.
4. Составьте сценарий, алгоритм и программу с выбором из меню следующих вычислений:
а) времени движения по длине пути и скорости;
б) длины пути по времени и скорости движения;
в) средней скорости по времени и длине пути.
5. Составьте сценарий, алгоритм и программу рисования следующих изображений с выбором из меню:
а) домика; г) автомобиля;
б) дерева; д) цветка;
в) рыбы; е) птицы.