Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Создание программного обеспечения для ЭВМ. Рассмотрим поочередно все эти этапы

ЛЕКЦИЯ 10

ПРОЦЕСС РАЗРАБОТКИ НОВЫХ ПРОГРАММ ДЛЯ ЭВМ ВКЛЮЧАЕТ В СЕБЯ:

1) ПОСТАНОВКУ ЗАДАЧИ

2) СОЗДАНИЕИ АЛГОРИТМА ЕЕ РЕШЕНИЯ

3) РЕАЛИЗАЦИЮ АЛГОРИТМА НА ЭВМ В ВИДЕ ПРОГРАММЫ

4) ОТЛАДКУ ПРОГРАММЫ

Рассмотрим поочередно все эти этапы.

1) ПОСТАНОВКА ЗАДАЧИ СОСТОИТ В ЧЕТКОМ ФОРМУЛИРОВАНИИ ЦЕЛЕЙ

РАБОТЫ. Необходимо четко определить, что является исходными данными, что

требуется получить в качестве результата, каким должен быть интерфейс программы (т.е.

каким путем будет осуществляться диалог с пользователем) и т.д. Постановка задачи

является чрезвычайно важным этапом работы. Многие специалисты считают, что

правильная постановка задачи это уже полшага в направлении ее решения.

2) АЛГОРИТМ- ОПИСАНИЕ ПОСЛЕДОВАТЕЛЬНОСТИ ОПЕРАЦИЙ, КОТОРЫЕ

НУЖНО ВЫПОЛНИТЬ ДЛЯ РЕШЕНИЯ ЗАДАЧИ. Слово "алгоритм" происходит от

имени арабского математика Мухаммеда бен Мусы аль-Хорезми, предложившего в IX

веке первые алгоритмы решения арифметических задач.

ГРАФИЧЕСКАЯ ИНТЕРПРЕТАЦИЯ АЛГОРИТМА НАЗЫВАЕТСЯ БЛОК-СХЕМОЙ. В

качестве примера рассмотрим блок-схему простого и хорошо всем известного алгоритма

перехода улицы через перекресток, оборудованный светофором.

Разработку алгоритма можно сравнить с прокладыванием трамвайных путей, при котором

нужно предусмотреть систему стрелок, разворотов таким образом, чтобы при любых

условиях трамваи могли по проложенным путям дойти от исходного пункта маршрута к

конечному.

ТРЕБОВАНИЯ К АГОРИТМАМ:

А) ОТСУТСТВИЕ ОШИБОК.

Б) ОДНОЗНАЧНОСТЬ, Т.Е. ЧЕТКОЕ ПРЕДПИСАНИЕ, ЧТО И КАК ДЕЛАТЬ В

КАЖДОЙ КОНКРЕТНОЙ СИТУАЦИИ. Никаких неоднозначностей ("можно сделать так,

а можно и так...") быть не должно. Один из пунктов рассмотренного выше алгоритма

перехода улицы звучит неоднозначно- "немного подождать". Понятно, что данный

алгоритм ориентирован на человека, а человек поймет, что означает слово "немного",

правда каждый по-своему. Для компьютера понятия "немного" не существует, поэтому

при создании машинно-ориентированных алгоритмов нужно указывать конкретные

величины, например "подождать 3 секунды".

В) УНИВЕРСАЛЬНОСТЬ, Т.Е. ПРИМЕНИМОСТЬ ДАННОГО АЛГОРИТМА К

РЕШЕНИЮ ЛЮБОЙ ЗАДАЧИ ДАННОГО ТИПА. Это означает, что если Вы пишите

программу для решения квадратного уравнения, использованный в ней алгоритм должен

позволить использовать ее для решения любого квадратного уравнения, а если Вы пишите

программу для создания мультфильмов, то это нужно делать так, чтобы с ее помощью

можно было создавать любые мультфильмы, и т.д. Данное требование- экономическое.

Разработка серьезной программы это очень сложный, длительный и трудоемкий процесс,

и окупится он только тогда, когда созданная в результате программа будет использоваться

многократно. Писать программы, которые будут использоваться только однажды смысла

нет. Исключением могут быть только какие-то особые случаи и обучение

программированию.

Г) РЕЗУЛЬТАТИВНОСТЬ, Т.Е. ОТСУТСТВИЕ ЗАЦИКЛИВАНИЙ. Любая программа

должна всегда приводить к результату, даже если этим результатом будет аварийное

сообщение. Иными словами, рельсы должны быть проложены так, чтобы идущий по ним

трамвай в любой ситуации доехал от начала до конца, т.е. необходимо предусмотреть все

возможные ситуации. Обратимся снова к рассмотренному выше алгоритму перехода

улицы. Очевидно, что если светофор сломан, данный алгоритм не сработает. Иными

