Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основы структурного программирования




Вопросы

Кон END

Нач CLS

Твой папа.

Желаю счастья.

С днем рождения

Поздравляю тебя

Дорогая Оля

 

Основными свойствами программ для ЭВМ как одной из форм описания и разновидностей машинных алгоритмов является их выполнимость, мобильность, эффективность и правильность.

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

Мобильность программ — возможность переноса программы на другой тип ЭВМ. Примером мобильности является возможность выполнения в системе структурного программирования Qbasic программ, записанных на традиционном Бейсике.

Эффективность программ — обычно это минимальность времени их выполнения на ЭВМ. Однако если созданные программы содержат ошибки, то утверждения об их эффективности не имеют никакого смысла.

Правильность программ — правильность результатов, получаемых с их помощью. Правильность результатов определяется соответствием документации или другим описаниям программ.

Программы содержат ошибки, если их выполнение на ЭВМ приводит к возникновению отказов, сбоев или неправильных результатов. От использования программ, содержащих ошибки, следует отказываться.

Основные типы операторов языка Бейсик:

— операторы ввода-вывода, — графические операторы,

— присваивания, — обращения к функциям,

— описания данных, — управляющие операторы.

— обращения к подпрограммам,

 

Примеры операторов ввода-вывода на экран.

 

ОператорДействие

print «привет» вывод («привет»)

print «корень=»; х вывод («корень=», х)

input «a=»; а запрос («а=», а)

input n ввод (п)

locate st,ps позиция (st,ps)

Примеры графических операторов:

ОператорДействие

pset(x,y),c точка(х,у),с

line(x,y)-(u,v),c линия(х,у)-(и,у),с

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 закраска(х, у), с

cls очистка_экрана

screen 0,0 текстовый_экран

screen 1,0 графический_экран 1

screen 2,0 графический_экран 2

Примеры операторов присваивания:

ПрисваиванияДействиеРезультат

а = 0 а:= 0 а = 0

b = а + 1 b: = а + 1 b = а + 1 = 1

с = 2*b + 3 с: = 2 ∙ b + 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' + l = 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

ехр(х) — экспонента ехр(0) 1

log(x) — логарифм натуральный log(l) 0

 

К числу управляющих операторов можно отнести условные операторы, имеющие следующую форму записи и смысл:

Условный оператор:Действия ЭВМ:

if <условие> then <оператор> если <условие> то <действие>

где <оператор> — это один или несколько операторов, разделяемых двоеточием, а <условие> — это некоторое логическое условие, при соблюдении которого будут выполняться указанные операторы.

 

Примеры записи условий — простых и сложносоставных:

Условие: Запись:

х = у х = у

х (у х <> у

х > у х > у

х < у х < у

х (у х <= у

х (у х >= у

не (х = 1) not (x = l)

(х>0) и (у>0) (х>0) and (y>0)

(а=0) или (b=0) (a=0) or (b=0)

 

Простейшим примером программы с условными операторами является реализация алгоритма «выбор из меню»:

 

 

Алгоритм и программа выбора по меню, соответствующие этому сценарию:

 

АлгоритмПрограмма

алг 'выбор по меню «выбор по меню»

вывод («Меню) PRINT «Меню:»

вывод («1. Новый год») PRINT («1.Новый год»);

вывод («2. День рождения») PRINT («2.День рождения»);

вывод («3. День знаний») PRINT («3.День знаний»);

запрос («выбор=», n) INPUT «выбор=», n

если n=1 то IF n = 1 THEN

вывод («1 января») PRINT «1 января»

если n=2 то IF n = 2 THEN

вывод («1 декабря») PRINT «1 декабря»

если n=3 то IF n = 3 THEN

вывод («1 сентября») PRINT «1 сентября»

Правильность диалоговых алгоритмов и программ можно оценить сопоставлением их со сценарием диалога. Любое отклонение результатов выполнения алгоритмов и программ от сценария диалога — это ошибка. Диалоговый алгоритм правильный, если результаты его выполнения строго соответствуют сценарию.

Сравнение текста программы с описанием алгоритма, а затем алгоритма со сценарием диалога подтверждает полное соответствие программы заданному сценарию «Выбор по меню». Таким образом, правильность программ может проверяться через правильность реализованных в них алгоритмов.

 

Текст программы

 

Результат выполнения

 

1. Что такое программа?

2. Что такое язык программирования?

3. Каковы основные свойства программ?

4. Какие есть графические операторы?

5. Какие есть операторы ввода-вывода?

6. Какие есть математические функции?

7. Как записываются логические условия?

Задания

 

1. Составьте сценарий, алгоритм и программу с выбором из меню:

а) поздравления с Новым годом;

в) регистрации даты рождения;

б) поздравления с Днем рождения;

