При решении задачи на компьютере уточнение способов организации данных проводится на этапе

Обновлено: 08.07.2024

Современные системы программирования имеют в своем составе специальные программы-отладчики, позволяющие устанавливать в программе <<точки прерывания>>, просматривать значения переменных, исполнять программу <<по шагам>> (т. е. с остановкой после каждого оператора)

1.4 Тестирование

Тестирование -- испытание, проверка правильности работы программы или ее частей

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

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

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

Для того чтобы получить наибольшие гарантии правильности работы программы при наименьших затратах времени тестовые данные должны соответствовать следующим условиям

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

Тесты можно разбить на три группы (для трех этапов тестирования)

1.5 Ошибки программирования [1]

Неправильная постановка задачи -- правильное решение неверно сформулированной задачи. Неверный алгоритм -- выбор ошибочного, неточного или неэффективного алгоритма. Ошибка анализа -- неполный учет возможных ситуаций, логические ошибки в алгоритме. Семантическая ошибка -- использование команды, которая действует иначе, чем предполагал программист. Синтаксическая ошибка -- нарушение правил записи программы, определяемых языком программирования. Ошибка при выполнении операции -- деление на нуль и т. п. Ошибка в данных -- следствие неверного определения диапазона возможных данных либо ввода ошибочных данных. Опечатка -- перепутаны похожие по написанию символы (например, цифра 1, буквы I, J и символы |). Ошибки в документации -- расхождения между программной документацией и действующим вариантом программы.

1.6 Ошибки, не выявляемые транслятором

Логические ошибки:

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

Литература

[1] Д. Ван Тассел. Стиль, разработка, эффективность, отладка и испытание программ. М.:Мир, 1985. [2] Л. З. Шауцукова. Технология подготовки и решения задач на компьютере//Информатика и образование. 1999. 1 с. 12-18.

Примечания:

1 английский термин debugging (уничтожение жуков) возник в 1945 г., когда работа вычислительной машины <<Марк-1>> была прервана попавшим в одно из ее реле мотыльком.


В данный момент вы не можете посмотреть или раздать видеоурок ученикам

Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобрев в каталоге.

Получите невероятные возможности



2. Раздавайте видеоуроки в личные кабинеты ученикам.


3. Смотрите статистику просмотра видеоуроков учениками.

Конспект урока "Решение задач на компьютере. Этапы решения задачи на компьютере"

Вы уже знаете, что компьютер был создан для решения задач и обработки данных. И наверняка задавались вполне логичным вопросом: «А как именно решить ту или иную задачу с помощью компьютера?».

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

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

2. Формализация задачи.

3. Создание алгоритма.

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

Постановка задачи. На этапе постановки задачи нужно понять условие задачи, выделить исходные и результирующие данные и понять отношения между ними. Проще говоря, нужно ответить на вопросы:

· «Что нужно найти по условию задачи?»

· «Что при этом дано?»

· «Чем можно пользоваться при решении задачи?»

Формализация задачи. Во время этого этапа нужно записать описательную информационную модель, созданную на этапе постановки задачи, каким-либо формальным языком, например математическими формулами, и адаптировать эти формулы для решения данной задачи. То есть нам нужно записать при помощи формул соотношения между данными задачи и понять, при помощи каких формул можно найти результирующие данные из исходных. Иначе говоря, создать математическую модель, описывающую явление или объект, которые фигурируют в условии.

Как ясно из названия следующего этапа «Создание алгоритма», его результатом должен быть алгоритм или конкретная последовательность действий. Алгоритм создаётся на основании математической модели.

При создании алгоритма должны быть соблюдены два условия:

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

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

Чаще всего алгоритм записывается в форме блок-схемы, потому что данная форма записи достаточно наглядна и универсальна.



Пример блок-схемы

На этапе программирования алгоритм записывается с помощью какого-нибудь языка программирования. То есть результатом работы на данном этапе должна быть программа. Мы будем писать программы на языке Pascal.


Пример программы на языке Pascal

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

Тест – это набор конкретных значений исходных данных, при которых известен ожидаемый результат работы программы.

