66518

Освоение технологии структурного программирования при разработке и создании программы на языке Турбо Паскаль для циклического вычислительного процесса с известным числом повторений

Лабораторная работа

Информатика, кибернетика и программирование

Если число повторений известно заранее до начала повторений то в этом случае всегда используется оператор цикла с параметром for. Такой оператор предусматривает изменение управляющей переменной параметра цикла по правилу прогрессии с шагом 1 и повторное выполнение некоторого...

Русский

2014-08-22

225 KB

0 чел.

ЛАБОРАТОРНАЯ РАБОТА № 3

Освоение технологии структурного программирования

при разработке и создании программы на языке Турбо Паскаль

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

Цели работы:

1. Освоение методики нисходящей разработки (проектирования) программы методом пошаговой детализации с помощью псевдокода при решении задач с помощью ПК.

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

3. Овладение выразительными средствами графики языка ТП для повышения читаемости программы.

4. Овладение навыками введения в программу необходимого количества комментариев.

5. Приобретение навыков алгоритмизации и программирования на алгоритмическом языке Паскаль

6. Освоение средств исследования программы.

7. Освоение методики тестирования программы.

Теоретические сведения

Вычислительный процесс, содержащий один или несколько циклов, называется циклическим. Циклы (операторы повторения) предусматривают повторяющееся выполнение некоторых операторов. Если число повторений известно заранее (до начала повторений), то в этом случае всегда используется оператор цикла с параметром for. Такой оператор предусматривает изменение управляющей переменной (параметра цикла) по правилу прогрессии с шагом 1 и повторное выполнение некоторого оператора (в том числе составного) до достижения конечного значения. Цикл с параметром имеет следующий вид:

for <параметр цикла> := <начальное значение> to <конечное значение> do

 <оператор>;

или

for <параметр цикла> := <начальное значение> downto <конечное значение> do

 <оператор>;

Параметр цикла, начальное и конечное значение должны быть одного и того же перечислимого типа и не должны изменяться внутри цикла. Если при спецификации to (downto) начальное значение больше (меньше) конечного значения, то цикл не выполняется. При нормальном выходе из цикла с параметром значение параметра остается неопределенным.

Например, чтобы напечатать в цикле значения параметра цикла, нам понадобится такая конструкция цикла с параметром for (рис. 3.1):

Блок-схему работы цикла for, приведенного на рис. 3.1 можно изобразить как показано на рис. 3.2.

То есть, Вы можете представить себе алгоритм циклической структуры for в виде последовательности таких действий и соответствующих им операторов:

 подготовка цикла: задание начального значения параметру цикла – i := 1;

 проверка, не достигнуто ли конечное значение параметра цикла –i <= 10 (если конечное значение параметра цикла будет равно 0, то тело цикла, т. е. оператор WrietLn(‘i = ’, i) не выполнится и далее будет выполняться оператор, следующий за оператором цикла);

 выполнение тела цикла: действия, которые повторяются в цикле с использованием последовательно изменяющихся значений переменной цикла;

 модификация (изменение) значения переменной цикла на единицу перед каждым новым его повторением. Далее – переход на пункт 2.

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

– оператор в теле цикла может быть простым либо составным (т. е. включать любые операторы языка ТП: простые, условные, циклические и т. д.), или даже пустым, когда точка с запятой «;» ставится сразу за словом do;

– начальное и конечное значения параметра цикла не могут быть типа Real, а только целого или перечислимого типов, при этом шаг параметра цикла всегда постоянен и равен «интервалу» между двумя ближайшими значениями выбранного типа;

– в теле цикла нельзя принудительно изменять переменную цикла;

– при необходимости получения внутри цикла шага отличного от единицы Вы должны ввести дополнительную переменную;

– для получения убывающего параметра цикла вместо слова to ставится downto и, соответственно, меняются местами начальное и конечное значения параметра цикла;

– циклическая структура for используется только в тех случаях, когда наперёд известно количество повторений цикла!

При проектировании алгоритма циклического вычислительного процесса в структурном программировании используется структура цикл, которая в контексте синтаксиса языка ТП для рассматриваемого случая может представляться в виде for-to-do (ЦИКЛ-ОТ-ДО).

И, соответственно, код на языке ТП для (рис. 3.1) будет иметь вид (рис. 3.4):

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

1. Условие задачи:

Вычислить значение конечной суммы:

.

(3.1)

2. Решение задачи в ее предметной области, в данном случае – это высшая математика. Например, при n = 3 выражение (3.1) будет иметь вид:

.

(3.2)

Здесь Вы должны обратить внимание на то, что каждое последующее слагаемое в (3.2) получается из предыдущего домножением на a предыдущего.

3. Проводим нисходящую разработку (проектирование) программы методом пошаговой детализации с помощью псевдокода. Воспользуемся результатами (рис. 1) для получения первой версии алгоритма:

Ввести данные Summa

Выполнить вычисления Summa

Вывести результаты Summa

С учетом требований к «дружественности» интерфейса, детализация псевдокода Ввести данные Summa дает следующее:

Вывести на экран приглашение для ввода a

