Какие этапы включает в себя решение задач с помощью компьютера?

Какие этапы включает в себя решение задач с помощью компьютера?

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

1. Постановка задачи:

· сбоp инфоpмации о задаче;

· фоpмулиpовка условия задачи;

· опpеделение конечных целей pешения задачи;

· определение формы выдачи результатов;

· описание данных (их типов, диапазонов величин, структуры и т.п. ).

2. Анализ и исследование задачи, модели:

· анализ существующих аналогов;

· анализ технических и программных средств;

· pазpаботка математической модели;

· разработка структур данных.

3. Разработка алгоритма:

· выбор метода проектирования алгоритма;

· выбор формы записи алгоритма (блок-схемы, псевдокод и др.);

· выбоp тестов и метода тестиpования;

· проектирование алгоритма.

4. Пpогpаммиpование:

· выбор языка программирования;

· уточнение способов организации данных;

· запись алгоpитма на выбpанном языке пpогpаммиpования.

5. Тестиpование и отладка:

· синтаксическая отладка;

· отладка семантики и логической стpуктуpы;

· тестовые pасчеты и анализ pезультатов тестиpования;

· совершенствование пpогpаммы.

6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2 - 5.

7. Сопровождение программы:

· доработка программы для решения конкретных задач;

· составление документации к pешенной задаче, к математической модели, к алгоpитму, к пpогpамме, к набору тестов, к использованию.

Какие основные этапы содержит процесс разработки программ?

Процесс разработки программы можно выразить следующей формулой:

Наличие ошибок в только что разработанной программе это вполне нормальное закономерное явление. Практически невозможно составить реальную (достаточно сложную) программу без ошибок.

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

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

Как проконтролировать текст программы до выхода на компьютер?

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

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

· Проверка. При проверке программы программист по тексту программы мысленно старается восстановить тот вычислительный процесс, который определяет программа, после чего сверяет его с требуемым процессом. На время проверки нужно "забыть", что должна делать программа , и "узнавать" об этом по ходу её проверки. Только после окончания проверки программы можно "вспомнить" о том, что она должна делать и сравнить реальные действия программы с требуемыми.

· Прокрутка. Основой прокрутки является имитация программистом за столом выполнения программы на машине. Для выполнения прокрутки приходится задаваться какими-то исходными данными и производить над ними необходимые вычисления. Прокрутка — трудоемкий процесс, поэтому ее следует применять лишь для контроля логически сложных участков программ. Исходные данные должны выбираться такими, чтобы в прокрутку вовлекалось большинство ветвей программы.

В чем заключается отладка?

В современных программных системах (Turbo Basic, Turbo Pascal, Turbo C и др.) отладка осуществляется часто с использованием специальных программных средств, называемых отладчиками. Эти средства позволяют исследовать внутреннее поведение программы.

Программа-отладчик обычно обеспечивает следующие возможности:

· пошаговое исполнение программы с остановкой после каждой команды (оператора);

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

· установку в программе "контрольных точек", т.е. точек, в которых программа временно прекращает свое выполнение, так что можно оценить промежуточные результаты, и др.

При отладке программ важно помнить следующее:

· в начале процесса отладки надо использовать простые тестовые данные;

· возникающие затруднения следует четко разделять и устранять строго поочередно;

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

Вопросы для самоконтроля

8.1. Какие основные этапы включает в себя решение задач на компьютере?

8.2. Какие этапы компьютерного решения задач осуществляются без участия компьютера?

8.3. Что называют математической моделью объекта или явления?

8.4. Почему невозможно точное исследование поведения объектов или явлений?

8.5. Какие способы моделирования осуществляются с помощью компьютера?

8.6. Из каких последовательных действий состоит процесс разработки программы?

8.7. Доказывает ли получение правдоподобного результата правильность программы?

8.8. Какие ошибки могут остаться невыявленными, если не провести проверку (просмотр, прокрутку) программы?

8.9. Чем тестирование программы отличается от её отладки?

8.10. Каким образом программа-отладчик помогает исследовать поведение программы в процессе её выполнения?

8.11. Как следует планировать процесс отладки программы?

8.12. Можно ли с помощью тестирования доказать правильность программы?

8.13. На какой стадии работы над программой вычисляются эталонные результаты тестов?

8.14. Назовите основные этапы процесса тестирования.

8.15. В чём заключается отличие синта ксических ошибок от семантических?

8.16. О чём свидетельствует отсутствие сообщений машины о синтаксических ошибках?

8.17. Какие разновидности ошибок транслятор не в состоянии обнаружить?

8.18. Для чего программам требуется сопровождение?

Упражнения

Составьте системы тестов для решения следующих задач:

8.1. Найти наибольший общий делитель двух заданных целых чисел.

8.2. Найти наименьшее общее кратное двух заданных целых чисел.

8.3. Определить, является ли заданное число нечетным двузначным числом.

8.4. Заданы площади квадрата и круга. Определить, поместится ли квадрат в круге.

8.5. Решить биквадратное уравнение.

8.6. Найти среднее арифметическое положительных элементов заданного одномерного массива.

8.7. Элементы заданного одномерного массива разделить на его первый элемент.

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

8.9. Определить, имеют ли общие точки две плоские фигуры — треугольник с заданными координатами его вершин и круг заданного радиуса c центром в начале координат.

8.10. Задано целое А > 1. Найти наименьшее целое неотрицательное k, при котором 2k > А.

8.11. Дана последовательность целых чисел. Определить, со скольких чётных чисел она начинается.

8.12. В заданном двумерном массиве найти количество строк, не содержащих нули.

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

8.14. Преобразовать число, заданное в римской системе счисления, в число десятичной системы.

Какие этапы включает в себя решение задач с помощью компьютера?

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

1. Постановка задачи:

· сбоp инфоpмации о задаче;

· фоpмулиpовка условия задачи;

· опpеделение конечных целей pешения задачи;

· определение формы выдачи результатов;

· описание данных (их типов, диапазонов величин, структуры и т.п. ).

2. Анализ и исследование задачи, модели:

· анализ существующих аналогов;

· анализ технических и программных средств;

· pазpаботка математической модели;

· разработка структур данных.

3. Разработка алгоритма:

· выбор метода проектирования алгоритма;

· выбор формы записи алгоритма (блок-схемы, псевдокод и др.);

· выбоp тестов и метода тестиpования;

· проектирование алгоритма.

4. Пpогpаммиpование:

· выбор языка программирования;

· уточнение способов организации данных;

· запись алгоpитма на выбpанном языке пpогpаммиpования.

5. Тестиpование и отладка:

· синтаксическая отладка;

· отладка семантики и логической стpуктуpы;

· тестовые pасчеты и анализ pезультатов тестиpования;

· совершенствование пpогpаммы.

6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2 - 5.

7. Сопровождение программы:

· доработка программы для решения конкретных задач;

· составление документации к pешенной задаче, к математической модели, к алгоpитму, к пpогpамме, к набору тестов, к использованию.

Наши рекомендации