Обратим внимание на то, что этапы постановки и формализации задачи могут требовать наличия некоторых знаний из предметной области задачи. Например, если наша задача из области авиастроения – то без знаний из этой области мы не сможем узнать отношений между исходными и результирующими данными, а тем более записать их в виде формул.

Этапы создания алгоритма и программирования требуют наличия знаний по программированию. Так как на третьем этапе определяется каким образом будет решаться та или иная подзадача. А от этого зависит скорость работы программы, и количество потребляемых ею ресурсов системы, например оперативной памяти. На четвёртом этапе записать алгоритм тоже можно различными способами.

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

Таким образом, решение задачи с помощью компьютера можно изобразить в виде схемы. На этапе постановки задачи ставиться её условие, а результатом работы на данном этапе будут исходные и результирующие данные, которые, в свою очередь, поступают на этап «Формализации задачи». На данном этапе составляется математическая модель, по ней составляют алгоритм, который записывают в одной из форм. По алгоритму составляется программа, которая отлаживается и тестируется. Если программа работает неправильно, процесс решения возвращается к одному из предыдущих этапов, а если правильно – задача решена.

Что такое алгоритм? (Алгоритм — это последовательность команд, предназначенная исполнителю, в результате выполнения которой он должен решить поставленную задачу. Алгоритм должен описываться на формальном языке, исключающем неоднозначность толкования.Исполнитель — это человек, компьютер, автом. устройство и т. д. Исполнитель должен уметь выполнять все команды, составляющие алгоритм. Множество возможных команд конечно и изначально строго задано. Действия, которые выполняет исполнитель по этим командам называются элементарными. Запись алгоритма на формальном языке называется программой.)

