Этапы решения задач на компьютере
Определение
- Алгоритм – это предписание исполнителю выполнить последовательность команд, приводящую от исходных данных к искомому результату.
Повторение
Свойства алгоритма
- дискретность : состоит из отдельных шагов (команд) результативность : применение алгоритма обязательно приводит к конечному результату за конечное число шагов массовость : может применяться многократно при различных исходных данных детерминированность: выполнение команд в строго определенной последовательности понятность : должен включать только команды, известные исполнителю (входящие в СКИ) определенность : при одинаковых исходных данных всегда выдает один и тот же результат корректность : дает верное решение при любых допустимых исходных данных
- дискретность : состоит из отдельных шагов (команд)
- результативность : применение алгоритма обязательно приводит к конечному результату за конечное число шагов
- массовость : может применяться многократно при различных исходных данных
- детерминированность: выполнение команд в строго определенной последовательности
- понятность : должен включать только команды, известные исполнителю (входящие в СКИ)
- определенность : при одинаковых исходных данных всегда выдает один и тот же результат
- корректность : дает верное решение при любых допустимых исходных данных
Повторение
Способы записи алгоритмов
- Словесный – на естественном языке;
- На языке блок – схем;
- На языке программирования.
Блок-схема – это графическое изображение алгоритма в виде определенным образом связанных между собой нескольких типов блоков.
Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ.
Повторение
Основные элементы блок-схемы
Элемент блок-схемы
Назначение элемента
Обозначение начала и конца алгоритма
Описание ввода или вывода данных, имеет один вход - сверху и один выход - снизу.
Описание линейной последовательности команд, имеет один вход – сверху и один выход – снизу.
Обозначение условий в структурах «ветвление» и «выбор», имеет один вход – сверху и два выхода – налево, направо
Применяется для объявления переменных или ввода комментариев
Начало
Данные
Последовательность команд
Да
Нет
Условие
Объявление переменных
Повторение
NEW
ОПРЕДЕЛЕНИЕ
Решение задачи на компьютере - это процесс автоматического преобразования информации в соответствии с поставленной целью.
Под процессом решения задачи на ЭВМ надо понимать совместную деятельность человека и компьютера . Этот процесс остается пока достаточно сложным и трудоемким, поэтому представляется в виде нескольких последовательных этапов. При этом на долю человека приходится творческая деятельность, а на долю машины - автоматическая обработка информации в соответствии с заданным ей алгоритмом.
Этапы решения задач на ЭВМ
Решение задач на ЭВМ состоит из следующих этапов:
1. ПОСТАНОВКА ЗАДАЧИ.
2. ПОСТРОЕНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ.
3. РАЗРАБОТКА АЛГОРИТМА.
4. СОСТАВЛЕНИЕ ПРОГРАММЫ.
5. ОТЛАДКА И ТЕСТИРОВАНИЕ ПРОГРАММЫ.
6. ПОЛУЧЕНИЕ И АНАЛИЗ РЕЗУЛЬТАТОВ.
Примеры и задачи
ПОСТАНОВКА ЗАДАЧИ.
Это этап работы человека, хорошо представляющего предметную область задачи. Он должен:
- определить цель решения задачи;
- определить необходимый объем информации;
- дать точную формулировку задачи;
- предложить идею решения задачи;
- описать исходные данные и способы их хранения;
- определить форму выдачи результатов.
ПОСТРОЕНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ.
Чтобы решить задачу необходимо описать объект в математических терминах (формулах), то есть построить его модель, которая позволяет математически строго решить задачу его исследования.
Этот этап выполняет человек , способный разработать математическое описание поставленной задачи. При этом он должен выполнить:
- анализ похожих решённых задач;
- анализ технических и программных возможностей;
- анализ условий существования решения.
РАЗРАБОТКА АЛГОРИТМА
Алгоритм решения задачи разрабатывается на основе построенной математической модели и представляет конечную последовательность предписаний (правил), которая определяет процесс преобразования исходных данных в результаты решения задачи.
Алгоритм разрабатывается одним из существующих способов, чаще всего в виде блок-схемы.
Этот этап выполняет человек, умеющий программировать . Уровень его квалификации определяет эффективность разработанного алгоритма.
СОСТАВЛЕНИЕ ПРОГРАММЫ
Этот этап также выполняет человек, умеющий программировать , так как программа - это один из способов представления алгоритма с использованием языка программирования, наиболее удобного для решения данной задачи.
Составление программы - это кодирование алгоритма для реализации его в компьютере.
ОТЛАДКА И ТЕСТИРОВАНИЕ ПРОГРАММЫ
Отладка программы - это проверка ее на наличие технических, грамматических и, возможно, алгоритмических ошибок. Отладка предполагает совершенствование (оптимизацию) программы.
Ошибки в ходе отладки исправляют путем контрольного тестирования.
Проверка осуществляется путем сравнения заранее известных результатов тестов с результатами, полученными компьютером.
Этот этап - совместная работа программиста и машины.
ПОЛУЧЕНИЕ И АНАЛИЗ РЕЗУЛЬТАТОВ
После устранения всех ошибок, выявленных отладкой и тестированием, получают результаты решения поставленной задачи.
Получение результатов может быть многократным в зависимости от смены исходных данных, поскольку решение должно быть универсальным для задач подобного класса.
На этом этапе машина работает совместно с человеком, выдающим задание .
Линейный алгоритм
- Линейный алгоритм – это набор команд, выполняемых последовательно во времени, друг за другом.
Задача №1
Зная длины трех сторон треугольника, вычислить площадь и периметр треугольника.
Решение:
- Входные данные : a, b, c.
- Выходные данные : S, P.
- Решение по формуле Герона
Внимание!!!
В знак "=" означает не математическое равенство, а операцию присваивания. Переменной, стоящей слева от оператора, присваивается значение, указанное справа. Причем это значение может быть уже определено или его необходимо вычислить с помощью выражения.
Алгоритмическая структура «ветвление»
- Алгоритм, содержащий хотя бы одно условие, в результате которого обеспечивается переход на один из двух возможных шагов, называется разветвляющимся.
Задача №2
Начало
- Заполните шаблон блок-схемы алгоритма исследования квадратного уравнения ax²+bx+c=0 (a≠0)
a, b, c
D=b²-4*a*c
Нет
Да
D
Нет
Да
Корней нет
D = 0
Х= - b /2* a
X1= (- b+√D)/2*a
Х
X2= (- b-√D)/2*a
X1, X2
Конец
Необходимо отметить, что роль и вклад человека и компьютера на каждом из приведенных этапов решения задач постоянно меняются из-за стремительного прогресса в сфере вычислительной техники.
Перейти к выполнению задания.
Завершить показ