Урок 10§2.1 Решение задач на компьютере

Тест по дисциплине «Информационные технологии в профессиональной деятельности» для АНО ПО ОСЭК

Области, расположенные в верхнем и нижнем поле каждой страницы документа, которые обычно содержат повторяющуюся информацию:

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

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

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

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

Первый этап. Дано:

υ0x — начальная скорость;

υх — конечная скорость (равна нулю, так как автомобиль остановился);

ах — ускорение (равно -5 м/с 2 ).

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

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

Упростим эту формулу с учётом того, что конечная скорость равна нулю: . При аx = -5 м/с 2 получим: (при условии задания скорости в метрах в секунду и вычислении пути в метрах).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Особенности процесса решения задач

Этапность и последовательность достижения цели — залог успеха. Объективность каждого элемента процесса — главное требование. Можно как угодно относиться к реальным обстоятельствам, но они есть.

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

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

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

Главная особенность любого этапа решения любой задачи — объективность. Важнейшее требование — достоверная и полная информация. Существенные детали: аккуратность, внимательность, пунктуальность.

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

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

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

Первый этап. Дано:

v0x — начальная скорость;

vx — конечная скорость (равна нулю, так как автомобиль остановился);

ах — ускорение (равно -5 м/с).

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

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

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

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

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

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

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

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

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

12. Уличный продавец газет получает а рублей с продажи каждой из первых 50 газет. С продажи каждой из последующих газет он получает на 20% больше. Разработайте программу, которая вычислит заработок продавца, если он продаст за день 200 газет. Зафиксируйте свои действия на каждом из этапов решения этой задачи.

1-й этап
Дано:
а — сумма, получаемая продавцом с продажи каждой из первых 50 газет;
1,2 ⋅ а — сумма, получаемая продавцом с продажи каждой из последующих газет.

Найти:
s — общую сумму, которую получит продавец с продажи 200 газет.

2-й этап

Для нахождения s можно вычислить значение следующего выражения:
50 ⋅ а + 150 ⋅ 1,2 ⋅ а.
Здесь а и s — величины вещественного типа.

3-й этап

Ответы Учебник Информатика 9 класс - §2.1.Решение задач на компьютере

4-й этап
program n_12_63;
var a, s: real;
begin
writeln (‘Подсчет заработка продавца’);
writeln (‘Ввод а‘);
readln (a);
s:=50a+1501.2*a;
writeln (‘Продавец заработал ‘, s,’ руб.’)
end.

5-й этап
Протестировать программу можно по следующим данным:
а = 1,
s = 230.

Электронное приложение к уроку

Презентации, плакаты, текстовые файлы Вернуться к материалам урока Ресурсы ЭОР

Cкачать материалы урока

Основные этапы разработки ПО

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

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

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

Этап 1 – Определение проблемы

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

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

Определение проблемы – это фундамент всего процесса программирования!

Этап 2 – Выработка требований

Что такое требования и зачем их нужно выработать?

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

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

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

Этап 3 – Создание плана разработки

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

Этап 4 – Разработка архитектуры системы или высокоуровневое проектирование

Архитектура системы – это каркас программы, это высокоуровневое проектирование программы.

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

Архитектура системы обычно включает:

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

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

Этап 5 – Детальное проектирование

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

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

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

Этап 6 – Кодирование и отладка

Это как раз тот этап, который все знают и, наверное, думают, что это единственный этап в процессе разработке программного обеспечения – это непосредственное написание кода и его отладка. Но, как видите, это далеко не первый и не единственный этап разработки ПО.

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

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

Этап 7 – Тестирование компонентов

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

Этап 8 – Интеграция компонентов

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

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

Этап 9 – Тестирование всей системы

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

Этап 10 – Сопровождение, внесение изменений, оптимизация

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

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

Если Вы еще не умеете программировать, и даже не знаете, с чего начать, то в этом случае я рекомендую Вам начать с книги «Как стать программистом? 14 советов по достижению поставленной цели», в ней приведены советы и рассмотрен конкретный план действий, которые помогут Вам стать программистом.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector