Отчет по практике: Програмний продукт Pacific З Compiler
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
#include<stdio.h> //Підключаємо бібліотеки stdio.h
#include<conio.h> //та conio.h
oid main() //Оголошуємо головну функцію main()
{
int kol;//Оголошуємо перемінну kol цілого типу,
char i; //та перемінну і символьного типу
//Вводимо рядок в кінці якого просимо поставити @
puts("Введіть ваш рядок. В кінці поставте @: ");
kol=0; //Початкове значення параметра кількості дорівнює 0
i=0; //Задаємо початкове значення параметра і
while((i=getchar())!='@')//Читаємо рядок доки не зустрінеться символ @
{
if ((i=='n')&&(i+1=='o')) //Умова знаходження слова "no"
kol=kol+1; //Якщо умова TRUE, то кількість
//слів збільшуємо на одиницю
i+=1; //Збільшуємо лічильник на одиницю
}
printf("Відповідь: %d \n",kol); //Виводимо відповідь
getch(); //Утримуємо екран
} //Кінець функції main()
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11