словами, эта аварийная ситуация в нем не предусмотрена, и в данном случае, результат

будет не таким, каким должен быть. Конечно, человек, не дождавшись зеленого сигнала,

поймет, что что-то не так и предпримет какие-то действия. Но компьютер ведь думать не

умеет, он как трамвай идет по проложенным рельсам! Если рельсы проложены так, что

аварийная ситуация не предусмотрена, произойдет зацикливание или будут иметь место

какие-либо другие непредсказуемые результаты. Тогда, в ряде случаев программы

"зависают", или зацикливаются, как в рассматриваемой ситуации. Выйти из

образовавшегося замкнутого круга можно только принудительным прерыванием работы

программы, например, путем перезагрузки компьютера.

3) О ПРОГРАММЕ, ВЫПОЛНЯЮЩЕЙ ДЕЙСТВИЯ, ПРЕДПИСАННЫЕ

АЛГОРИТМОМ, ГОВОРЯТ, ЧТО ОНА РЕАЛИЗУЕТ ДАННЫЙ АЛГОРИТМ НА ЭВМ.

Следующим шагом после создания алгоритма является написание реализующей его

программы. Основная сложность здесь заключается в том, что программа, как Вы

помните, представляет собой набор двоичных кодов - нулей и единиц. Алгоритм же

формулируется на естественном человеческом языке- русском, английском, немецком,

арабском и.т.д. Понятно, что перевести текст на естественном человеческом языке в набор

цифр чрезвычайно сложно:

В связи с этим в данный процесс вводится промежуточный этап - разработка текста

программы:

ЯЗЫК ПРОГРАММИРОВАНИЯ- ИСКУССТВЕННЫЙ ЯЗЫК, ЯВЛЯЮЩИЙСЯ

ПРОМЕЖУТОЧНЫМ ПРИ ПЕРЕХОДЕ ОТ ЕСТЕСТВЕННОГО ЧЕЛОВЕЧЕСКОГО

ЯЗЫКА К МАШИННЫМ ДВОИЧНЫМ КОДАМ. ЯЗЫКИ ПРОГРАММИРОВАНИЯ

БЫВАЮТ ВЫСОКОГО И НИЗКОГО УРОВНЕЙ. ЯЗЫКИ ПРОГРАММИРОВАНИЯ

ВЫСОКОГО УРОВНЯ (как видно из схемы) ЯВЛЯЮТСЯ БОЛЕЕ БЛИЗКИМИ К

ЕСТЕСТВЕННОМУ ЧЕЛОВЕЧЕСКОМУ ЯЗЫКУ ПО СРАВНЕНИЮ С ЯЗЫКАМИ

ПРОГРАММИРОВАНИЯ НИЗКОГО УРОВНЯ. СОЗДАНИЕ ТЕКСТА ПРОГРАММЫ НА

ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ВЫПОЛНЯЕТСЯ ЧЕЛОВЕКОМ ВРУЧНУЮ, А

ПЕРЕВОД ТЕКСТА ПРОГРАММЫ В МАШИННЫЕ ДВОИЧНЫЕ КОДЫ -

ТРАНСЛЯЦИЯ (англ.translation - перевод) ВЫПОЛНЯЕТСЯ СПЕЦИАЛЬНЫМИ

ПРОГРАММАМИ- ТРАНСЛЯТОРАМИ.

Программирование на языках высокого уровня, очевидно, проще, чем на языках низкого

уровня. Оно не требует глубоких знаний устройства компьютера и поэтому вполне

доступно людям, не являющимися специалистами в вычислительной технике. Однако,

программы, написанные на языках низкого уровня, как правило, отличаются более

высокой скоростью работы, меньшим объемом и более полным использованием ресурсов

вычислительной техники.

К ЯЗЫКАМ ВЫСОКОГО УРОВНЯ ОТНОСЯТСЯ: ФОРТРАН, БЕЙСИК, ПАСКАЛЬ, СИ,

АЛГОЛ, АЛМИР, АДА, СИ++, DELPHI, JAVA и сотни других.

Старейшим языком программирования высокого уровня является ФОРТРАН (англ.

FORmula TRANslation, перевод формул). Он был создан группой программистов

американской фирмы IBM под руководством Джона Бекуса в 1957 году. Несколько позже

в Европе был разработан язык АЛГОЛ (англ.ALGOrythmic Language, алгоритмический

язык). Эти языки послужили основой для других новых языков программирования. Так,

язык БЕЙСИК (англ. basic, базовый, или Beginner's All-purpose Symbolic Instruction Code,

многоцелевой язык символических команд для начинающих) был создан Джоном Кемени

в США в 1965 году. Он представляет собой упрощенную версию ФОРТРАНА, который

оказался сложным для большинства пользователей из-за своей избыточности. Язык

АЛГОЛ послужил основой для не менее популярного языка ПАСКАЛЯ, созданного в

