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

Содержание

Слайд 2

1. Этапы реализации задачи на ЭВМ: 1. Содержательная постановка задачи 2.

1. Этапы реализации задачи на ЭВМ:

1. Содержательная постановка задачи
2. Математическая постановка

задачи
3. Формализация математической постановки
4. Разработка алгоритма решения задачи
5. Разработка ПО, реализующего алгоритм
6. Отладка ПО
7. Тестирование ПО и анализ результатов
8. Проведение доработок по итогам тестирования
9. Разработка технической документации для пользователей
10.Сдача в эксплуатацию.
Слайд 3

Формализация задачи состоит в том, чтобы построить математическую модель, т. е

Формализация задачи состоит в том, чтобы построить математическую модель, т. е

перейти oт содержательной постановки задачи к ее строгому формальному описанию. В процессе формализации реальным объектам присваиваются математические наименования, а связи между ними описываются математическими зависимостями.
Слайд 4

Разработка алгоритма решения задачи предполагает с помощью математической модели определить и

Разработка алгоритма решения задачи предполагает с помощью математической модели определить и

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

Программирование на алгоритмическом языке необходимо для ввода алгоритма в память ПЭВМ.

Программирование на алгоритмическом языке необходимо для ввода алгоритма в память ПЭВМ.
Трансляция

программы - преобразование программы с алгоритмического языка на язык машины.
Отладка программы заключается в проверке ее работоспособности. В процессе отладки задача с контрольными данными решается на ПЭВМ.

8A 16 4A 00 10001010 00010110 01001010 00000000
FE CA 11111110 11001010

Слайд 6

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

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

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

Проблема

Нахождение
пути
решения

Программа

Решение

Данные

Машина

Слайд 7