Какими свойствами обладают алгоритмы? (Алгоритм обладает следующими свойствами:

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

Понятность. Алгоритм должен содержать только те команды, которые известны исполнителю.

Детерминированность. Каждый шаг и переход от шага к шагу должны быть точно определены, чтобы его мог выполнить любой другой человек или механическое устройство. У исполнителя нет возможности принимать самостоятельное решение (алгоритм исполняется формально).

Конечность. Обычно предполагают, что алгоритм заканчивает работу за конечное число шагов. Результат работы алгоритма также должен быть получен за конечное время. Можно расширить понятие алгоритма до понятия процесса, который по различным каналам получает данные, выводит данные и потенциально может не заканчивать свою работу.

Массовость. Алгоритм должен решать не одну частную задачу, а класс задач. Не имеет смысла строить алгоритм нахождения наибольшего общего делителя только для чисел 10 и 15.

Объяснение новой темы: «Этапы решения задач на компьютере»

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

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

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

Разберем этапы решения задачи на компьютере и остановимся подробнее на каждом из них:

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

• сбор информации о задаче;

• формулировка условия задачи;

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

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

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

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

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

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

• разработка математической модели;

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

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

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

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

• выбор тестов и метода тестирования;

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

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

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

• запись алгоритма на выбранном языке

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

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

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

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

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

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

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

Остановимся на пункте «Разработка алгоритма». Выделяют следующие виды алгоритмов:

вербальный, когда алгоритм описывается на человеческом языке;

символьный, когда алгоритм описывается с помощью набора символов;

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

Общепринятыми способами записи являются графическая запись с помощью блок-схем и символьная запись с помощью школьного алгоритмического языка.

Запишем «шапку» алгоритма на школьном алгоритмическом языке (ШАЯ):

Алгоритм <Имя> (раздел описаний)

Аргументы: <что дано>

Результат: <что найти>

Графический - блок-схема

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

Итак, блок-схема – графический вид алгоритма, в котором каждый шаг представлен в виде геометрической фигуры.

hello_html_7fc884b4.jpg

основные алгоритмические структуры

В зависимости от последовательности выполнения действий в алгоритме выделяют алгоритмы линейной, разветвленной и циклической структуры.

Мы с Вами пока рассмотрим только линейную структуру.

В алгоритмах линейной структуры действия выполняются последовательно одно за другим:

Когда блок-схема готова, переходим к составлению программы на языке Pascal .

Применим полученные знания к конкретной задаче.

Вводится натуральное число. Найти сумму четных цифр, входящих в его состав.

n - исходное число,

sum - сумма четных чисел.

Алгоритм решения задачи:

Присвоить переменной sum значение 0.

Пока значение n больше нуля выполнять пункты 4 и 5.

Извлекать последнюю цифру числа (путем нахождения остатка от деления на 10) и проверять ее на четность (путем нахождения остатка от деления на 2).

Если цифра четная, то добавлять ее к sum.

Избавиться от последней цифры числа путем ее деления нацело на 10.

Вывести значение sum на экран.

sum: integer ;

while n > 0 do begin

if n mod 10 mod 2 = 0 then

sum := sum + n mod 10;

n := n div 10;

Если требуется посчитать сумму нечетных цифр, то в заголовке условного оператора следует использовать логический знак "не равно". В Паскале обозначается как "<>".

Задача 2

По координатам двух точек, которые вводит пользователь, определить уравнение прямой, проходящей через эти точки.

Решение

Алгоритм решения задачи:

Общий вид уравнения прямой имеет вид y = kx + b. Чтобы найти уравнение для конкретной прямой, необходимо вычислить коэффициенты k и b. Сделать это можно, если известны координаты двух точек, лежащих на этой прямой. В этом случае решается система уравнений:
| y1 = kx1 + b
| y2 = kx2 + b
b = y2 - kx2
y1 = kx1 + y2 - kx2
k = (y1 - y2) / (x1 - x2)
b = y2 - k*x2

Программа на языке Паскаль:

x1,y1,x2,y2: real ;

write('A(x1;y1): '); readln(x1, y1);

write('B(x2;y2): '); readln(x2, y2);

k := (y1 - y2) / (x1 - x2);

writeln('y = ',k:0:2,'x + ',b:0:2);

Примеры выполнения программы:

A ( x1;y1 ) : 6 9

B ( x2;y2 ) : -1 3

A ( x1;y1 ) :

B ( x2;y2 ) :

Задача 3

Сгенерировать случайное трехзначное число, оканчивающееся на ноль.

Решение

Алгоритм решения задачи:

Трехзначные числа - это числа от 100 до 999.

1. Общее количество целых чисел (количество возможных целых значений) в этом диапазоне 900. Если функции random передать параметр 900, то будет сгенерировано число от 0 до 899 включительно (как раз 900 значений, учитывая ноль). Итак, имеем выражение random(900).

2. Поскольку нам нужно число не от 0 до 899, а от 100 до 999, то прибавим к полученному в п. 1 выражению число 100. Получим random(900) + 100.

3. Будем получать случайное трехзначное число, оканчивающееся на ноль, путем отбрасывания единиц. То есть, если было сгенерировано число 356, то надо вычесть шесть единиц, тогда получится 350. Если же было сгенерировано число 999, то получится 990. Чтобы это сделать, надо найти остаток от деления на 10 и вычесть его из случайного числа. На языке программирования Паскаль это можно сделать с помощью такого выражения n - n mod 10.

4. Если же сгенерированное случайное число уже оканчивалось на 0, то ничего отбрасывать не надо. Поэтому понадобится условный оператор if, проверяющий делится ли число на 10 с остатком. Например так: n mod 10 <> 0.

Домашнее задание: Составьте алгоритм для решения задачи нахождения корней уравнения:

Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.

Информатика. 9 класса. Босова Л.Л. Оглавление

Ключевые слова:

  • постановка задачи
  • формализация
  • алгоритмизация
  • программирование
  • отладка и тестирование

Этапы решения задачи на компьютере

Чтобы решать задачи на компьютере, необходимо владеть языком программирования, обладать знаниями в области информационного моделирования и алгоритмизации.

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

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

На втором этапе описательная информационная модель формализуется, т. е. записывается с помощью некоторого формального языка.


Для этого требуется:

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

На третьем этапе осуществляется построение алгоритма — чёткой инструкции, задающей необходимую последовательность действий для решения задачи. Алгоритм чаще всего представляется в форме блок-схемы ввиду её наглядности и универсальности.

На четвёртом этапе алгоритм записывается на одном из языков программирования. Вы учитесь записывать программы на языке Паскаль.

На пятом этапе осуществляется отладка и тестирование программы. Этап отладки и тестирования также называют компьютерным экспериментом.

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

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

Задача о пути торможения автомобиля

Рассмотрим последовательность прохождения этапов решения задачи на компьютере (см. рис. 2.1) на примере простой задачи.

Водитель автомобиля, движущегося с некоторой постоянной скоростью, увидев красный свет светофора, нажал на тормоз. После этого скорость автомобиля стала уменьшаться каждую секунду на 5 метров. Требуется найти расстояние, которое автомобиль пройдёт до полной остановки.

Первый этап.

  • υ0x — начальная скорость;
  • υx — конечная скорость (равна нулю, так как автомобиль остановился);
  • ах — ускорение (равно -5 м/с).

Требуется найти: sx — расстояние, которое автомобиль пройдёт до полной остановки.

Второй этап. В данной ситуации мы имеем дело с прямолинейным равноускоренным движением тела. Формула для перемещения при этом имеет вид:


Упростим эту формулу с учётом того, что конечная скорость равна нулю:


При аx = -5 м/с получим:


Третий этап. Представим алгоритм решения задачи в виде блок-схемы:


Четвёртый этап. Запишем данный алгоритм на языке программирования Паскаль:

Пятый этап. Протестировать составленную программу можно, используя информацию, что при скорости 72 км/ч с начала торможения до полной остановки автомобиль проходит 40 метров.

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

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

САМОЕ ГЛАВНОЕ

Этапы решения задачи с использованием компьютера:1) постановка задачи;
2) формализация;
3) алгоритмизация;
4) программирование;
5) компьютерный эксперимент.Для решения задач на компьютере необходимо владеть языком программирования, обладать знаниями в области информационного моделирования и алгоритмизации.