Ввести a

Вывести на экран приглашение для ввода n

Ввести n

Детализация псевдокода Выполнить вычисления Summa дает следующее:

power присвоить 1

ЦИКЛ ОТ i=1 ДО n

 power умножить на а

 к S добавить power

Детализация псевдокода Вывести результаты Summa дает следующее:

Вывести название и содержимое ячейки S

4. Выполняем структурное программирование с использованием структуры цикл:

BEGIN

 ClrScr; { Очищаем экран }

 Write(‘Введите значение a = ’);

 ReadLn(a);

 Write(‘Введите значение n = ’);

 ReadLn(n);

 { Подготовка к циклу }

 power := 1; { Начальное значение перед умножением на a }

 for i:=1 to n do

   begin

     power := power*a; { Получаем степень а }

     S := S+power;     { Суммируем в S }

   end;

 WriteLn(‘S = ’, S:4:2);

 ReadLn

END.

5. Проектируем структуры данных (их имена и типы). Понятно, что все имена, входящие в (3.1), нужно описать в программе, т.е. S, a, i, n. Кроме того, нам понадобится некоторая переменная, в которой будет храниться текущее значение степени a. Назовем ее power. Поскольку S, a, power могут иметь дробную часть, то их тип выбираем Real. Поскольку i – переменная цикла, n – конечное значение, то их тип не может быть Real, а только перечислимым, поэтому выбираем Integer.

Значит в разделе описаний программы, назовем ее Summa, с учетом требований о необходимости обеспечения удобочитаемости программы и размещения необходимых комментариев, поместим следующие описания:

Var

 S,            { сумма }

 a,            { значение a }

 power : Real; { текущее значение степени a }

 i,            { переменная цикла }

 n : Integer;  { конечное значение цикла }

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

6. Отладка программы. Отладка программы – это процесс поиска и устранения синтаксических ошибок в готовой программе. Обычно отладка предшествует стадии тестирования. В этом пункте необходимо привести скриншот результата работы готовой программы (см. п. 5 Лаб. раб № 1).

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

Тестовый пример для нашей задачи будет включать вычисление S при а=2 и n=3:

S = 2+22+23 = 14.

Теперь Вам необходимо провести исследование Вашей программы и убедиться, что вычислительный процесс действительно является циклическим с помощью дебаггера, то есть отладчика программ (см. п. 7 Лаб. раб № 1). Здесь Вы должны исследовать поведение переменных S, power, i структуры for-to-do (рис. 3.5).

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

9. Для защиты лабораторной работы:

9.1. Представить отчет по лабораторной работе в печатном виде.

9.2. Продемонстрировать умение исследовать свою программу.

9.3. Решить любую другую задачу из списка заданий.

9.4. Ответить на вопросы:

9.4.1. Поясните, что такое цикл?

9.4.2. Для чего нужен параметр цикла?

9.4.3. Для чего служит конечное значение параметра цикла?

9.4.4. Поясните логику выполнения циклов:

for ... to ... do  и

for ... downto ... do.

9.4.5. Какие переменные могут использоваться в качестве параметра цикла for? Какие переменные могут использоваться в качестве границ диапазона для параметра цикла for?


ЗАДАНИЯ К

ЛАБОРАТОРНОЙ РАБОТЕ № 32

  1.  Вычислить значение конечной суммы: .
  2.  Вычислить значение конечной суммы: .
  3.  Вычислить значение конечной суммы: .
  4.  Вычислить значение конечной суммы: .
  5.  Вычислить значение конечной суммы: .
  6.  Вычислить значение конечной суммы: .
  7.  Вычислить значение конечного произведения: .
  8.  Вычислить значение конечного произведения: .
  9.  Вычислить значение конечного произведения: .
  10.  Вычислить значение конечного произведения: .
  11.  Вычислить значение конечного произведения: .
  12.  Вычислить значение конечного произведения: .
  13.  Вычислить значение конечного произведения: .
  14.  Вычислить значение конечного произведения: .
  15.  Вычислить значение конечного произведения: .
  16.  Вычислить значение конечного произведения: .
  17.  Вычислить значение конечной суммы: .
  18.  Вычислить значение конечной суммы: .
  19.  Вычислить значение конечной суммы: .
  20.  Вычислить значение конечной суммы: .
  21.  Вычислить значение конечной суммы: .
  22.  Вычислить значение конечной суммы: .
  23.  Вычислить значение конечной суммы: .
  24.  Вычислить значение конечной суммы: .
  25.  Вычислить значение конечного произведения: .

ЦИКЛ ОТ i=1 ДО 10

 Печатать параметр цикла

Рис. 3.3. Псевдокод для цикла for-to-do (ЦИКЛ-ОТ-ДО) для (рис. 3.1)

Рис. 3.4. Код на языке ТП для цикла for-to-do (ЦИКЛ-ОТ-ДО) для (рис.3.1)

for i:=1 to 10 do

 WriteLn(‘i = ’,i);

Рис. 3.1. Конструкция цикла с параметром for

Параметр цикла i

Принимает значения:

1, 2, 3, 4, 5,

