Представление о программе
Вид материала | Документы |
- 1 класс по программе Л. В. Занкова. Учитель: Андреева, 52.48kb.
- Пояснительная записка к образовательной программе дополнительного образования детей, 537.46kb.
- Государственным заказчикам Программы (п. 2): Вмесячный срок назначить лиц, ответственных, 1074.41kb.
- Доклад для обн 17 10, 151.56kb.
- Учебный план повышения квалификации по программе "Логистика" в рамках направления "Экономика", 29.84kb.
- Вопросы к экзамену по курсу " ЭВМ и периферийные устройства" для групп К2-121, -122,, 75.03kb.
- Представление данных в ЭВМ, 207.04kb.
- И представление налоговой отчетности, 394.07kb.
- И представление налоговой отчетности, 357.06kb.
- Дать детям представление о речевом этикете, как о правилах поведения в различных ситуациях;, 241.98kb.
- определить цель, для достижения которой будет создан алгоритм;
- наметить приблизительный план действий для достижения поставленной цели.
Вторая стадия — детализация алгоритма с учетом специфики среды и других объектов:
- выбрать среду и объекты, посредством которых алгоритм будет реализован;
- детализировать алгоритм с учетом особенностей выбранной среды.
Контрольные вопросы и задания
- Дайте определение алгоритма и приведите примеры.
- Что такое алгоритмизация?
- Приведите пример математического выражения и составьте алгоритм его вычисления.
- Поясните на примерах свойства алгоритма.
- Как вы понимаете свойство конечности алгоритма? Приведите примеры.
- Как вы понимаете свойство массовости алгоритма? Приведите примеры.
- Что такое линейный алгоритм? Приведите примеры.
- Что такое циклический алгоритм? Приведите примеры.
- Напишите циклический алгоритм и укажите в нем тело цикла.
- Как происходит окончание циклического алгоритма?
- Что такое разветвляющийся алгоритм? Приведите примеры.
- Как в алгоритме записывается условие?
- Как записывается полная форма разветвляющегося алгоритма? Приведите примеры.
- Как записывается неполная форма разветвляющегося алгоритма? Приведите примеры.
- Что такое вспомогательный алгоритм? Приведите примеры.
- Зачем нужна блок-схема алгоритма?
- Придумайте пример алгоритма и представьте его в виде блок-схемы.
- Какие стадии разработки алгоритма вы знаете и в чем их суть? *.
- Приведите пример разработки алгоритма по стадиям в виде двух блок-схем.
Тема 13 Представление о программе. Классификация программ
Изучив эту тему, вы узнаете:
- что такое Исполнитель и каково его назначение;
- что означают понятия программы и программирования на алгоритмических языках;
- в чем отличие процедурного и объектного подходов к программированию;
- как классифицируется программное обеспечение;
- как программное обеспечение соотносится с аппаратной частью.
13.1. Исполнитель алгоритма
Действия, описываемые в алгоритме, прежде всего должны быть понятны самому разработчику алгоритма. Только тогда алгоритм можно преобразовать в форму, понятную тому, кто будет его выполнять.
Поэтому разработка алгоритма практически всегда осуществляется в две стадии, как было сказано в п. 12.8. На первой стадии человек приближенно описывает последовательность выполнения действий объектом, который будет претворять в жизнь заложенную в алгоритме идею. Возможно, этим объектом будет сам разработчик. На этой стадии человек должен ясно представить себе, что же он хочет получить и каким образом. На следующей стадии алгоритм претерпевает некоторые изменения для того, чтобы в нем были учтены особенности среды, в которой предполагается выполнение этого алгоритма.
Объект, который будет выполнять разработанный человеком алгоритм, обычно называют Исполнителем. Его предназначение — точно выполнить предписания алгоритма, подчас не задумываясь о результатах и целях. Например, Исполнителем может быть:
- солдат в армии, который обязан беспрекословно выполют
приказы старших по званию чинов;
- собака, которая должна выполнять команды хозяина;
- животные в цирке, которые должны точно исполнять требования дрессировщика;
- робот, производящий измерения в космосе, выполняет Щ манды, поступающие от космического центра;
- летчик, который должен точно выполнять распоряжения диспетчера аэропорта.
Во всех приведенных выше примерах объект, исполняющий действия алгоритма, не обязан:
- понимать цели и методы достижения этой цели;
- пропускать действия или менять их порядок по своему уо мотрению;
- искать какую-то'замену, если действие выполнить нош)! можно.
Исполнитель — объект, который выполняет алгоритм.
Идеальными Исполнителями являются машины, роботы, компьютеры. Они в состоянии им поднять указанные коми идi i
обсуждая их целесообрн;
Человек тоже может
себя в положение Исполни i алгоритма, хотя бы для п|»
• и ( к) правильности. При этом человек формально, не старине
Инн lib поставленную задачу, выполняет команду за командой
Иемолнитель способен выполнять только ограниченное коми
HdTito команд. Поэтому алгоритм, переписанный на второй CTI
под конкретного Исполнителя, должен еще раз пройти до
И» и пи тельное преобразование. Алгоритм дорабатывается и дети
in шруется так, чтобы в нем присутствовали только те команд!
и'трукции, которые может выполнить Исполнитель.
'Гни появляется третья стадия, на которой алгоритм ДОЛЯМ!
prill- представлен в форме, понятной Исполнителю. Исполни
f*ni.. пик и любой объект, находится в определенной среде и м<
Ими ш.пюлнять только допустимые в ней действия. Если ИОПОЛ
о. иетретит в алгоритме неизвестную ему команду, то вы
пне алгоритма прекратится.
J
13.2. Понятие программы
м.ей стадии разработки алгоритма необходимо гхоанаХ(
и с командами, доступными Исполнителю, и с правилим щней. Так, игра в шахматы теряет всякий смысл, если И< iи гель не представляет себе правил поведения в среде «шах юе поле».
i оритм, представленный на понятном Исполнителю янык<
пшют программой. Обычно понятие программы связываю
И компьютером, и тогда процесс создания программы называю
i к мп/ншанием или кодированием. Программа должна быт
на гак, чтобы каждый блок компьютера выполнял МД]
ми ловеком действие в соответствии с алгоритмом.
к. Программа — упорядоченная последовательность команд (икс рукций), необходимых компьютеру для решения поставленной и
< дачи.
Программирование (кодирование) — процесс составления прогрлл мы для компьютера.
рных электронно-вычислительных машин программ!
1.ииеь и ииде поеледова-тел хти элементарных опер!
ih'o была очень трудоемкий и не;н|)фектииная работа. Дл
исправления любой ошибки приходилось переделывать всю программу и снова записывай, ее в память.
Поэтому впоследствии были разработаны специальные языки программирования, кото рые позволяют удобно и наглядно представить алгоритм I решения задачи. Первым алгоритмическим языком для создл-ния компьютерных программ был АЛГОЛ (60-е годы). Очень скоро появились и другие языки: Фортран, ПЛ, Бейсик, Пав каль и др. Каждый из них нес в себе какую-нибудь особую идет по более рациональному использованию ресурсов компьютера и усовершенствованию формы представления программы.
В настоящее время существует множество искусственных! языков для составления программ. Однако так и не удалось со-1 здать идеального алгоритмического языка, который устроил бы всех, как не удалось создать и искусственный разговори ып язык, который удовлетворил бы все страны и народы. Одним нравится программировать на Паскале, другим — на Си, третьи, прекрасно овладев правилами составления программ на Бейсм ке, вполне довольны получающимися результатами. Алгоритм, представленный с помощью языка программирования, чем -то похож на математическую формулу.
Программы, так же как и алгоритмы, обладают свойствами дискретности и детерминированности. Верно составленные программы должны быть конечны и правильны. Хорошие про граммы обладают свойством массовости.
Программа хранится в памяти компьютера. При запуске про граммы компьютер выполняет команды в том порядке, в кото- ] ром они записаны.
В каждом алгоритмическом языке программирования имеет ся набор встроенных команд — инструментов для выполнении i разнообразных действий. В состав языка обязательно включены команды (операторы) для создания в программе циклов и раз ветвляющихся конструкций. Любой язык содержит правила для
ИрмОогки и применения вспомогательных программ, назьп процедурами.
Процедура — вспомогательная программа, которая вы u.m.i из другой программы.
•пмие жизни человек постоянно расширяет свой СЛ01 miшс. Услышав или прочитав новое слово, вы иногда не и\ о чем идет речь, пока не сопоставите это слово с j ii.iми понятиями. Столкнувшись с новым явлением, мея подобрать для него название, иногда придумывая < штельно объясняя с помощью уже известных слов. Tai
1
1 увеличиваются наши знания,
г ' 1|>:и">атывая программу для компьютера, вы даете ей у
| >«' имя. Записывая в память программу под этим имен
и расширяете словарный запас компьютера. Применяя сие
.н» конструкции языка программирования, можно paopfl
о программу использовать в качестве процедуры при
и пых программ. Обращение к процедуре происходит
им.
13.3. Подходы к созданию программы
1|'н разработке алгоритмов, а затем соответствующих им и ■ м можно использовать разные подходы. Проиллюстрир\ ИЛ примерах создания алгоритмов, в которых примети->' i\ рный и объектный подходы. При процедурном подходе в результате выполнения лн> mini, описанного в алгоритме, должен быть получен про
\ i • •■■ ni.ii'f результат. Цепочка промежуточных результатов в им счете должна привести к ожидаемому конечному рсм\
Hi ткем это на примере. Надо составить алгоритм вычт-па калькуляторе следующего выражения:
Здесь числа, над которыми в калькуляторе будут совершатьв! действия, заменены именами переменных. Эти переменные м| гут принимать различные значения. Если вводимые числа или значение суммы в знаменателе окажется равным нулю, то дей<ч вие алгоритма окажется невыполнимым. Следовательно, в алго» ритм должна быть включена проверка условия «равно ли знач| ние знаменателя нулю?» и предусмотрены действия для об холм такой ситуации. В результате алгоритм вычисления будет (mi#i дующим:
Если R1 = 0, или R2 = 0, или R3 = 0, или R4 = 0, то выбрить другие числа. Если все числа не равны нулю, то перейти кп.!1
Вычислить 1/R1 и записать Результат!..
Вычислить 1/R2 и записать Результат2.
Вычислить 1/R3 и записать РезультатЗ.
Вычислить 1/R4 и записать Результат4.
Сложить Результат!, Результат2, РезультатЗ и Результат! и запомнить сумму как Результатб.
Если Результатб не равен нулю, то разделить 1 на Резулм и полученный Результатб будет искомым ответом.
Если Результатб равен 0, то выбрать другие числа и перш i и к п. 1 или прекратить вычисления.
При объектном подходе рассматривается класс объектом, и* свойства, параметры, действия, среда. Для создания конкретно!., экземпляра класса объектов надо указать соответствующие ;iпа чения параметров. Вы не должны подробно описывать, как со вать каждый элемент выбранных объектов. Обработка парам in ров конкретного объекта уже заключена в действиях алгорич
Рассмотрим пример, иллюп рирующий объектный подход. Предположим, в альбоме и ются красочные иллюстрации, И1 которых изображены разнооГ>|.... ные цветы. Кроме того, прип< и ны шаблоны для рисования чао тей каждого цветка: стебля, лигти
м цветка. Эти шаблоны рекомендуется вырезать, чтобы, 1 их, можно было достаточно быстро рисовать сущвСТ -и, или выдуманные цветы. Гш 1'пипм описание класса «Цветок» в виде таблицы 13.1 тик, мм м<> пило показано в теме 7. ■ -'(Л 13.1. Описание класса «Цветок»
| Параметр | Действие |
||й ИШПИС | Значение | |
1 1 .11111- | Роза, ромашка, тюльпан и др. | Выращивать Рисовать Вырезать из бумаги |
Ь 1 M'lllUI | Стебель розы, стебель ромашки, стебель тюльпана и т. д. | |
111, I'll | Лист розы, лист ромашки, лист тюльпана и т. д. | |
Mil И 1И1С11 | Венчик розы, венчик ромашки, венчик тюльпана и т. д. | |
|1| оложим, вы хотите нарисовать ромашку, исполму)
мы се составных частей. Это означает, что вы выбирает ищи 13.1 действие «Рисовать». |||н i !!• всего надо создать необходимую для ния среду, а именно: найти место на столе, пу магу, цветные карандаши, подготовить и и. :*атем вы определяете конкретные зна-i ii.ip;i метров объекта, который будете рисование цветка — ромашка; вид стебля, листа и венчик и определяются выбранным шаблоном. Далее составля» ирптм рисования: I IIнита в книге изображение ромашки.
Нарисовать по шаблону стебель ромашки, задав нужны
vM'|).
Нарисовать на стебле по шаблону несколько листов роман ■ и, падав им нужный размер. i ирисовать в верхней части стебля по шаблону венчик цист i ромашки, задав нужный размер.
гл По указанному алгоритму вы сможете нарисовать
3|р любое количество ромашек разного размера с разным 3j количеством листочков.
Щу Если вы решите рисовать другой объект, например
4§§k розу, то алгоритм останется тем же. Изменятся только > значения параметров: название объекта — роза; вид стебля, вид листа, вид венчика цветка — типовые для розы и определяются выбранным шаблоном. Обратите внимание на изменения в алгоритме:
Найти в книге изображение розы.
Нарисовать по шаблону стебель розы, задав нужный размер.
Нарисовать на стебле по шаблону несколько листов розы, задав им нужный размер.
Нарисовать в верхней части стебля по шаблону венчик цветка розы, задав нужный размер.
Допустим, вы решили вырезать из бумаги цветок розы, используя для этого готовые шаблоны. Тогда нужно немного изменить среду (условия) работы — найти ножницы, цветные листы бумаги, клей. В алгоритме действие «Рисовать» будет заменено на «Вырезать». Параметры останутся прежними:
Найти в книге изображение розы.
Вырезать по шаблону стебель розы, задав нужный размер.
Вырезать по шаблону несколько листов розы, задав им нужный размер.
Вырезать по шаблону венчик цветка розы, задав нужный размер.
Склеить вырезанные части.
Современные методы разработки алгоритмов основываются на понятиях объектов, их параметров и действий, среды. Приступая к созданию алгоритма, прежде всего ориентируются на некую среду существования объектов. В среде должны иметься инструменты для выполнения действий над объектами и изме-
нения их параметров. Алгоритм преобразования объектов СОДв жит описание действий, выполняемых этими инструментам Например, при рисовании ромашки такими инструментами я ляются: «Нарисовать по шаблону стебель», «Нарисовать на 014 ле по шаблону несколько листов», «Нарисовать в верхней часч стебля по шаблону чашечку цветка».
Объектный подход к разработке алгоритма часто используется при создании компьютерных игр. Алгоритм игры описывает действия героев, параметры которых можно задавать (вводить) в процессе выполнения алгоритма (игры). Благодаря этому в начале игры вы имеете возможность выбрать своего героя, обеспечить ему снаряжение и указал
другие характеристики. В соответствии с введенными знач<
ми компьютер отображает вашего героя на экране монитора.
13.4. Классификация программного обеспечения
Совокупность используемых в компьютере программ принято ш иывать программным обеспечением. Любая программа создает и компьютере определенную среду для работы и включает в себя ш струментарий, с помощью которого вы имеете возможность созд* вать компьютерные объекты. Разнообразие сред определяется 04 ставом программного обеспечения компьютера. Приведем ущх щенное определение программного обеспечения.
И Программное обеспечение — совокупность всех используемы — J» B компьютере программ.
В жизни все объекты можно сгруппировать по определен им г признакам и составить для себя представление о том, где MOM но использовать того или иного представителя данной группi
(класса). То же самое можно сделать и по отношению к компьютерным программам.
Для того чтобы ясно понимать, где и какую программу вам следует использовать для преобразования информации и получения желаемого результата, необходимо иметь представление об имеющихся разновидностях программ. Все программное обеспечение принято разделять на три класса (рисунок 13.1): системное, прикладное, инструментарий программирования.
Рис. 13.1. Классификация программного обеспечения
Системное программное обеспечение
Этот класс программного обеспечения является необходимой принадлежностью компьютера, так как обеспечивает взаимодействие человека, всех устройств и программ компьютера.
Этот комплекс программ определяет на компьютере системную среду и правила работы в ней. Чем более совершенно системное программное обеспечение, тем комфортнее мы чувствуем себя в системной среде.
Самой важной системной программой является операционная система, которая обычно хранится на жестком диске. При включении компьютера ее основная часть переписывается с жесткого диска во внутреннюю память и там находится на протяжении всего сеанса работы компьютера. Если вы включили
компьютер и при этом на экране не происходит никаких измен ний, хотя все устройства находятся в рабочем состоянии, то Ш говорит об отсутствии в нем операционной системы.
Операционная система обеспечивает:
ф выполнение прикладных программ;
Ф управление ресурсами компьютера — памятью, процессоре и всеми внешними устройствами;
Ф контакт человека с компьютером.
К наиболее известным операционным системам относите Windows, MS-DOS, Unix, Linux.
Кроме операционной системы к системному программ мог обеспечению относятся различные комплексы программ, К01 рые предназначены для выполнения особых функций, отличи■ от функций операционной системы.
Например, широкое распространение получил комплекс п| грамм Norton Commander, которые используются вместе g 01 рационной системой MS-DOS. Подобная программа, называем оболочкой, создает более удобную среду работы, чем операции ная система. В среде Windows часто используется программ проверки диска ScanDisk, которая позволяет выявить и части но устранить дефекты диска.
С инструментарием и функциями системного программ!кi обеспечения вы познакомитесь при изучении системной с ре, Windows в теме 14. Умение работать в системной среде <>чг важно, так как позволяет сесть за любой компьютер и начать | ботать с конкретной программой.
Прикладное программное обеспечение
Все имеющиеся на компьютере прикладные программы сосп ляют прикладное программное обеспечение. Оно определяет компьютере прикладную среду и правила работы в ней. 11| кладная среда всегда является «дружественной» по отношенi к любому человеку, овладевшему несложными приемами рд| ты в ней. Прикладные программы могут работать на комт.ю ре только при условии, что на компьютере уже установлена 04 рационная система.
На примере изучения языка ЛОГО в практикуме вы познакомитесь с базовым инструментарием программирования, понятиями, приемами и методами, которыми пользуются профессиональные программисты.
Как программное обеспечение соотносится с аппаратной частью
На рисунке 13.2 условно отражено отношение различных классов программного обеспечения к аппаратной части. В центре окружностей находится аппаратная часть компьютера. Чем ближе окружность с программами к аппаратуре, тем важнее роль программ в организации работы устройств и тем сложнее пользователю работать в такой среде.