Отчет по лабораторной работе № 4
Вариант 45
по дисциплине Программирование и алгоритмизация
наименование учебной дисциплины
Выполнил
Студент гр. КТбз-16-2 С.А. Морозов
06.01.2018
Принял
Доцент Т.В. Зарак
16.01.2018
Иркутск –2018
Цель работы: научиться использовать различные операторы циклов в программах.
Задание №24: (использовать оператор while…)
Написать программу для вычисления функции F, при этом, если не указано количество шагов (бесконечность), то вычисления производить с точностью 10-4 (точность считается достигнутой, если очередное слагаемое или сомножитель по модулю меньше чем точность).
Текстпрограммы:
#include<iostream.h>
#include <math.h>
#include <windows.h>
char bufRus[256];
char* Rus(const char* text)
{
CharToOem(text,bufRus);
return bufRus;
}
void main (void)
{
double p=9, k, F=1, Z, fact=1;
k=1;
while (k<=p)
{
fact*= k;
Z=k/2*1/fact;
F=F*Z;
k++;
}
cout<<Rus("Значение функции F=")<<F<<endl;
|
|
system ("pause");
}
Результат:
Задание №25: (использовать оператор do…while)
Дана последовательность чисел a1, a2, a3, …. Количество элементов в последовательности заранее неизвестно. Написать программу с запросом продолжения ввода:
Получить произведение членов последовательности, кратных P
Текстпрограммы:
#include<iostream.h>
#include <windows.h>
charbufRus[256];
char* Rus(const char* text)
{
CharToOem(text,bufRus);
returnbufRus;
}
int main (void)
{
inti,n,a[100]; char zapros; int sum=0, kol=0;
do
{
cout<<Rus("Введите количество элементов последовательности n = "); cin>>n;
for (i=0;i<n;i++)
{
a[i] = rand() % 200;
cout<<a[i]<< " ";
}
cout<< "\n";
for (int i = 0; i < n; i++)
{
if ((a[i] % 5 == 0) && (a[i] % 7!= 0))
{
sum+= a[i];
kol++;
}
}
cout<< "\n";
cout<<Rus("Сумма кратных 5 и не кратных 7: ")<<sum<<endl;
cout<<Rus("Количество кратных 5 и не кратных 7: ") <<kol<<endl<<endl;
cout<<Rus("Продолжить работу (y, Y)?"); cin>>zapros;
}
while ((zapros == 'y') || (zapros == 'Y'));
return 0;
}
Результат:
Задание № 63: (использовать оператор for…)
Написать программу с использованием хранения последовательности чисел в памяти компьютера (количество чисел в последовательности считать известным): Дана последовательность: а1 … аn. Получить:
|
|
Получить: min(a2, a4….) + max(a1, a3….)
Текстпрограммы:
#include<iostream.h>
#include <windows.h>
charbufRus[256];
char* Rus(const char* text)
{
CharToOem(text,bufRus);
returnbufRus;
}
int main ()
{
inti,n,a[20]={71,16,1,32,19,54,31,12,19,2,3,14,23,8,4,9,6,13,8,7};
int min = 2147483647, max = 0, P;
cout<<Rus("Введите количество элементов последовательности (не более 20) n = "); cin>>n;
{
for (i=0; i < n; i++)
cout<<Rus("a[") << i<< "] = "<<a[i]<<"\n";
}
cout<< "\n";
for (i = 0; i < n; i++)
{
if (i % 2 == 0)
{
if (a[i]<min)
min = a[i];
}
else
if (a[i]>max)
max = a[i];
}
P=min+max;
cout<<"min(a2, a4...) + max(a1, a3...) = "<<P<<endl;
system ("pause");
return 0;
}
Результат:
Ответы на вопросы:
Что такое цикл?
Циклом называют такую форму организации действий, при которой одна и та же последовательность операторов выполняется несколько раз, пока выполняется некоторое условие.
2. Формы записи операторов цикла в С++.
Основная форма оператора цикла while (цикл с предусловием) имеет следующий вид:
while (<условие>) <оператор>;
Основная форма оператора do … while (цикл с постусловием)следующая:
do {
<последовательность операторов>;
} while (<условие>);
Основная форма цикла for (цикл «для каждого») имеет вид:
for (<инициализация>; <проверка условия>; <изменение>) <оператор>;