6, 7, 8, 9, 10

for i:=1 to 10 do

  WriteLn(‘i = ’, i);

Рис. 3.5. Исследование структуры for-to-do

Начальное значение параметра цикла

Конечное значение параметра цикла

Ключевое слово for

Оператор, повторяемый в цикле десять раз

i <= 10

WrietLn(‘i = ’, i);

Рис. 3.2. Блок-схема цикла for, приведенного на рис. 3.1

i := i+1

i := 1

Истина

Ложь

Задание начального значения параметру цикла

Проверка, не достигнуто ли конечное значение параметра цикла

Тело цикла – только один оператор (либо – составной)

Приращение параметра цикла на 1


 

А также другие работы, которые могут Вас заинтересовать

32847. Общество как материальная система 15.36 KB
  Общество – это обособившаяся от природы часть материального мира высокоорганизованная материальная система подчиняющаяся всеобщим законам и в то же время имеющаяся специфические особенности функционирования и развития. Как и любое материальное образование общество обладает целым рядом неотъемлемых свойств: объективность системность и структурность движение пространство время отражение самоорганизация. Общество возникает и существует объективно т. Общество представляет собой открытую развивающуюся систему.
32848. Материально-производственная сфера общественное жизни.Диалектика производительных сил и производственных отношений 12.99 KB
  Материальное производство характеризуется определенным способом производства который представляет собой единство двух сторон: производительных сил и производственных отношений. Производственные отношения включают в себя отношения собственности на средства производства а также отношения по поводу распределения и обмена продукта материального производства. В этом проявляется диалектика экономических потребностей производства и потребления.; способ производства и соответствующие ему отношения собственности определяют появление и развитие...
32849. Социальная сфера общественной жизни. Социальная структура общества. Виды социальных общностей 13.65 KB
  Социальная структура общества. Сфера общества – это социальное пространство которое фиксирует границы того или иного вида общественной деятельности. Социальная сфера – это исторически сложившаяся относительно устойчивая система связей между различными элементами общества: отдельными индивидами социальными группами и социальными общностями. В социальной сфере реализуются интересы классов и слоев общества социальных общностей и групп отношения общества и личности здесь создаются и совершенствуются условия труда быта и досуга.
32850. Политическая сфера общественной жизни. Структура и соц функции. Государство,как основной политический институт 12.55 KB
  Общество как система состоит из нескольких подсистем или сфер основными из которых являются экономическая социальная политическая духовная и экологическая. Политическая сфера – область общественной жизни включающая в себя политические отношения данного общества. и международные; политическая деятельность; политическое сознание политическая идеология и политическая психология.
32851. Экологическая сфера. Роль мед работников 11.81 KB
  Общество как система состоит из нескольких подсистем или сфер основными из которых являются экономическая социальная политическая духовная и экологическая. Экологическая сфера общества сформировалась во 2й половине ХХ в. Экологическая сфера – подсистема общества формирующаяся на основе специализированной деятельности по охране воспроизводству улучшению и приумножению природных факторов человеческого бытия. Экологическая деятельность.
32852. Духовная сфера общ6ества. Основные формы и уровни. Общественная психология и идеология,их диалектическая взаимосвязь 14.08 KB
  Специфика идеологии проявляется в том что она возникает на основе существующих в обществе экономических отношений и отражает действительность через призму этих отношений. В классовом обществе экономические отношения выступают в форме классовых интересов поэтому специфику идеологии можно конкретнее представить как отражение действительности через призму интересов определенных классов как систему идей и взглядов классов. В классовом обществе нет и не может быть надклассовой или внеклассовой идеологии. Общественно историческая практика...
32853. Религия, как форма общественного сознания 16.61 KB
  1Мораль 2Религия 3Искусство4Наука 5Философия 6Политическое сознание 7Право 8Экологическое сознание Религия – представления о мире основанные на вере в сверхъестественное и отражающие мир в иллюзорной форме. Религия как ФОС проявляется в религиозной психологии основанной на эмоциях и религиозной идеологии – учении о Боге и его отношении к миру. Религия существует много веков повидимому также долго как существует человечество.
32854. Мораль, особенности медицинской этики 13.15 KB
  Особенности медицинской этики. Одним из важнейших разделов медицинской этики является деонтология – наука о профессиональном долге врача. в связи с развитием новых медицинских технологий появилась необходимость пересмотра многих принципов медицинской этики. Сформировалась новая наука – биоэтика этика живого – дисциплина определяющая меру ответственности тех кто принимает решение о выборе метода лечения и о применении в медицинской практике новых научных знаний и медицинский технологий.
32855. Искусство 11.91 KB
  Искусство Общество – это обособившаяся от природы часть материального мира высокоорганизованная материальная система подчиняющаяся всеобщим законам и в то же время имеющаяся специфические особенности функционирования и развития. 1Мораль 2Религия 3Искусство 4Наука 5Философия 6Политическое сознание 7Право 8Экологическое сознание Искусство как ФОС – это средство отражения мира в форме художественных образов оно направлено на реализацию эстетических потребностей общества. Искусство – не только ФОС но и деятельность общества по...