Студопедия — Лабораторная работа № 3. Использование циклов
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Лабораторная работа № 3. Использование циклов






 

Цель работы: овладеть практическими навыками использования итеративных конструкций С++ для повторения одного или нескольких операторов.

 

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

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

Общий формат оператора for:

for (инициализация; проверка; увеличение)

{

операторы;

}

Инициализирующее выражение выполняется только один раз в начале выполнения цикла и, как правило, инициализирует счетчик цикла. Условие содержит операцию отношения, которая выполняется в начале каждого цикла. Если условие выполняется, то цикл повторяется, иначе выполняется следующий за телом цикла оператор. Инкрементирующее выражение предназначено для изменения значения счетчика цикла. Модификация счетчика происходит после каждого выполнения тела цикла. Оператор for не обязывает увеличиватьуправляющую переменную на 1 или использовать именно увеличение. Из-за ошибок в программах в некоторых случаях цикл никогда не достигает своего завершающегося условия и зацикливается навсегда. Такие циклы называются бесконечными.

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

while (условие)

{

тело цикла

}

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

Оператор цикла с постусловием имеет общий вид:

do {

тело цикла

}

while (условие);

Когда программа встречает оператор do while, она сразу же выполняет операторы, содержащиеся в цикле. Затем программа исследует условие цикла. Если условие истинно, программа повторяет операторы цикла и процесс продолжается. Если условие становится ложным, программа продолжает свое выполнение с первого оператора, следующего за оператором do while.

 

Задание

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

2. Составить отчет о проделанной работе (аналогично отчету для лабораторной работы №1).

 

Пример выполнения работы

Условие: Вывести на экран таблицу значений функции и ее разложения в ряд для x, изменяющегося от 0, 1 до 1 с шагом h=(b-a)/10, при n=80.

Блок схема алгоритма изображена на рисунке 4.

Рис. 4 Блок схема алгоритма

 

#include < iostream.h>

#include < iomanip.h>

#include < math.h>

#include < conio.h>

 

void main(void)

{

double a, b, h, x, y, s, p;

int n, i;

cout < < " Vvedite a "; cin > > a;

cout < < " Vvedite b "; cin > > b;

cout < < " Vvedite h "; cin > > h;

cout < < " Vvedite n "; cin > > n;

x=a;

do

{

p=s=x;

for (i=1; i< =n; i++)

{

p*=(pow(x, 2))/(2*n*(2*n+1));

s+=p;

}

y=(exp(x)-exp(-x))/2;

cout < < setw(15) < < x < < setw(15) < < y < < setw(15) < < s < < setw(15) < < y-s< < endl;

x+=h;

}

while (x< =b+h/2);

cout < < endl;

cout < < " Vvedite a, b, h, n" < < endl;

getch ();

}

 

Задания для самостоятельного выполнения

Задано натуральное n, вещественное x. Вычислить значение выражения

1.  
2.  
3.
4.
5.    
6.    
7.  
8.

 

Составить программу приближенного вычисления площади фигуры, ограниченной заданными линиями. В вариантах № 9–13 использовать метод прямоугольников. Для построения прямоугольника использовать левый конец отрезка.

9. y = 0, y = 5 xx 2 +14.

10. y = x 2 + 2 x + 2, y = x 2 + 4 x + 5, y =1.

11. y = − x 2 + 2 x + 2, y = − x 2 − 4 x − 1, y = 3.

12. y = 3 x 2 − 4 x + 2, y = 20 − x.

13. y = − 2 x 2 + 3 x + 6, y = x + 2.

В вариантах № 14–17 использовать метод прямоугольников. Для построения прямоугольника использовать правый конец отрезка.

14. y = 0, y = − 2(x − 1)2 + 8.

15. y = 0, y = − 2(x − 3)2 + 2.

16. y = x, x − 3 y + 2 = 0.

17. y = − 2 x 2 + 3 x + 6, y = x + 2.

Контрольные вопросы

1. Что такое итерационный циклический процесс? Его отличия от цикла с заданным числом повторений.

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

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

4. Как смоделировать цикл while циклом for?

5. Как смоделировать цикл while циклом do-while?

6. Как открытый цикл for может эмулировать циклы while и do-while?

7. Ограничивает ли С++ вложение циклов разных типов?

8. Представить общий формат инструкции for.

9. Если цикл включает инструкцию switch, то приведет ли к завершению этого цикла инструкция break, принадлежащая инструкции switch?

10. Пояснить назначение инструкции break в цикле.

 







Дата добавления: 2014-11-10; просмотров: 2389. Нарушение авторских прав; Мы поможем в написании вашей работы!



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Studopedia.info - Студопедия - 2014-2024 год . (0.013 сек.) русская версия | украинская версия