Студопедия

Главная страница Случайная страница

Разделы сайта

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






Арифметические циклы






Лабораторная работа №5. Итерационные и арифметические циклы. Вложенные циклы

 

Цель и порядок работы

 

Цель работы – изучить операторы, используемые при организации программ циклических вычислительных процессов, получить практические навыки в составлении программ. Научиться применять арифметические и итерационные циклы. Получить навыки работы с вложенными циклами.

Порядок выполнения работы:

- ознакомиться с описанием лабораторной работы;

- получить задание у преподавателя, согласно своему варианту;

- написать программу и отладить ее на ЭВМ;

- оформить отчет.

Краткая теория

Циклическая структура программы позволяет производить многократные вычисления группы операторов при изменении одного или нескольких параметров одновременно. В языке C++ имеются три взаимозаменяемых оператора цикла: for, do while, while. При описании цикла в нем явно или неявно присутствуют четыре элемента: начальные установки (инициализирующее выражение), тело цикла, модификация параметров цикла и проверка условия прекращения цикла.

Подробнее операторы цикла описаны в лабораторной работе №4.

Арифметические циклы

Арифметические циклы предназначены для вычислений с заранее неизвестным количеством повторений итераций. Для данного вида циклов обычно используется оператор for, однако такую же функциональность можно реализовать и при помощи циклов do while и while.

Рассмотрим примеры использования арифметических циклов.

Например, необходимо вычислить значение факториала n!.

Факториал числа n (обозначается n!, произносится эн факториа́ л) – произведение всех натуральных чисел до n включительно: n! = 1*2*3*…*n.

По определению полагают 0! = 1.

Факториал определён только для целых неотрицательных чисел.

 

#include " stdafx.h"

#include < iostream>

 

using namespace std;

 

void main ()

{

int n, nf = 1;

cout < < " Input number" < < endl;

cin > > n;

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

nf *= i;

 

cout < < " n! = " < < nf;

}

 

Однако шаг цикла может быть не только целым числом. При этом определенность количества итераций останется.

Например, необходимо написать программу, печатающую таблицу значений функции на интервале [0.5, 1.5] с шагом 0.1.

Входными данными являются значения границы интервалов [x0, xn] и шаг dx. Все величины вещественные.

Ввод и вывод осуществим при помощи функций библиотеки stdio.h.

 

#include " stdafx.h"

#include < stdio.h>

#include < math.h>

 

void main ()

{

float x0, xn, dx;

 

printf ( " Input x0, xn, dx: \n" );

scanf ( " %f%f%f", & x0, & xn, & dx );

printf ( " +-----------+-----------+\n" );

printf ( " | x | y |\n" );

printf ( " +-----------+-----------+\n" );

for (float x = x0; x < = xn; x += dx )

{

float y;

if ( x > 1 )

y = pow ( x - 3, 3 )/ x;

Else

y = pow ( x, 3 ) - 3 * x;

 

printf ( " | %9.3f | %9.3f |\n", x, y );

 

}

printf ( " +-----------+-----------+\n" );

}

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.