Вхідні дані: параметр N(тип int)
Вихідні дані: сума добутків рядка S (тип double)
#include<iostream.h> //Підключаємо бібліотеки iostream.h
#include<math.h>//та math.h
int fact(int h, int f) //Оголошуємо функцию fact,яка по заданому
{ // параметру h та кінцевому значенню f
// знаходить факторіал цього числа
int result=1;
for (h=1;h==f;h++)
result*=h;
return result*=h;
}
void main() //Оголошуємо головну функцію main()
{
int i,j,N,W; //Оголошуємо перемінні i,j,N,W цілого типу
double S,S1,P; //та перемінні х та S типу double
cout<<"Введіть N:"<<"\n"<<"N=";//Даємо запрос на введення числа N
cin>>N;//Вводимо N
S1=0; //Обнулюємо початкове значення суми S1
P=1;//Добутку P присвоюємо початкове значення 1
for(i=1;i<=N;i++)// Задаємо цикл для проходження значень
{ //параметра і від 1 до N,кроком 1
for(j=1;j<=i;j++) // Задаємо цикл для проходження значень
{ //параметра j від 1 до i,кроком 1
P=fact(j,i)/fact(i,N); //Знаходимо значення Р
S1+=P; //До значення перемінної S1 додаємо значення Р
} //Кінець циклу
}
S=S1; //Перемінній S присвоюємо кінцеве значення перемінної S1
cout<<"Відповідь: S="<<S<<"\n"; //Виводимо відповідь
cout<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.8 Знаходження числа
Програма Proga8.срр призначена для знаходження такого числа аi, що |аi - ai-1 |< е, якщо послідовність
задана по правилу аi = 1 / і, та дано число 0 < е < 0.1 типу doubleВхідні дані: параметр е (тип double)
Вихідні дані: сума рядка S (тип double)
#include<iostream.h> //Підключаємо бібліотеку iostream.h
voidmain() //Оголошуємо головну функцію main()
{
inti; //Оголошуємо перемінну і цілого типу
double e,W;//та перемінні e,W типу double,
double r[100]={0}; //масив r типу double
cout<<"Введіть 0<e<0.1"<<"\n";//Даємо запрос на введення числа “e”
cin>>e;//Вводимо “e”
for (i=0;i<=100;i++) //Задаємо цикл для проходження значень
{//параметра i від 0 до 100,кроком 1
r[i]=(1/(i+1)); //і-й елемент масива =(1/і+1)
if((r[i]-r[i-1])<=e) //Умова: е, яке більше або =(r[i]-r[i-1])
gotop; // програма виходить з циклу по мітці “р”
} //Кінець циклу
p:; //Мітка “р:”
cout<<”Відповідь:е=”<<r[i]<<"\n"; //Виводимо відповідь
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.9 Знаходження суми рядка
Програма Proga9.срр призначена для знаходження суми рядка
якщо задане натуральне число N та М (N>M)
Вхідні дані: параметр М (тип int) параметр N (тип int)
Вихідні дані: сума рядка S (тип double)
#include<iostream.h> //Підключаємо бібліотеки iostream.h
#include<math.h>//та math.h
int fact(int i, int f) //Оголошуємо функцию fact,яка по заданому
{ // параметру i та кінцевому значенню f
// знаходить факторіал цього числа
int result=1;
for (i=1;i<=f;i++)
result*=i;
return result;
}
void main() //Оголошуємо головну функцію main()
{
int N,M,W; //Оголошуємо перемінну і цілого типу
double S;//та перемінну S типу double
cout<<"Введіть N i M; (N>M)"<<"\n";//Даємо запрос на введення чисел
//Nта M при умові (N>M)
p: //Мітка р:
cout<<"N="; //Запрос на введення N
cin>>N; //Вводимо N
cout<<"M="; //Запрос на введення М
cin>>M; //Вводимо М
if(M>N)//При умові М>N
{
cout<<"ERROR: Введіть N>M"<<"\n";//буде виведено повідомлення
goto p; //Перехід до мітки р:
}
S=0; //Обнулюємо початкове значення суми S
for(M;M<=N;M++) //Задаємо цикл для проходження значень
//параметра M від свого значення до N,кроком 1
S+=(M*M*log(fact(M,N))); //Знаходимо суму
cout<<"Відповідь: S="<<S<<"\n"; //Ввиводимо відповідь
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.10Виведення заданого рядка до першого знаку “
Програма Proga10.срр призначена для виведення заданого рядка, який закінчується “@”, до першого знаку “:”
Вхідні дані: символьний масив STRING (тип char)
Вихідні дані: заданий рядок до першого знаку “:”
#include<iostream.h> //Підключаємо бібліотеки iostream.h
#include<math.h> //та math.h
void main() //Оголошуємо головну функцію main()
{
int W,N; //Оголошуємо перемінні W,N цілого типу,
char STRING[100]={0}; //масив STRING
char STRING1[100]={0}; //та STRING1 символьного типу,
char i; //перемінну і символьного типу
cout<<"Введіть ваш рядок \n"; //Даємо запрос на введення рядка
cout<<"В кінці введіть @:"; //в кінці рядка поставимо “@”
cin>>STRING; //Вводимо рядок
if ((STRING[0]=='@')||(STRING[0]==':')) //Умова: якщо на початку
{ // рядка стоїть “@”,або “:”,програма
cout<<"Цей рядок не містить символів"<<"\n"; //виводить goto t; //повідомлення і починає працювати після мітки “t”
}
N=0; //Перемінній N присвоюємо значення 0
for (i=0;STRING[i]+='\0';i++) //Задаємо цикл для проходження значень
{ //параметра і від 0 до символа кінця рядку
if (STRING[i]!='@') //Умова: якщо і-ий елемент масива=”@”
{
STRING1[i]=STRING[i]; //Нічого не відбувається
N=N+1; //Перемінній N присвоюємо її значення додаючи 1
}
else goto p; //В іншому разі – програма виходить з циклу
}
p:;//Мітка р:
cout<<"\n";//Переводимо курсор на наступний рядок
cout<<"Відповідь: ";//Ввиводимо оголошення про відповідь
for(i=0;i<=N-1;i++) // Задаємо цикл для проходження значень
{ //параметра і від 0 до символа кінця рядку
if (STRING1[i]!=':')//Умова: якщо і-ий елемент масива не=”:”
cout<<STRING1[i];//виводимо його
else goto t; //в іншому випадку програма виходить з циклу
}
cout<<"\n"; //Переводимо курсор на наступний рядок
t:; //Мітка t:
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.11Виведення дня народження
Програма Proga11.срр призначена для розрахунку дуже щасливого, щасливого або звичайного дня народження по введеному року, місяцю та дню народження користувача
Вхідні дані: масиви цілих чисел GODROJD,MASROJD,DENROJD
параметри Sgod,Smes,Sden (тип int)
Вихідні дані: дуже щасливий, просто щасливий або звичайний день народження користувача
#include<iostream.h>> //Підключаємо бібліотеки iostream.h
#include<math.h> //та math.h
main() //Оголошуємо головну функцію main()
{
int G,M,D,i,j,k,W; //Оголошуємо перемінні G,M,D,i,j,k,W,
int Sgod,Smes,Sden; //Sgod,Smes,Sden цілого типу
int GODROJD [4]; //масив GODROJD,
int MESROJD [2]; //масив MESROJD,
int DENROJD [2]; //масив DENROJD цілого типу
p:; //мітка Р:
cout<<"Введіть ваш рік народження через ENTER:"<<"\n"; //запрос
for (i=0;i<=3;i++) //Задаємо цикл для проходження значень
{ //параметра і від 0 до 3
cout<<"Рік:";
cin>>GODROJD[i]; //Вводимо кожен раз по одній цифрі року народж.
}
//Умова: якщо буде введений 2004 рік і більше,
if((GODROJD[0]>=2)&&(GODROJD[1]>=0)&&(GODROJD[2]>=0)&&(GODROJD[3]>=4))
{
cout<<" Ми ще не дожили до цього часу!"<<"\n"; //програма
goto p; //виведе повідомлення і перейде до мітки р:
}
r:; //мітка r:
cout<<"Введіть номер вашого місяця народження через ENTER:"<<"\n";
for (j=0;j<=1;j++) //Задаємо цикл для проходження значень
{ //параметра і від 0 до 1
cout<<"Місяць:";
cin>>MESROJD[j];//Вводимо кожен раз по одній цифрі місяця народж.
}
//Умова: якщо буде введений 13 місяць і більше
if ((MESROJD[0]>=1)&&(MESROJD[1]>=3))
{
cout<<" В 1 році 12 місяців. Спробуйте ще раз."<<"\n";//програма
goto r; //виведе повідомлення і перейде до мітки r:
}
s:; //мітка s:
cout<<"Введіть номер вашого дня народження через ENTER:"<<"\n";
for (k=0;k<=1;k++) //Задаємо цикл для проходження значень
{ //параметра і від 0 до 1
cout<<"День:";
cin>>DENROJD[k]; //Вводимо кожен раз по одній цифрі дня народж.
}
//Умова: якщо буде введений 32 день місяця і більше
if ((DENROJD[0]>=3)&&(DENROJD[1]>=2))
{
cout<<" В 1 місяці 31 або 30 днів. Спробуйте ще раз."<<"\n";
goto s; //програма виведе повідомлення і перейде до мітки s:
}
Sgod=0; //Обнуляємо значення перемінної Sgod
for (i=0;i<=3;i++) //Задаємо цикл для проходження значень
//параметра і від 0 до 3
Sgod+=GODROJD[i];//До значення перемінної Sgod додаємо значення
//і-го елементу масива GODROJD
Smes=0; //Обнуляємо значення перемінної Smes
for (j=0;j<=1;j++) //Задаємо цикл для проходження значень
//параметра і від 0 до 1
Smes+=MESROJD[j];//До значення перемінної Smes додаємо значення
//і-го елементу масива MESROJD
Sden=0; //Обнуляємо значення перемінної Sden
for (k=0;k<=1;k++) //Задаємо цикл для проходження значень
//параметра і від 0 до 1
Sden+=DENROJD[k]; //До значення перемінної Sden додаємо значення
//і-го елементу масива DENROJD
G=Sgod%7;//перемінній G присвоюємо залишок від ділення на 7
//перемінної Sgod
M=Smes%7;//перемінній M присвоюємо залишок від ділення на 7
//перемінної Smes
D=Sden%7;//перемінній D присвоюємо залишок від ділення на 7
//перемінної Sden
if((G==M)&&(M==D)&&(G==D)) //Умова: якщо значення змінної G дорівнює //значенню змінної М, значення змінної М дорівнює значенню змінної D //та значення змінної G дорівнює значенню змінної D, то програма //виведе:
cout<<"Ваш день народження дуже щасливий"<<"\n";
else if ((G==M)||(M==D)||(G==D))//Якщо співпадають тільки будь-які
//дві змінні, то програма виведе:
cout<<" Ваш день народження просто щасливий"<<"\n";
//Якщо співпадань не має, то програма виведе:
else cout<<" Ваш день народження звичайний"<<"\n
cout<<"Для виходу введіть EXIT:"<<"\n";//Даємо запрос
cin>>W; //Вводимо зайву перемінну W для затримки екрану
return 0; //Функція вертає 0
} //Кінець функції main()
2.12 Знаходження кількості слів “no”
Програма Proga12.срр призначена для знаходження кількості слів “no”, якщо слова у введеному тексті розділяються пробілами
Вхідні дані: параметр і (символьного типу)
Вихідні дані: кількість kol (цілого типу)
Блок-схема до програми Proga12.срр представлена на рисунку 2.3