Та же самая программа на структурном Бейсике:
Программа Алгоритм
' поздравление ' алг «поздравление»
с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 до 1rnd
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 то ifn = 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. Составьте сценарий, алгоритм и программу рисования следующих изображений с выбором из меню:
а) домика; г) автомобиля;
б) дерева; д) цветка;
в) рыбы; е) птицы.
4.3. Основы структурного программирования
Алгоритмизация - это составление алгоритмов для последующей реализации в виде программ для ЭВМ. Знание и использование систематических методов превращают алгоритмизацию - в строгую дисциплину, позволяющую составлять программы на ЭВМ без ошибок.
Порядок составления программ:
задача ¾ алгоритмы программа