Информатика


Базовые средства программирования


Базовыми средствами программирования для персональных компьютеров считаются языки семейства 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. Составьте сценарий, алгоритм и программу рисования следующих изображений с выбором из меню:

а) домика;                      г) автомобиля;

б) дерева;                       д) цветка;

в) рыбы;                          е) птицы.


Содержание раздела