Читайте также:
|
|
Завдання 2. Розрахувати значення при заданому значенні х:
Вхідні дані:god a b
Вихідні дані: виведення повідомлення про колір та тварину
Алгоритм.
Текст програми.
//цикл начинается с 1-го года
#include<iostream>
#include<math.h>
#include<locale>
using namespace std;
void main()
{
int a=0;
setlocale(LC_ALL,"Russian");
int god;
cout<<"введите год"<<endl;
cin>>god;
if(god>60)
god=god%60;
switch(god%12)
{
case 0:a=1;
break;
case 1:a=0;
break;
case 2:a=-1;
break;
case 3:a=-2;
break;
}
switch(god/(12+a))
{
case 0:cout<<"зеленая"<<endl;
break;
case 1:cout<<"красная"<<endl;
break;
case 2:cout<<"желтая"<<endl;
break;
case 3:cout<<"белая"<<endl;
break;
case 4:cout<<"черная"<<endl;
break;
}
int b=0;
if(god>12)
god=god%12;
switch(god%1)
{
case 0:b=1;
break;
case 1:b=0;
break;
case 2:b=-1;
break;
case 3:b=-2;
break;
case 4:b=-3;
break;
case 5:b=-4;
break;
case 6:b=-5;
break;
case 7:b=-6;
break;
case 8:b=-7;
break;
case 9:b=-8;
break;
case 10:b=-9;
}
if(god%1==0)
b=1;
switch(god/(1+b))
{
case 1:cout<<"крыса"<<endl;
break;
case 2:cout<<"корова"<<endl;
break;
case 3:cout<<"тигр"<<endl;
break;
case 4:cout<<"дракон"<<endl;
break;
case 5:cout<<"змея"<<endl;
break;
case 6:cout<<"конь"<<endl;
break;
case 8:cout<<"овца"<<endl;
break;
case 9:cout<<"обезяна"<<endl;
break;
case 10:cout<<"курица"<<endl;
break;
case 11:cout<<"собака"<<endl;
break;
case 12:cout<<"свинья"<<endl;
}
system("pause");
}
Програмна реалізація алгоритмів циклічної структури. Прості цикли.
Оператор циклу з лічильником.
1. Завдання 1. Година обслуговування. Для кожного відвідувача перукарні (з одним майстром) відомі наступні величини: tp - момент його приходу і to - тривалість його обслуговування. Скільки клієнтів обслужить майстер за зміну тривалістю t_smena?
Вхідні дані: tp to tsmena тип int
Вихідні дані:sum тип int та повідомлення скільку перукар обслужить клієнтів
Алгоритм.
Застосовуємо цикл фор для знаходження сумі клієнтів
Текст програми.
#include<iostream>
#include<math.h>
#include<locale>
using namespace std;
void main()
{
setlocale(LC_ALL,"Russian");
int to;int tp;int tsmena;
int sum=0;
cout<<"введіть в сількі прийшов прийшов клієнт"<<endl;
cin>>to;
cout<<"ведіть скільки він обслуговувався"<<endl;
cin>>tp;
cout<<"введить скільки триває зміна"<<endl;
cin>>tsmena;
for(int i=to;i<tsmena;i+=tp)
sum=sum+i;
cout<<"він обслужить"<<sum<<"клієнтів"<<endl;
system("pause");
}
2. Завдання 2. Розклад. Відомий година качану і закінчення (наприклад, 6:00 і 24:00) роботи деякого приміського автобусного маршруту з одним автобусом на лінії, а також протяжність маршруту в хвилинах (у один кінець) і година відпочинку на кінцевих зупинках. Скласти добовий розклад цього маршруту (моменти відправлення з кінцевих пунктів) без урахування годині на обід і перезміну.
Вхідні дані:a,b,c тип int
Вихідні дані:повідомлення про росклад транспорту
Алгоритм.
Створюємо цикл фор в якому робимо росклад
Текст програми.
#include<iostream>
#include<math.h>
#include<locale>
using namespace std;
void main()
{
setlocale(LC_ALL,"Russian");
int a,b,c;
cout<<"введіть початок роботи транспорта"<<endl;
cin>>a;
cout<<"введить кінець роботі транспорта"<<endl;
cin>>b;
cout<<"введіть проміжок часу за який транспорт робить круг"<<endl;
cin>>c;
for(int i=a;i<b;i+=c)
{
cout<<"автобус відправляєтся у "<<i<<" хвилин"<< endl;
}
system("pause");
}
Програмна реалізація алгоритмів циклічної структури. Вкладені цикли.
Організація виводу з використанням вкладених циклів.
1. Завдання 1 Дано натуральне число n. Вичислити 11 + 22 +..+ nn
Вхідні дані:n тип double
Вихідні дані:sum тип int
Алгоритм.
Створюэмо цикл фор для обчислення суми прогресії
Текст програми.
#include<iostream>
#include<math.h>
#include<locale>
using namespace std;
void main()
{
setlocale(LC_ALL,"Russian");
double n;
int sum=0;
cout<<"input n"<<endl;
cin>>n;
for(double i=1;i<n;i++)
{
sum=sum+(pow(i,i));
}
cout<<sum<<endl;
system("pause");
}
Завдання 2 Дані натуральні числа m і n. Вичислити 1n + 2n.. + mn.
Вхідні дані:m,n,sum тип double
Вихідні дані:sum тип double
Алгоритм.
Створюєсо два алгоритми для(зовнішнього та внутрішнього) для знаходженя суми
Текст програми.
#include<iostream>
#include<math.h>
#include<locale>
using namespace std;
void main()
{
setlocale(LC_ALL,"Russian");
double m,n;double sum=0;
cout<<"input m"<<endl;
cin>>m;
cout<<"input n"<<endl;
cin>>n;
for(double i=0;i<m;i++)
{
for(double j=0;j<n;j++)
{
sum=sum+(pow(i,j));
}
}
cout<<sum<<endl;
system("pause");
}
Програмна реалізація алгоритмів роботи з одновимірними масивами.
1. Завдання 1 Задано масив ненульових цілих чисел. Визначити, скільки разів елементи масиву при перегляді від його початку міняють знак. Наприклад, в масиві 10, - 4, 12, 56, - 4, - 89 знак міняється 3 рази.
0 до 10 включно.
Вхідні дані: minus, plus, znak, mas тип int
Вихідні дані: znak тип int
Алгоритм.
Знаходимо кількість від’ємний чисел та додатніх і виводимо на екран їх різницю
Текст програми.
#include<iostream>
#include<math.h>
#include<locale>
using namespace std;
void main()
{
setlocale(LC_ALL,"Russian");
int mas[10];
int minus=mas[0];
int plus=mas[0];
for(int i=0;i<10;i++)
{
mas[i]=rand()%-19+10;
cout<<mas[i]<<endl;
}
for(int i=0;i<10;i++)
{
if(mas[i]<0) minus++;
if(mas[i]>0) plus++;
}
int znak=plus-minus;
cout<<"знак міняєтся "<<znak<<"раз"<<endl;
system("pause");
}
2. Завдання 2. Змінити знак у максимального по модулю елементу масиву. Мінімальний елемент масиву при цьому не визначати.
Вхідні дані: max mas тип int
Вихідні дані: mas тип int
Алгоритм.
Знаходимо максимальний елемент домножаємо його на -1 і прирівнюємо його до максимального єлементу масиву
Текст програми.
#include<iostream>
#include<math.h>
#include<locale>
using namespace std;
void main()
{
setlocale(LC_ALL,"Russian");
int mas[10];
int max=mas[0];
for(int i=0;i<10;i++)
{
mas[i]=rand()%40;
cout<<mas[i]<<endl;
}
for(int i=0;i<10;i++)
{
if(mas[0]>max)
{
max=mas[0];
}
}
max=max*(-1);
for(int i=0;i<10;i++)
{
if(mas[i]==max)
{
mas[i]=max;
}
}
system("pause");
}
Програмна реалізація алгоритмів роботи з багатовимірними масивами.
1. Завдання 1 Заповнити двовимірний масив розміром nхn одиницями і нулями так, щоб одиниці розміщувалися так, як розміщуються на шаховій дошці чорні поля, а нулі - як білі поля. Ліве нижнє поле на шахівниці завжди чорне. Завдання вирішити:
Вхідні дані: mas тип int
Вихідні дані: mas тип int
Алгоритм.
Створюємо два цикли (зовнішній і внутрішній)! створюємо умові превіряючи чи елемент I та j парний заповнюємо масив нулями!в іншому випадку одиницямі
Текст програми.
#include<iostream>
#include<math.h>
#include<locale>
using namespace std;
void main()
{
setlocale(LC_ALL,"Russian");
const int n=6;
int mas[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if((i%2==0&&j%2==0)||(i%2==1&&j%2==0))
mas[i][j]=0;
else
mas[i][j]=1;
cout<<mas[i][j]<<" ";
}
}
system("pause");
}
2. Завдання 2. Задано двовимірний масив цілих чисел Визначити суму тих елементів масиву, сума індексів яких кратна трьом.
Вхідні дані: mas тип int
Вихідні дані: mas тип int
Алгоритм.
Створюємо два алгоритми (зовнішнюній та внутрішній) створюєсо умову якщо один з індексів кратній трьом то знаходимо суму цих елементів масиву
Текст програми.
#include<iostream>
#include<math.h>
#include<locale>
using namespace std;
void main()
{
setlocale(LC_ALL,"Russian");
const int n=6;
int sum=0;
int mas[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(i%==0||j%3==0)
{
sum+=mas[i][j];
}
}
}
system("pause");
}
Програмна реалізація алгоритмів з використанням функцій.
1. Завдання 1 Написати програму, яка "малює" по периметру екрану рамку з символів "*". Для виведення рядка розробити окрему функцію.
Вхідні дані: немає
Вихідні дані: немає
Алгоритм.
Дуже простий =))
Текст програми.
#include<iostream>
#include<math.h>
#include<locale>
using namespace std;
void nm();
void main()
{
setlocale(LC_ALL,"Russian");
nm();
system("pause");
}
void nm ()
{
for(int i=0;i<40;i++)
cout<<"* ";
}
Завдання 2. Розрахувати значення x або у, визначивши і використавши необхідну функцію:
Вхідні дані: x a b тип int
Вихідні дані: немає
Алгоритм.
Створюсмо функцию з по приладу і визиваємо її тричі у головній функції
Текст програми.
#include<iostream>
#include<math.h>
#include<locale>
using namespace std;
double nm();
void main()
{
setlocale(LC_ALL,"Russian");
double n=nm(6)+nm(13)+nm(21);
system("pause");
}
double nm (double a)
{
return ((sqrt(a)+a)/2);
}
ЛІТЕРАТУРА
1. Шилдт Г. Самоучитель С++, 3-е издание.– СПб.: Питер, 2005. - 688 C.
2. Нейгел, Ивьен, Глинн, Уотсон, Скиннер C# 2008 и платформа.NET 3.5 для профессионалов. – СПб.: Питер, 2008.- 1392
Дата добавления: 2015-10-21; просмотров: 81 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
З навчальної практики з предмету | | | Оператор Switch. |