Вопросы и задания к § 2.1. Решение задач на компьютере

1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Какими слайдами вы могли бы дополнить презентацию?

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

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

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

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

Тип урока: комбинированный урок: повторение, обобщение пройденного материала, изучение и закрепление нового материала.

Методы обучения: лекция, объяснительно-иллюстративный, фронтальный опрос, исследование, тестирование, использование интерактивных методов.

Оборудование: компьютер, интерактивная доска, таблицы, презентации, схемы, учебник.

Программное обеспечение: Операционная система Windows 7, среда программирования Free Pascal, тестирующая среда Knowing, операционная система Naulinux, образовательная программная оболочка kTurtle.

Дидактический материал: карточки с заданиями, тест в тестирующей среде Knowing.

1. Организационный момент.

2. Постановка целей и задач урока.

3. Повторение пройденного материала: “Мозговой штурм”.

1) Что такое алгоритм и его исполнители?

Алгоритмом - называется строго определенная последовательность действий, выполнение которых приводит к заранее предполагаемому результату.

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

Исполнителем называется тот, кто исполняет алгоритм. Исполнителем алгоритма может быть человек, автомат, компьютер.

2) От какого слова произошло название алгоритма?

Название “алгоритм” произошло от латинской формы имени среднеазиатского математика аль-Хорезми – Algorithmi.

3) Назовите свойства алгоритмов?

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

4) Какие существуют способы записи алгоритмов.

Для записи алгоритмов можно использовать разные способы:

словесный - каждое действие алгоритма описывается словами;

графический - действия алгоритмов представлены в виде картинок;

табличный - все шаги алгоритма записываются в таблицу;

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

программа – алгоритм, записанный на “понятном” компьютеру языке программирования.

5) Рассказать об основных структурах алгоритмов.

Алгоритм, в котором команды выполняются последовательно одна за другой, называется линейным алгоритмом.

В алгоритмической структуре “ветвление” в зависимости от истинности или ложности условия выполняется одна или другая серия команд.

В алгоритмической структуре “цикл” серия команд (тело цикла) выполняется многократно.

