Слайд 1
Основы алгоритмизации и программирования
Слайд 24.1. Принципы организации ЭВМ
В основу построения подавляющего большинства ЭВМ положены следующие
общие принципы, сформулированные в 1945 г. Джоном фон Нейманом:
Принцип функциональной специализации. Универсальная ЭВМ состоит из следующих основных блоков:
устройства ввода/вывода информации;
память;
процессор, состоящий из
устройства управления (УУ)
и арифметико-логического устройства (АЛУ).
Принцип двоичного кодирования. Вся информация, поступающая в ЭВМ, кодируется с помощью двоичных сигналов.
Принцип программного управления. Программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти
Принцип адресности. Память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.
Слайд 3Арифметико-логическое устройство
Устройство управления
Внешние устройства
Память
4.2. Архитектура ЭВМ.
управление
данные
Слайд 44.3. Понятие алгоритма
Алгоритм это точное предписание, которое определяет процесс, ведущий от
исходных данных к требуемому конечному результату.
Основные свойства алгоритма:
Результативность - означает возможность получения результата после выполнения конечного количества операций
Определенность - состоит в совпадении получаемых результатов для одинаковых исходных данных у разных исполнителей
Массовость - заключается в возможности применения алгоритма к целому классу однотипных задач, различающихся конкретными значениями исходных данных
Слайд 54.4. Способы описания алгоритмов
Основными способами описания алгоритмов являются следующие:
Словесно-формульный. Алгоритм
записывается в виде текста с формулами по пунктам, определяющим последовательность действий;
Блок-схемный. Алгоритм изображается геометрическими фигурами (блоками), связанными по управлению линиями (направлениями потока) со стрелками. В блоках записывается последовательность действий;
Слайд 6Пример. Словесно-формульный способ.
Необходимо описать алгоритм решения квадратного уравнения.
Словесно-формульным способом алгоритм
решения этой задачи может быть записан в следующем виде:
1. Ввести значения а, b, c
2. Найти дискриминант
3. Если D<0, то выдать результат «нет решения», перейти к п.6
4. Вычислить
5. Выдать результат: «Решение уравнения: x1,2»
6. Завершить решение
Слайд 7Блок-схемный способ
ГОСТ 10.002-80 ЕСПД, ГОСТ 10.003-80 ЕСПД.
Операции обработки данных и носители
информации изображаются на схеме соответствующими блоками.
Линии, соединяющие блоки и указывающие последовательность связей между ними, должны проводится параллельно линиям рамки листа.
Блок-схему алгоритма следует выполнять как единое целое, однако в случае необходимости допускается обрывать линии, соединяющие блоки, при этом следует использовать специальные блоки-соединители.
Блок-схема должна полностью определять ход решения задачи и учитывать все возможные исходы проверки логических условий содержащихся в программе.
Слайд 8Основные элементы блок-схем.
Большая часть блоков по построению условно вписана в прямоугольник
со сторонами а и b. Минимальное значение а равно 10 мм, увеличение а производится на число, кратное 5 мм. Размер b=1,5а.
Для отдельных блоков допускается соотношение между а и b, равное 1:2.
Блок «Процесс»
Выполнение операции или группы операции, в результате которых изменяется значение, форма представления или расположение данных.
Слайд 9
Блок «Ввод-вывод»
Преобразование данных в форму, пригодную для обработки (ввод) или отображения
результатов обработки (вывод).
Блок «Проверка условия»
Выбор направления выполнения алгоритма в зависимости от некоторых переменных условий.
Слайд 10Блок «Предопределенный процесс»
Использование ранее созданных и отдельно написанных программ (подпрограмм).
Блок
«Документ»
Вывод данных на бумажный носитель
Слайд 11Блок «Магнитный диск»
Ввод-вывод данных, носителем которых служит магнитный диск.
Блок «Пуск-Останов»
Начало,
конец, прерывание процесса обработки данных.
Слайд 12Блок «Соединитель»
Указание связи между прерванными линиями, соединяющими блоки.
Блок «Межстраничный соединитель»
Указание связи
между прерванными линиями, соединяющими блоки, расположенные на разных листах.
Блок «Комментарий»
Ваши
комментарии
Связь между элементом схемы и пояснением.
Слайд 13Одним из свойств алгоритма является возможность выделения участков программы с определенной
структурой. Можно выделить три простейшие алгоритмические структуры:
• последовательность двух или более операций;
• выбор направления - ветвление;
• повторение участка алгоритма - цикл.
Любой вычислительный процесс может быть представлен как комбинация этих элементарных алгоритмических структур. Соответственно, вычислительные процессы, выполняемые на ЭВМ по заданной программе, можно разделить на три основных вида:
• линейные;
• ветвящиеся;
• циклические.
4.4. Виды структур алгоритмов
Слайд 14Линейный вычислительный процесс
Операции выполняются последовательно, в порядке их записи. Каждая
операция является самостоятельной, независимой от каких-либо условий. На схеме блоки, отображающие эти операции, располагаются в линейной последовательности.
Слайд 15Ветвящийся вычислительный процесс
Имеется несколько направлений (ветвей) процесса. Каждое отдельное направление обработки
данных является отдельной ветвью вычислений. Ветвление в программе — это выбор одной из нескольких последовательностей команд в зависимости от условий.
Слайд 16Циклический вычислительный процесс
Цикл - это многократно повторяемый участок программы.
В организации цикла
можно выделить следующие этапы:
•подготовка (инициализация) цикла (И);
•выполнение вычислений цикла (тело цикла) (Т);
•модификация параметров (М);
•проверка условия окончания цикла (У).
Цикл с пост-
проверкой
Цикл с пред-
проверкой
Слайд 17Пример. Алгоритм вычисления натуральной степени числа.
окончание
начало
нет
да
Математическое выражение
Блок-схема
Таблица значений
Тестовый пример
Слайд 184.5. Этапы подготовки и решения задач на ЭВМ
В процессе подготовки
и решения на ЭВМ научно-инженерных задач можно выделить следующие этапы:
• Постановка задачи;
• Математическое описание задачи;
• Выбор и обоснование метода решения;
• Алгоритмизация вычислительного процесса;
• Составление программы;
• Отладка программы;
• Решение задачи на ЭВМ и анализ результатов.
Слайд 19Постановка задачи
На данном этапе формулируется цель решения задачи и подробно описывается
ее содержание.
Анализируются характер и сущность всех величин, используемых в задаче, и определяются условия, при которых она решается.
Корректность постановки задачи является важным моментом, так как от нее в значительной степени зависят другие этапы.
Слайд 20Математическое описание задачи
Настоящий этап характеризуется математической формализацией задачи, при которой существующие
соотношения между величинами, определяющими результат, выражаются посредством математических формул.
Математическая модель должна удовлетворять по крайней мере двум требованиям: адекватности и реализуемости.
Слайд 21Выбор и обоснование метода решения
Модель решения задачи с учетом ее особенностей
должна быть доведена до решения при помощи конкретных методов решения.
Само по себе математическое описание задачи в большинстве случаев трудно перевести на язык машины.
Выбор и использование метода решения задачи позволяет привести решение задачи к конкретным машинным операциям.
Слайд 22Алгоритмизация вычислительного процесса
На данном этапе составляется алгоритм решения задачи согласно действиям,
задаваемым выбранным методом решения.
Процесс обработки данных разбивается на отдельные относительно самостоятельные блоки, и устанавливается последовательность выполнения блоков.
Разрабатывается блок-схема алгоритма.
Слайд 23Составление программы
При составлении программы алгоритм решения задачи переводится на конкретный язык
программирования.
Для программирования обычно используются языки высокого уровня (Бейсик, Паскаль, Си), поэтому составленная программа требует перевода ее на машинный язык в виде двоичного кода.
После такого перевода на ЭВМ выполняется уже соответствующая машинная программа.
Слайд 24Отладка программы
Отладка заключается в поиске и устранении синтаксических и логических ошибок
в программе.
Для этого используются специальные методы, например, в программе выбираются контрольные точки, для которых предварительно рассчитываются промежуточные результаты.
Эти результаты сверяются со значениями, получаемыми ЭВМ в данных точках при выполнении отлаживаемой программы.
Обнаруженные ошибки устраняются путем внесения изменений на более ранних этапах.
Слайд 25Решение задачи на ЭВМ и анализ результатов
После отладки программы ее можно
использовать для решения прикладной задачи. При этом обычно выполняется многократное решение задачи на ЭВМ для различных наборов исходных данных. Получаемые результаты интерпретируются и анализируются специалистом или пользователем, поставившим задачу.
Слайд 26Программные средства реализации информационных процессов.
Слайд 276.1. Основные понятия и классификация.
Программа (program, routine) - упорядоченная последовательность команд
(инструкций) компьютера для решения задачи.
Программное обеспечение (sowtware) - совокупность программных средств и необходимой для их эксплуатации документации.
Приложение (application) - программная реализация на компьютере решения задачи.
Пакет программ – комплекс взаимосвязанных функционально специализированных программных средств, предназначенных для использования в определенной предметной области.
Программный продукт - комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
Слайд 28Прикладное ПО
Программное обеспечение
Системное ПО
Текстовые процессоры
Табличные процессоры
Системы управления базами данных
Графические редакторы
Автоматизированные
рабочие места
Операционные системы
Операционные оболочки
Драйверы
Утилиты
Антивирусные программы
Служебные программы
Инструментальные системы
Слайд 296.2. Системное программное обеспечение. Назначение, состав.
Системное программное обеспечение (System Software) -
совокупность программ и программных комплексов для обеспечения работы компьютера и сетей ЭВМ.
Системное программное обеспечение направлено:
на создание операционной среды функционирования других программ;
на обеспечение надежной и эффективной работы самого компьютера и вычислительной сети;
на проведение диагностики и профилактики аппаратуры компьютера и вычислительных сетей;
на выполнение вспомогательных технологических процессов (копирование, архивирование, восстановление файлов программ и баз данных и т.д.).
Слайд 30Системное ПО состоит из базового программного обеспечения, которое, как правило, поставляется
вместе с компьютером, и сервисного программного обеспечения, которое может быть приобретено дополнительно.
В базовое ПО входят:
- операционные системы – MS-DOS, Windows, Netware, … ;
- операционные оболочки (текстовые и графические) – Norton Comander, Explorer, … ;
драйверы устройств – драйвер монитора, драйвер мыши, ….
В сервисное ПО входят:
- программы диагностики работоспособности компьютера – CheckIt, … ;
- антивирусные программы – AVP, DrWeb, ;
- программы обслуживания дисков – ScanDisk, DoubleSpace, ..;
программы архивирования данных – RAR, ZIP, ARJ, …;
инструментальные системы – Delphi, Visual Studio, … .
…
Слайд 316.3. Прикладное программное обеспечение. Назначение, состав.
Программное обеспечение прикладного уровня представляет собой
комплекс прикладных программ, с помощью которых на данном рабочем месте выполняются конкретные задания.
В него входят:
текстовые процессоры – MS WORD, WordPefect, …;
табличные процессоры – MS Excel, …;
графические редакторы – CorelDraw, PhotoShop, …;
системы управления базами данных – Paradox, MS SQL Server, …;
…
Слайд 326.4. Жизненный цикл программного обеспечения.
Программы любого вида характеризуются жизненным циклом, состоящим
из отдельных этапов:
a) маркетинг рынка программных средств, спецификация требований к программному продукту;
b) проектирование структуры программного продукта;
c) программирование (создание программного кода), тестирование, автономная и комплексная отладка программ;
d) документирование программного продукта, подготовка эксплуатационной и технологической документации;
e) выход на рынок программных средств, распространение программного продукта;
f) эксплуатация программного продукта пользователями;
g) сопровождение программного продукта;
h) снятие программного продукта с продажи, отказ от сопровождения.