Смекни!
smekni.com

Програмний продукт Pacific З Compiler (стр. 3 из 8)

Вхідні дані: параметр 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:"<<"&bsol;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<<"&bsol;n"; //Виводимо відповідь

cout<<"Для виходу введіть EXIT:"<<"&bsol;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"<<"&bsol;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]<<"&bsol;n"; //Виводимо відповідь

cout<<"&bsol;n"<<"Для виходу введіть EXIT:"<<"&bsol;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)"<<"&bsol;n";//Даємо запрос на введення чисел

//Nта M при умові (N>M)

p: //Мітка р:

cout<<"N="; //Запрос на введення N

cin>>N; //Вводимо N

cout<<"M="; //Запрос на введення М

cin>>M; //Вводимо М

if(M>N)//При умові М>N

{

cout<<"ERROR: Введіть N>M"<<"&bsol;n";//буде виведено повідомлення

goto p; //Перехід до мітки р:

}

S=0; //Обнулюємо початкове значення суми S

for(M;M<=N;M++) //Задаємо цикл для проходження значень

//параметра M від свого значення до N,кроком 1

S+=(M*M*log(fact(M,N))); //Знаходимо суму

cout<<"Відповідь: S="<<S<<"&bsol;n"; //Ввиводимо відповідь

cout<<"&bsol;n"<<"Для виходу введіть EXIT:"<<"&bsol;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<<"Введіть ваш рядок &bsol;n"; //Даємо запрос на введення рядка

cout<<"В кінці введіть @:"; //в кінці рядка поставимо “@”

cin>>STRING; //Вводимо рядок

if ((STRING[0]=='@')||(STRING[0]==':')) //Умова: якщо на початку

{ // рядка стоїть “@”,або “:”,програма

cout<<"Цей рядок не містить символів"<<"&bsol;n"; //виводить goto t; //повідомлення і починає працювати після мітки “t”

}

N=0; //Перемінній N присвоюємо значення 0

for (i=0;STRING[i]+='&bsol;0';i++) //Задаємо цикл для проходження значень

{ //параметра і від 0 до символа кінця рядку

if (STRING[i]!='@') //Умова: якщо і-ий елемент масива=”@”

{

STRING1[i]=STRING[i]; //Нічого не відбувається

N=N+1; //Перемінній N присвоюємо її значення додаючи 1

}

else goto p; //В іншому разі – програма виходить з циклу

}

p:;//Мітка р:

cout<<"&bsol;n";//Переводимо курсор на наступний рядок

cout<<"Відповідь: ";//Ввиводимо оголошення про відповідь

for(i=0;i<=N-1;i++) // Задаємо цикл для проходження значень

{ //параметра і від 0 до символа кінця рядку

if (STRING1[i]!=':')//Умова: якщо і-ий елемент масива не=”:”

cout<<STRING1[i];//виводимо його

else goto t; //в іншому випадку програма виходить з циклу

}

cout<<"&bsol;n"; //Переводимо курсор на наступний рядок

t:; //Мітка t:

cout<<"&bsol;n"<<"Для виходу введіть EXIT:"<<"&bsol;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:"<<"&bsol;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<<" Ми ще не дожили до цього часу!"<<"&bsol;n"; //програма

goto p; //виведе повідомлення і перейде до мітки р:

}

r:; //мітка r:

cout<<"Введіть номер вашого місяця народження через ENTER:"<<"&bsol;n";

for (j=0;j<=1;j++) //Задаємо цикл для проходження значень

{ //параметра і від 0 до 1

cout<<"Місяць:";

cin>>MESROJD[j];//Вводимо кожен раз по одній цифрі місяця народж.

}

//Умова: якщо буде введений 13 місяць і більше

if ((MESROJD[0]>=1)&&(MESROJD[1]>=3))

{

cout<<" В 1 році 12 місяців. Спробуйте ще раз."<<"&bsol;n";//програма

goto r; //виведе повідомлення і перейде до мітки r:

}

s:; //мітка s:

cout<<"Введіть номер вашого дня народження через ENTER:"<<"&bsol;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 днів. Спробуйте ще раз."<<"&bsol;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<<"Ваш день народження дуже щасливий"<<"&bsol;n";

else if ((G==M)||(M==D)||(G==D))//Якщо співпадають тільки будь-які

//дві змінні, то програма виведе:

cout<<" Ваш день народження просто щасливий"<<"&bsol;n";

//Якщо співпадань не має, то програма виведе:

else cout<<" Ваш день народження звичайний"<<"&bsol;n

cout<<"Для виходу введіть EXIT:"<<"&bsol;n";//Даємо запрос

cin>>W; //Вводимо зайву перемінну W для затримки екрану

return 0; //Функція вертає 0

} //Кінець функції main()

2.12 Знаходження кількості слів “no”

Програма Proga12.срр призначена для знаходження кількості слів “no”, якщо слова у введеному тексті розділяються пробілами

Вхідні дані: параметр і (символьного типу)

Вихідні дані: кількість kol (цілого типу)

Блок-схема до програми Proga12.срр представлена на рисунку 2.3