1969 году швейцарским математиком Никласом Виртом. ПАСКАЛЬ не сложнее Бейсика,

но в него изначально были заложены более широкие возможности. Дальнейшее развитие

язык ПАСКАЛЬ получил в виде системы программирования DELPHI. На Украине в 1965

году на базе АЛГОЛА был создан язык АЛМИР, отличавшийся использованием

символики на основе русского, а не английского языка. Этот язык считается первым в

мире языком программирования на основе национального языка (Native Language).

Язык СИ, в котором использованы элементы ПАСКАЛЯ, был создан в 1972 году в

американской фирме Bell Laboratories под руководством Дениса Ритчи. Название языка

СИ связано с тем, что наиболее удачной оказалась его третья версия (СИ- третья буква

английского алфавита). СИ считается наиболее эффективным среди языков

программирования высокого уровня. С одной стороны он не намного сложнее ПАСКАЛЯ

или ФОРТРАНА, но с другой обладает возможностями, присущими языкам

программирования низкого уровня. Поэтому СИ иногда называют языком

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

программ, так и при разработке системных. Дальнейшим развитием языка СИ стали языки

СИ++ и JAVA.

К ЯЗЫКАМ НИЗКОГО УРОВНЯ ОТНОЯТСЯ АССЕМБЛЕР И АВТОКОД. Ассемблер,

как язык низкого уровня, фактически состоит из набора команд данной машины,

записанных в виде сокращений на английском языке. Автокод- вариант ассемблера на

основе русского языка.

Программы трансляторы бывают двух типов:

ИНТЕРПРЕТАТОРЫ ТРАНСЛИРУЮТ ТЕКСТ ПРОГРАММЫ И СРАЗУ ЖЕ

ВЫПОЛНЯЮТ ПРЕДПИСАННЫЕ В НЕМ ДЕЙСТВИЯ, НЕ СОЗДАВАЯ.ЕХЕ-ФАЙЛ.

КОМПИЛЯТОРЫ ТРАНСЛИРУЮТ ТЕКСТ ПРОГРАММЫ И СОЗДАЮТ ГОТОВУЮ К

ИСПОЛНЕНИЮ ПРОГРАММУ В ВИДЕ.ЕХЕ-ФАЙЛА, КОТОРЫЙ МОЖНО БУДЕТ

ПОСЛЕ ЗАПУСТИТЬ НА ИСПОЛНЕНИЕ.

4) ОТЛАДКА ПРОГРАММЫ - ИСПРАВЛЕНИЕ В НЕЙ ОШИБОК И ТЩАТЕЛЬНОЕ ЕЕ

ТЕСТИРОВАНИЕ.

При тестировании программы важно проверить ее работоспособность как можно в

большем числе ситуаций, напрмер, при различных вариантах исходных данных. Бывает,

что в 1000 случаях программа сработает нормально, а на 1001-й раз обнаружится ошибка.

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

фирмы-разработчики часто распространяют их пробные версии (бета-версии) среди как

можно большего числа пользователей, которые сообщают в фирму об обнаруженных

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

Если Вы освоили весь вышеизложенный материал, то можете сдавть тест N3. Желаем

удачи!

ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА:

1. Вебер Р. Конфигурирование ПК на процессорах Pentium. Пер. с нем.- М.: Мир, 1996.-

256с.

2. Вершинин О.Е. Компьютер для менеджера: Учеб.пособие для экон. спец. вузов.- М.:

Высш.школа, 1990.-240с.

3. Дьяконов В.П. Windows 95 на вашем компьютере. -Смоленск: Русич, 1997.-528с.

4. Кирсанов Д. Понятный Интернет: Практическое пособие по настройке и навигации с

Netscape Navigator. - СПб: Символ-Плюс, 1996. -252с.

5. Кенин А.М., Печенкина Н.С. Окно в мир компьютеров: Научно-популярное издание. -

Екатеринбург: Тезис, 1994. -400с.

6. Крайзмер Л.П., Кулик Б.А. Персональный компьютер на вашем рабочем месте. - СПб.:

Лениздат, 1991. -286с.

7. Ратч Э. IBM AT. Руководство для начинающих. Справ. пособие. -М.: Радио и связь,

1993. -160с.

8. Тимофеев А.В. Информатика и компьютерный интеллект. -М.: Педагогика, 1991.- 128с.

9. Фигурнов В.Э. IBM PC для пользователя. Изд. 6-е, перераб. и доп. -М.: ИНФРА-М,

1996.- 432с.

10. Яцкевич Ю.Э. Сети ЭВМ: Учеб.пособие. - СПб: Изд-во СПбГТУ, 1995. -125с.__

<== предыдущая лекция | следующая лекция ==>
 | Ощущения
Поделиться с друзьями:


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


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



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




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