6) Что такое программа?

Программа – последовательность стандартных операторов языка программирования, использующих допустимые данные.

7) Назовите основные этапы разработки линейной программы в среде программирования Pascal.

Основные этапы разработки программы в среде Паскаль.

1. Ввод и редактирование текста на языке программирования.

2. Сохранение текста программы на диске.

3. Запуск программы на исполнение.

4. Отладка программы.

5. Тестирование программы.

На интерактивной доске показывается изображение “Примеры выполнения линейной программы на Паскале”.


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

Задание 1. Найти соответствие между понятиями в 1 колонке и определениями во 2 колонке и поставить стрелки. (Карточка оранжевого цвета)


Задание 2. Рассмотреть схемы структур алгоритмов и выявив соответствие между схемой и её названием, поставить стрелки. (Карточка желто-зелёного цвета)


Задание 3. Рассмотреть рисунки примеров алгоритмов, выявив соответствие между типом алгоритма и рисунком, поставить стрелки. (Карточка ярко-розового цвета)


4. Обобщение пройденного и изучение новой темы “Этапы решения задач с помощью компьютера”.

Задание 4. Поставить предполагаемые порядковые номера выполнения этапов. (Карточка ярко-жёлтого цвета)


После выполнения задания на экране появляется готовая схема: “Этапы решения задач с помощью компьютера”.


Человек использует компьютер для решения самых разнообразных информационных задач: работа с текстами, создание графических изображений, получение справки из базы данных, табличные расчеты, решение математических задач, расчет технических конструкций и многое другое. Для их решения в распоряжении пользователя имеется обширное программное обеспечение: системное ПО (ядром которого является операционная система), прикладное ПО (программы, предназначенные для пользователя) и системы программирования (средства для создания программ на языках программирования).

Постановка задачи. На этапе постановки задачи должно быть четко определено, что дано, и что требуется найти. Так, если задача конкретная, то под постановкой задачи понимают ответ на два вопроса: какие исходные данные известны и что требуется определить. Если задача обобщенная, то при постановке задачи понадобится еще ответ на третий вопрос: какие данные допустимы. Таким образом, постановка задачи включает в себя следующие моменты: сбор информации о задаче; формулировку условия задачи; определение конечных целей решения задачи; определение формы выдачи результатов; описание данных (их типов, диапазонов величин, структуры и т.п.).

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

В случае большого числа параметров, ограничений, возможных вариантов исходных данных модель явления может иметь очень сложное математическое описание (правда, реальное явление еще более сложно), поэтому часто построение математической модели требует упрощения требований задачи. Необходимо выявить самые существенные свойства объекта, явления или процесса, закономерности; внутренние связи, роль отдельных характеристик. Выделив наиболее важные факторы, можно пренебречь менее существенными.

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

Построение алгоритма. Наиболее эффективно математическую модель можно реализовать на компьютере в виде алгоритмической модели. Для этого может быть использован язык блок-схем или какой-нибудь псевдокод, например учебный алгоритмический язык. Разработка алгоритма включает в себя выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схемы, псевдокод и др.); выбор тестов и метода тестирования; проектирование самого алгоритма.

Программирование. Первые три этапа - это работа без компьютера. Дальше следует собственно программирование на определенном языке в определенной системе программирования. Программирование включает в себя следующие виды работ: выбор языка программирования; уточнение способов организации данных; запись алгоритма на выбранном языке программирования.

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

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

Анализ результатов. Уточнение модели. Последний этап - это использование уже разработанной программы для получения искомых результатов Производится анализ результатов решения задачи и в случае необходимости - уточнение математической модели (с последующей корректировкой алгоритма и программы). Программы, имеющие большое практическое или научное значение, используются длительное время. Иногда даже в процессе эксплуатации программы могут исправляться, дорабатываться.

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

I этап (постановка задачи)

Задача № 5. Рассчитать расстояние полёта ракеты Гагарина (1 оборот вокруг Земли), если экваториальный радиус Земли R 6378 км, высота полёта ракеты над Землёй H 300 км.

Читайте также: