● Ассемблер — транслятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке.
Этапы трансляции.
12)Этапы трансляции
компиляция[высокий уровень – низкий уровень] – трансляция[низкий уровень – машинный код] – исполнение
Компиляция – преобразование кода в машинный язык
Интерпретация – процесс чтения и выполнения кода
Виртуальные машины, джитеры, байт-код.
13)Виртуальная машина – программа, симулирующая запуск на компьютере какой-либо ОС (при том, что на компьютере уже загружена основная ОС)
Джиттеры (фазовое дрожание цифрового сигнала данных) – нежелательные отклонения характеристик передаваемого сигнала
Байт-код – код низкого уровня, генерируемый транслятором, аналог машинного кода для виртуальной машины
Понятия архитектуры компьютеров. Архитектура фон Неймана.
14)Архитектура компьютера – это ее логическая организация, структура и ресурсы, которые может использовать программист; набор типов данных, операций и характеристик для каждого уровня компьютера
Программа для ЭВМ простыми словами
Архитектура фон Неймана – принцип устройства компьютера, в котором и программа, и данные хранятся в единой универсальной памяти
Архитектура — принцип устройства компьютера, который подразумевает хранение данных и инструкций в одной памяти; принципы действия и взаимосвязи основных устройств компьютера: процессора, ОЗУ, внешних устройств
Принципы Джона фон Неймана: Принцип двоичного кодирования
Согласно этому принципу, вся информация, поступающая в ЭВМ, кодируется с помощью двоичных сигналов.
Принцип программного управления
Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Принцип однородности памяти и хранимой программы
Программы и данные хранятся в одной и той же памяти. Поэтому ЭВМ не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.
Принцип адресности
Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.
Отсюда следует возможность давать имена областям памяти, так, чтобы к запомненным в них значениям можно было бы впоследствии обращаться или менять их в процессе выполнения программы с использованием присвоенных имен.
Согласно фон Нейману, ЭВМ состоит из следующих основных блоков:
Устройства ввода/вывода информации
Основная память компьютера
Внешняя память компьютера
Процессор, состоящий из устройства управления (УУ) и арифметико-логического устройства (АЛУ)
Понятие программного обеспечения. Классификация программного обеспечения.
15)Программное обеспечение – программы системы обработки информации и документы, необходимые для эксплуатации этих программ. Классификация:
Теоретический уровень: Теория алгоритмов, Логика, Теория графов, Теория игр
Регистрация программы для ЭВМ: основные правила.
Практический уровень: Интерфейсы, Вспомогательные команды, Системы программирования, Прикладные программные продукты
Классификация системного ПО. BIOS, CMOS.
16)Системное программное обеспечение. Классификация:
Базовое ПО: ОС, операционные оболочки(интерфейс для взаимод с ОС); Встроенные программы; Утилиты – программы, предназначенные для решения узкого круга задач (например, архиваторы, утилиты безопасности(антивирусы и пр.) и тд); Системы программирования – программы для разработки программного обеспечения; Системы управления базами данных
BIOS (базовая система ввода-вывода)– набор подпрограмм, предназначенный для работы с аппаратной частью компьютера
CMOS – набор технологий построения интегральных микросхем
Дата добавления: 2019-02-26 ; просмотров: 926 ; Мы поможем в написании вашей работы!
Источник: studopedia.net
Этапы решения задач на ЭВМ
1. Немнюгин С.А. Turbo Pascal : Программирование на языке высокого
уровня : учебник для вузов / С. А. Немнюгин — 2-е изд. — СПб. :
Питер, 2007. — 543 c.
2. Крылов Е.В. Техника разработки программ : учебник для вузов :
В 2-х книгах. Кн.1 : Программирование на языке высокого уровня /
Е. В. Крылов, В. А. Острейковский, Н. Г. Типикин ; Крылов Е.В.,
Острейковский В.А., Типикин Н.Г. — Москва : Высшая школа, 2007. 376 c.
3. Парфилова Н.И. Программирование. Структурирование программ и
данных : учебник для студ. учреждений высш. проф. образования /
Н.И. Парфилова, А.Н. Пылькин, Б.Г. Трусов ; под ред. Б.Г.
Трусова.
— М. : Издательский центр «Академия», 2012. — 240 с. — (Сер.
Бакалавриат).
4. http://ru.wikibooks.org/wiki/Основы_функционального_программиров
ания/Вводная_лекция
3. Этапы решения задачи с помощью средств ВТ
1. Разработка технического
задания (постановка задачи на
содержательном уровне)
2. Формализация задачи
(построение математической
модели)
3. Выбор (разработка) метода
решения задачи
4. Разработка алгоритма
(алгоритмизация)
5. Выбор языка/системы
программирования
4. Этапы решения задачи с помощью средств ВТ
6. Разработка программы
(программирование)
7. Отладка и тестирование
программы
8. Оптимизация программы
9. Документирование программы
10. Вычисление и обработка
результатов
5. 1. Постановка задачи
• Содержательный анализ существа задачи.
• Изучение общих свойств рассматриваемого
физического явления или объекта.
Определение конечной цели и результатов работы.
Анализ известной информации и определение
исходных данных.
Выработка общего подхода к исследуемой проблеме
(выяснение, существует ли решение поставленной
задачи и единственно ли оно);
Анализ возможностей используемой вычислительной
среды.
6. 2. Формализация задачи
• Формализация задачи сводится к построению
математической модели рассматриваемого объекта,
явления или процесса, когда в результате
предыдущего анализа существа решаемой задачи
устанавливается её принадлежность к одному из
известных классов задач и выбирается
соответствующий математический аппарат,
определяется формат исходных данных и результатов
работы, вводится определенная система условных
обозначений.
7. 2. Формализация задачи
Математическая модель —
это система математических соотношений,
учитывающих наиболее существенные
взаимосвязи в изучаемом классе
объектов/явлений и их свойства,
в совокупности с определенной областью
допустимых значений исходных данных и
областью допустимых значений искомых
результатов.
8. 3. Выбор метода решения задачи
После математической постановки задачи отвлекаются
от её предметной сущности и оперируют с
абстрактными математическими понятиями,
величинами, формулами.
9. 3. Выбор метода решения задачи
При выборе метода надо учитывать:
1. характеристики самого метода, сложность формул и
соотношений, связанных с этим методом;
2. необходимую точность вычислений.
10. 4. Разработка алгоритма
• Процесс алгоритмизации — это отдельный этап,
которому придаётся особая значимость.
• Именно на этом этапе осуществляется процесс
разработки структуры алгоритма, реализующего
выбранный метод решения, и осуществляется запись
«придуманной» структуры на языке, «понятном»
самому разработчику.
11. 4. Разработка алгоритма
• Можно использовать различные способы описания
алгоритмов, отличающиеся по простоте и
наглядности.
• В практике программирования наибольшее
распространение получили:
1) словесная запись алгоритмов;
2) схемы алгоритмов (блок-схемы);
3) структурограммы (диаграммы Насси —
Шнейдермана).
12. 4. Разработка алгоритма
Построение алгоритма включает:
• разложение вычислительного процесса решения
задачи на возможные составные части;
• установление порядка их следования;
• описание содержания каждой такой части в той или
иной форме;
• последующей проверке, которая должна показать,
обеспечивается ли реализация выбранного метода.
13. 4. Разработка алгоритма
• В процессе разработки алгоритм проходит несколько
этапов детализации.
• Первоначально составляется укрупненная схема
алгоритма, в которой отражаются наиболее важные и
существенные связи между исследуемыми
процессами (или частями процесса).
• Ориентируясь на крупноблочную структуру алгоритма,
можно быстрее и проще разработать несколько
различных его вариантов провести их анализ, оценку и
выбрать наилучший (оптимальный).
14. 4. Разработка алгоритма
• Каждый элемент крупноблочной схемы алгоритма
должен быть максимально самостоятельным и
логически завершённым в такой степени, чтобы
дальнейшую его детализацию можно было выполнять
независимо от детализации остальных элементов.
15. 4. Разработка алгоритма
• На последующих этапах детализируются
выделенные на предыдущих этапах части
вычислительного процесса, имеющие некоторое
самостоятельное значение.
• На каждом этапе детализации выполняется
многократная проверка и исправление схемы
алгоритма.
• Подобный подход позволяет во многом избежать
возможных ошибочных решений.
16. 5. Выбор языка/системы программирования
Язык программирования — язык,
предназначенный для представления
программ (ГОСТ 28397-89)
Низкого уровня
учитывает архитектуру
процессора,
например, Ассемблер
Высокого уровня
не учитывает архитектуру
процессора, например:
Паскаль; Бейсик; Си
17. 5. Выбор языка/системы программирования
• Система программирования – комплекс средств,
предназначенных для создания и эксплуатации программ
на конкретном языке программирования на
ЭВМ определенного типа.
• Примеры: Turbo Pascal; Pascal ABC; Delphi; C++ Builder и др.
• Системы программирования включают в себя:
текстовый редактор;
транслятор;
набор библиотек;
отладчик и др.
18. 5. Выбор языка/системы программирования
• Примером интегрированной среды разработки
программного обеспечения, предназначенной для
написания консольных приложений, приложений с
графическим интерфейсом пользователя, веб-сайтов,
веб-приложений, веб-служб и др., является
Microsoft Visual Studio.
• Microsoft Visual Studio включает в себя один или
несколько компонентов: Visual Basic .Net; Visual C++;
Visual C#; Visual F# и др. Это позволяет разработчику
выбрать наиболее удобную систему программирования
для реализации определённого этапа работы.
19. 5. Выбор языка/системы программирования
Выбор языка/системы программирования определяется
следующими факторами:
• типом решаемой задачи;
• располагаемыми вычислительными средствами;
• вкусами и знаниями заказчика и разработчика.
20. 6. Разработка программы
Процесс программирования –
(в широком смысле) процесс создания программ;
(в узком смысле) процесс кодирования на одном
из языков программирования.
21. 6. Разработка программы
• Программа, написанная на языке высокого уровня
(исходный код), проходит этап трансляции –
преобразования в машинный код.
Трансляция
Компиляция
трансляция всей
программы без её
выполнения
Интерпретация
пооператорный
анализ и выполнение
программы
22. 6. Разработка программы
компилятор
Исходный
текст
программы
Загрузка программы
из exe-файла в
память машины для
её выполнения
осуществляется
служебной
программой –
загрузчиком.
компоновщик
Объектный
код
Машинный
код
промежуточное состояние
программы в
относительных адресах с
неразрешёнными
внешними ссылками и
использованием всей
логической структуры
программы
абсолютный/
загрузочный код
с абсолютной
адресацией
машинных команд,
может быть сохранен
в exe-файле и
выполнен
23. 6. Разработка программы
• Интерпретатор сразу производит анализ, перевод в
машинный код и выполнение программы строка за
строкой.
• Поэтому интерпретатор должен находиться в
оперативной памяти в течение всего времени
выполнения программы пользователя.
• При интерпретации скорость выполнения программы
существенно снижается, однако весь процесс
прохождения программы на ЭВМ упрощается и
имеется возможность организации диалогового
(интерактивного) режима отладки и выполнения
программы.
24. 7. Отладка и тестирование программы
• Отладка программы – это процесс поиска и
устранения ошибок.
• Часть ошибок формального характера, связанных с
нарушением правил записи конструкций языка или
отсутствием необходимых описаний, обнаруживает
транслятор, производя синтаксический анализ текста
программы. Транслятор выявляет ошибки и сообщает
о них, указывая их тип и место в программе. Такие
ошибки называются синтаксическими.
25. 7. Отладка и тестирование программы
26. 7. Отладка и тестирование программы
• Программа, не имеющая синтаксических и
семантических ошибок, может не дать верных
результатов из-за логических ошибок в алгоритме.
• Ошибки подобного рода могут возникнуть на этапе
постановки задачи, разработки математической
модели, разработки алгоритма.
27. 7. Отладка и тестирование программы
Рассмотрим программу
вычисления значения
функции f(x) при целом x.
3 x , x < 2
9/x , 2 x 2, x 0
f x =
12, x 0
sin x, x > 2
var x: integer; f: real;
Синтаксическая ошибка
begin
writeln (‘Введите целое х);
writeln (‘Введите целое х’)
then
readln (x);
if x if (x>=-2) and (x <=2) then f:=9/x else
деление на 0 при x=0
f:=sin(x);
Семантическая ошибка
writeln (‘f(‘,x,’)=’,f:6:2);
end.
Логическая ошибка
28. 7. Отладка и тестирование программы
Тестирование программы — это выполнение
программы на наборах исходных данных
(тестах), для которых известны результаты,
полученные другим методом.
29. 7. Отладка и тестирование программы
Правила выбора
системы тестов
Проверка всех
возможных
режимов работы
программы
Локализация
ошибки
30. 7. Отладка и тестирование программы
При тестировании программы простой и действенный
метод дополнительного контроля над ходом её
выполнения — получение контрольных точек, т.е.
контрольный вывод промежуточных результатов.
31. 8. Оптимизация программы
Оптимизация программы – это её
модификация с целью повышения
эффективности работы.
• Для оптимизации требуется найти критическую
часть кода, которая является основным
потребителем необходимого ресурса.
• Для поиска узких мест используются специальные
программы — профайлеры.
32. 9. Документирование программы
• Главная цель документации состоит в том, чтобы
помочь стороннему пользователю понять и
использовать программу.
Виды
документации
Внешняя
Программная
33. 9. Документирование программы
• Внешняя документация представляет собой
сведения о программе, не содержащиеся в самой
программе.
• В зависимости от размеров и сложности программы
внешняя документация может принимать различные
формы:
схемы или словесные описания алгоритмов;
инструкции для пользователей;
образцы входных и выходных данных;
полное описание процесса построения программы;
ссылки на источники информации и др.
34. 9. Документирование программы
• Программная документация реализуется с помощью
комментариев (в начале программы – в виде
заголовка и вводных комментариев; поясняющих —
внутри текста программы), а также рационального
выбора имён, применения стандартных методов
структурирования программ.
35. 10. Вычисления и обработка результатов
• Только после того как появится уверенность, что
программа обеспечивает получение правильных
результатов, можно приступать непосредственно к
расчётам.
• После завершения расчётов полученные результаты
используются в практической деятельности.
Источник: ppt-online.org
Этапы решения задачи на ЭВМ
Задача, которую предстоит решить программисту на ЭВМ, формулируется им самим или выдается ему в виде специального задания на разработку программы. Задание содержит формулировку задачи, необходимые характеристики разрабатываемой программы, требования к взаимодействию с ней. Выдаче такого задания для крупных задач может предшествовать большая работа научно-исследовательского характера.
Задание на разработку программы по форме и характеру должно быть аналогично техническому заданию на разработку какого-либо технического продукта.
Техническое задание полезно и в том случае, когда заказчик и исполнитель работают в одной и той же комнате или даже являются одним и тем же лицом. Наличие четкой письменной формулировки будет препятствовать подмене или отходу в процессе разработки программы от сформулированных в ТЗ требований в угоду каким-то другим побочным целям. Кроме того, письменно сформулированное задание делает возможным обсуждение, оценку или согласованную с заказчиками корректировку отдельных требований ТЗ в ходе разработки программы, ТЗ препятствует проникновению в программу таких ошибок и противоречий, которые могут быть обнаружены только после разработки большей части программы или уже на стадии анализа полученных результатов счета. Чем более формализованным по характеру будет техническое задание, тем больше шансов, что разрабатываемая программа будет решать именно ту задачу, которую имел ввиду заказчик.
Техническое задание должно содержать также требования или указания, касающиеся принципов проверки и испытаний готовой программы.
2. Составление проекта.
На основании анализа технического задания программист выбирает основной метод решения задачи, составляет общий проект программы. Выбранный подход к решению задачи должен обеспечивать правильные результаты для тех условий функционирования программы, которые определены ТЗ, гарантировать требуемую скорость работы, предусматривать удобство использования программы и т.п.
В проекте, помимо формулировки выбранного общего метода решения задачи, характеризуются основные части проектируемой программы, их функции, взаимосвязь и последовательность выполнения, а также точно определяются входные данные и выдаваемые результаты как всей программы, так и основных ее частей. Поскольку каждая разрабатываемая программа, как правило, используется в дальнейшем не только ее автором, но и другими программистами. Составляется и проект инструкции для пользователей, в которой фиксируется предполагаемый режим общения пользователя с программой.
Для очень простых задач проектирование может производиться программистом мысленно, без фиксации на бумаге. Наоборот, очень сложные задачи могут потребовать нескольких этапов проектирования: предэскизное, эскизное, техническое – по аналогии с инженерным проектированием.
При разработке алгоритма необходимо учитывать ресурсы используемой ЭВМ и возможности применяемой для решения задачи операционной системы. Алгоритмы для несложных задач, требования которых к ресурсам невелики, являются обычно машинно-независимыми.
В ходе разработки общего алгоритма используется некоторый специальный язык, который по своему характеру является промежуточным, переходным между неформальным, словесным способом изложения метода решения задачи на этапе 2 и формальным алгоритмическим языком для программирования на этапе 4. Промежуточный язык должен сочетать в себе, с одной стороны, наглядность для отображения содержания и смысла выполняемых в алгоритме действий и, с другой стороны, формализм для указания конкретных операций и последовательности их выполнения.
В качестве такого промежуточного языка обычно используют блок-схемы, которые позволяют наиболее наглядно представить логическую структуру разрабатываемой программы, взаимосвязь отдельных частей программы, условия или кратность выполнения таких частей. Для отображения вычислительной стороны программы используются обычные математические средства или элементы алгоритмических языков, а в самых общих блок-схемах – просто словесная формулировка; иногда используются и все эти способы вместе.
Для достаточно сложных программ алгоритмизация проводится в несколько шагов с целью постепенной детализации алгоритма. Критерием окончания детализации при этом является то, что для каждого оператора в полученном на очередном шаге алгоритме программист уже имеет четкое и конкретное мысленное представление о том, как этот оператор алгоритма может быть выражен средствами выбранного языка программирования на этапе 4. Для простых задач обычно разрабатывают блок-схемы на двух уровнях: общая блок-схема программы и блок-схемы отдельных частей программы.
После последнего шага детализации алгоритма проводится проверка полученного алгоритма для выявления допущенных ошибок. Методы контроля алгоритма аналогичны некоторым методам контроля программы.
В ходе разработки алгоритма, возможно, придется уточнять или изменять решения, принятые на этапе 2, и в этом случае такие изменения обязательно вносятся в проект, который всегда должен соответствовать разрабатываемому алгоритму.
Информация о работе «Программное обеспечение управления автоматизированным комплексом многоканальной связи»
Источник: kazedu.com