
2_Этапы решения задачи на ЭВМ.ppt
- Количество слайдов: 19
Этапы решения задачи на ЭВМ
Основные этапы решения задач • Постановка задачи • Разработка блок-схемы алгоритма • Представление алгоритма на языке программирования • Реализация алгоритма на ЭВМ • Анализ полученных результатов
Постановка задачи • Постановка задачи – Конкретизация задачи. Анализ объекта и выявление его основных свойств – Описание объекта с помощью математической модели. Выбор математического метода решения задачи с учётом ограничений исполнителя – Приведение математической модели к виду удобному для алгоритмизации • Этап постановки задачи соответствует словесному способу представления алгоритма (представление алгоритма на естественном языке)
Постановка задачи Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел Алгоритм может быть следующим: 1. задать два числа; 2. если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма; 3. определить большее из чисел; 4. заменить большее из чисел разностью большего и меньшего из чисел; 5. повторить алгоритм с шага 2
Разработка блок-схемы алгоритма • Графический способ Алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий • Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий • Графическое представление называется схемой алгоритма или блок-схемой алгоритма
Название блока Обозначение Пояснение Процесс последовательность действий Решение Проверка условий Модификация Начало цикла Предопределенный процесс Подпрограмма Ввод-вывод Пуск-останов Начало, конец алгоритма Докуменет Вывод на печать
начало Ввод а, в истина а=в Вывод а а>в в=в-а конец истина а=а-в
Представление алгоритма на языке программирования Язык и его реализация • Язык – система записей и набор правил, определяющих синтаксис правильной программы • Реализация языка – программа, преобразующая запись высокого или низкого уровня в последовательность машинных команд. Процесс преобразования называется трансляцией • По способу трансляции все языки делятся на: – Ассемблеры – Компиляторы – Интерпретаторы
Системы программирования • Языки программирования • Трансляторы – Ассемблеры – Компиляторы – Интерпретаторы • Библиотеки • Компоновщик • Отладчик ü Программа, написанная на одном из языков программирования называется исходным модулем программы(ИМП) ü ИМП создаётся в текстовом редакторе
Интерпретаторы • Интерпретатор читает один оператор программы, анализирует его и сразу выполняет, после чего переходит к обработке следующего оператора • Программы реализованные по принципу интерпретации включают в себя: – Встроенный текстовый редактор – Транслятор – Библиотеку стандартных функций
Алгоритм интерпретации Оператор программы Проверка синтаксиса ошибка истина сообщение Трансляция Выполнение ошибка Конец истина останов истина сообщение
Компиляторы • Компилятор сначала читает, анализирует и переводит на машинный код всю программу и только после завершения всей трансляции эта программа выполняется • Программы реализованные по принципу интерпретации включают в себя: – Встроенный текстовый редактор – Транслятор – Библиотеки – Компоновщик – Отладчик
Алгоритм компиляции Оператор программы Проверка синтаксиса ошибка Трансляция Сохранение рез-та Конец истина Результат – объектный модуль программы *. OBJ Создание файла *. OBJ останов истина сообщение
Компоновщик • Объединяет несколько объектных модулей в один загрузочный, готовый к выполнению Объектный модуль 1 Объектный модуль 2. . . Объектный модуль N Библиотека *. OBJ Компоновщик Загрузочный модуль *. COM *. EXE
Компиляция Используется текстовый редактор Ввод текста исходной программы Исходный модуль программы Компилятор и/или ассемблер Библиотека п/п, дополнительные модули Трансляция Объектный модуль программы Объединение объектных модулей Компоновщик Загрузочный (исполняемый) модуль
Представление алгоритма на языке программирования Public Sub AB() Dim i. A As Integer Dim i. B As Integer i. A = Input. Box("enter A") i. B = Input. Box("enter B") Do Until i. A = i. B If i. A > i. B Then i. A = i. A - i. B Else i. B = i. B - i. A End If Loop Msg. Box "Максимальный общий делитель = " & i. A End Sub выполнить
Реализация алгоритма • Ввод текста программы • Отладка программы – исправление допущенных ошибок • Тестирование программы - выполнение программы с контрольными исходными данными • Получение требуемого результата Тестирование программы удобно выполнять с помощью таблицы трассировки
Таблица трассировки Public Sub AB() Dim i. A As Integer Dim i. B As Integer i. A = Input. Box("enter A") i. B = Input. Box("enter B") Do Until i. A = i. B If i. A > i. B Then i. A = i. A - i. B Else i. B = i. B - i. A End If Loop Msg. Box "Максимальный общий делитель = " & i. A End Sub начало Ввод а, в истина а=в Вывод а а>в истина в=в-а выполнить а=а-в конец итерация а в а=в а>в а=а-в 1 20 15 ложь истина 5 2 5 15 ложь 10 3 5 10 ложь 5 4 5 5 истина Результат максимальный общий делитель =5 в=в-а
Таблица трассировки Public Sub AB() Dim i. A As Integer Dim i. B As Integer i. A = Input. Box("enter A") i. B = Input. Box("enter B") Do Until i. A = i. B If i. A > i. B Then i. A = i. A - i. B Else i. B = i. B - i. A End If Loop Msg. Box "Максимальный общий делитель = " & i. A End Sub начало Ввод а, в истина а=в Вывод а а>в истина в=в-а выполнить а=а-в конец итерация а в а=в а>в 1 8 12 ложь 2 8 4 ложь истина 3 4 4 истина Результат максимальный общий делитель = 4 а=а-в в=в-а 4 4