г) регистрации фамилии и имени.

2. Составьте сценарий, алгоритм и программу для следующих вычислений с выбором из меню:

а) расчета сдачи за товар;

в) пересчета рубль/доллар;

б) расчета остатка от прибыли;

г) расчета остатка времени до 18.00.

3. Составьте сценарий, алгоритм и программу рисования с выбором из меню изображений:

а) российского флага;

б) шведского флага;

в) японского флага;

г) украинского флага;

д) французского флага;

е) британского флага.

4. Составьте сценарий, алгоритм и программу с выбором из меню следующих вычислений:

а) времени движения по длине пути и скорости;

б) длины пути по времени и скорости движения;

в) средней скорости по времени и длине пути.

5. Составьте сценарий, алгоритм и программу рисования следующих изображений с выбором из меню:

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

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

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

 

Алгоритмизация — это составление алгоритмов для последующей реализации в виде программ для ЭВМ. Знание и использование систематических методов превращают алгоритмизацию в строгую дисциплину, позволяющую составлять программы на ЭВМ без ошибок.

Порядок составления программ:

 

 

На практике широко используются два подхода к алгоритмизации:

1) традиционный подход (с использованием блок-схем);

2) структурный подход (с использованием структурной записи).

Традиционный подход к составлению алгоритмов с применением блок-схем грешит большим числом ошибок в программах из-за их громоздкости и запутанности. Из-за этого традиционный подход к составлению программ чреват большим числом ошибок в создаваемых программах.

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

 

При структурном подходе к составлению алгоритмов и программ используются три основных правила композиции:

 

1) альтернативный выбор;

2) циклический повтор;

3) вспомогательные алгоритмы (подпрограммы).

Структурированными считаются алгоритмы и программы, составленные только с использованием указанных трех правил структурной композиции. Неструктурированными считаются алгоритмы и программы, в которых используются операторы goto... или отсутствует ступенчатая запись циклов и альтернатив.

Основные правила структурной композиции алгоритмов с примерами записи их на языке структурированного Бейсика:

1. Альтернативный выбор:

АлгоритмЗапись

если х > 0 то if х > 0 then

у:= х у = х

иначе else

у:= -х у = -х

кесли end if

2. Циклический повтор:

 

АлгоритмЗапись

пока х > 1 цикл do while х > 1

х: = х/2 х = х/2

кцикл loop

3. Вспомогательные алгоритмы (подпрограммы):

АлгоритмПодпрограмма

алг «у = |х|» mod: 'у = |х|

нач '

если х > 0 то if х > 0 then

у: = х у = х

иначе else

у:= -х у = -х

все end if

кон return

Обращение к алгоритмуОбращение к подпрограмме

«у = |х|» gosub mod

 

В качестве иллюстрации приведем пример структурированного алгоритма «Галерея картинок» и соответствующей структурированной программы:

 

 

В соответствии с этими четырьмя картинками построим три вспомогательных алгоритма рисования отдельных картинок из «Галереи» и общий алгоритм выбора картинок в соответствии с приведенным выше сценарием:

алг «Галерея картинок»

нач алг «рисунок_треугольника»

вывод («Список картинок:») нач

вывод («1. треугольник») линия (150,50)-(100,100)

вывод («2. прямоугольник») линия (150,50)-(200,100)

вывод («З. кольцо») линия (100,100)-(200,100)

запрос(«номер =», п) кон




Поделиться с друзьями:


Дата добавления: 2017-01-14; Просмотров: 170; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.047 сек.