Три компонента системы программирования: 1. язык программирования, 2. транслятор (интерпретатор или

Три компонента системы программирования:
1. язык программирования,
2. транслятор (интерпретатор или компилятор),
3. библиотека

программ.

2. Система программирования ПЭВМ.

Слайд 8

2. Система программирования ПЭВМ. На начальном этапе развития вычислительной техники программирование

2. Система программирования ПЭВМ.

На начальном этапе развития вычислительной техники программирование осуществлялось

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

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

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

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

Языки Ассемблера

С
О
З
Д
А
Н
И
Е

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

Слайд 10

Далее появились языки высокого уровня. Команды языка высокого уровня - слова

Далее появились языки высокого уровня. Команды языка высокого уровня - слова

естественного языка, что упрощает работу программиста.
Чтобы вычислительная машина могла выполнить программу, написанную на каком-либо языке программирования, в её программном обеспечении должна быть программа - транслятор для этого языка.
Транслятор превращает программу в исполняемый файл
Слайд 11

Трансляторы бывают двух типов: интерпретаторы компиляторы Интерпретатор - переводит каждую команду

Трансляторы бывают двух типов:
интерпретаторы
компиляторы
Интерпретатор - переводит каждую команду программы

с одновременным её выполнением и, если обнаруживает ошибку, сообщает о ней и прекращает выполнение программы.
Компилятор - переводит всю программу целиком и в конце работы выдаёт список ошибок, если они обнаружены.
Слайд 12

Система программирования это система автоматизации программирования, образуемая языками программирования, компиляторами и

Система программирования это система автоматизации программирования, образуемая языками программирования, компиляторами и

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

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

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

доступный компьютеру.

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

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

Слайд 14

Системы программирования: 1. машинно-ориентированные 2. алгоритмические 3. проблемно-ориентированные 4. универсальные 5. ЯП для создания ПО

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

1. машинно-ориентированные
2. алгоритмические
3. проблемно-ориентированные
4. универсальные
5. ЯП для создания ПО

Слайд 15

Программирование появилось задолго до появления не только первых персональных ЭВМ, но

Программирование появилось задолго до появления не только первых персональных ЭВМ, но

вообще ЭВМ. (Программы леди Ады Августы Лавлейс для аналитической вычислительной машины Бэббиджа).
Языком программирования ЭВМ первого поколения был язык машинных кодов (язык низкого уровня). Во втором поколении появились языки высокого уровня. Команды языка высокого уровня - слова естественного языка, что упрощает работу программиста.

3. Назначение языков программирования

Слайд 16

Запись текста программы на языке программирования называют кодированием, а отладка программы - тестированием.

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

- тестированием.
Слайд 17

Языки программирования Язык C - это самый распространённый язык программирования. На

Языки программирования
Язык C - это самый распространённый язык программирования. На

нём написано больше программ, чем на любом другом. Подавляющее большинство профессиональных программистов владеют им. Исторически этот язык неотделим от операционной системы UNIX , которая в наши дни переживает своё второе рождение. 60-е годы были эпохой становления операционных систем и языков программирования высокого уровня. Язык с самого начала создавался так, чтобы на нём можно было писать системные задачи. Разработчики языка - Кеннет Томсон и Деннис Ричи.
Слайд 18

Языки программирования Основные концепции языка Pascal были разработаны в 1967 г.

Языки программирования
Основные концепции языка Pascal были разработаны в 1967 г.

профессором Николаусом Виртом, и он быстро превратился из средства для обучения студентов программированию в инструмент для создания новых программных проектов. Язык назван в честь французского учёного Блеза Паскаля, внесшего вклад в развитие средств вычислительной техники.
Слайд 19

Языки программирования Delphi - это ни что иное, как Visual Pascal.

Языки программирования
Delphi - это ни что иное, как Visual Pascal.

Эта среда программирования простая и удобная и содержит большую библиотеку готовых компонентов: кнопок, панелей, списков, таймеров, изображений и т.д.
Basic - это один из самых старых языков программирования. Его создатели - Джон Кемени и Том Куртц, работавшие в Дортмундском колледже в 1964 году. Свой язык они назвали по первым буквам слов «Beginner’s All Purpose Symbolic Instructions Code». Интерпретатор Basic был первым программным продуктом фирмы Microsoft, основанной Полом Аленом и Уильямом Гейтсом в 1975 году. В дальнейшем он не только поставлялся как программа, но и зашивался в ПЗУ компьютеров.
В середине 80 - годов фирма Microsoft разработала QuickBasic. Это был уже компилятор, а не интерпретатор. Вообще Basic’ов несколько сотен. После появления Windows и визуальных средств разработки программ был создан Visual Basic.
Слайд 20

Языки программирования FORTRAN - старейший язык программирования. В начале 50-х годов

Языки программирования
FORTRAN - старейший язык программирования. В начале 50-х годов

он был разработан исследовательской группой под руководством Джона Бэкуса. Его название происходит от 2-х слов: FORMULA TRANSLATION. Первая версия системы FORTRAN для компьютера IBM была выпущена в начале 1957 г.
ALGOL – это также старейший язык программирования, универсальный язык программирования общего назначения. Его название происходи от 2-х слов: ALGORITMIC LANGUAGE. Он был разработан международной рабочей группой, состоящей из 30 человек в 1969 г. Язык очень стройный и изящный благодаря тому, что он основан на принципе ортогональности, согласно которому язык должен по возможности состоять из независимых элементов, свободно комбинирующихся друг с другом. Один из активных разработчиков ALGOL-68 - Чарльз Линдси.
Слайд 21

Языки программирования ADA - язык программирования, который по сложности сравнивают с

Языки программирования
ADA - язык программирования, который по сложности сравнивают с

С++. Назван в честь леди Ады Августы Лавлейс, работавшей вместе с Чарльзом Беббиджем и разрабатывавшей программы для его «аналитической машины». Разработан язык группой под руководством в 1979 г. Жана Ишбиа в рамках конкурса, объявленного Министерством Обороны США. Мода на объектно-ориентированное программирование привела к созданию новой принципиально его версии ADA95.
Слайд 22

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

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

совокупности можно определить термином “технологические средства”.

4. Технологии программирования

Слайд 23

Модульность - это принцип программирования, состоящий в том, что большие и

Модульность - это принцип программирования, состоящий в том, что большие и

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

Принцип модульности

Слайд 24

Стратегия проектирования определяет "направление движения" программиста от исходной постановки задачи к

Стратегия проектирования определяет "направление движения" программиста от исходной постановки задачи к

конечной цели - программе решения этой задачи. Различают две стратегии: нисходящее проектирование (сверху вниз) и восходящее (снизу вверх). В основе обеих стратегий лежит принцип модульности.

Стратегии проектирования

Слайд 25

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

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

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

Стратегии проектирования

Слайд 26

Восходящее проектирование состоит в том, что за основу проекта берутся какие-то

Восходящее проектирование состоит в том, что за основу проекта берутся какие-то

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

Стратегии проектирования

Слайд 27

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

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

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

Метод структурного программирования