Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Арифметические циклыСтр 1 из 4Следующая ⇒
Лабораторная работа №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" ); }
|