- •Розділ 1.Технологія створення програм Етапи рішення прикладних задач з використанням комп'ютерів
- •Кроки роботи з програмою
- •Короткий огляд мов програмування
- •Створення програмного проекту
- •Засоби і методика відладки програм
- •Програмна реалізація алгоритмів лінійної структури
- •Програмна реалізація алгоритмів розгалужених структур
- •Програмна реалізація алгоритмів циклічних структур
Програмна реалізація алгоритмів розгалужених структур
1. Обчислити значення логічного виразу при наступних значеннях логічних величин : А = Істина, В = Хибність, С = Хибність: не А і В;
Вхідні дані:
A, B, C. Цілі числа.
Вихідні дані:
ціле число.
Текст програми.
#include<iostream>
#include<windows.h>
#include<iomanip>
#include<math.h>
using namespace std;
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int A=1,B=0;
cout<<(!A&&B)<<endl;
}
Результат:
0
Для продолжения нажмите любую клавишу . . .
2. Записати умову, яка є істинною, коли кожне з чисел А і В більше 100;
Вхідні дані:
A,B . Цілі числа.
Вихідні дані:
Текстове повідомлення.
Розробка алгоритму.
Вводимо A і B і отримуємо повідомлення чи кожне з цих чисел більше 100.
Текст програми.
#include<iostream>
#include<windows.h>
#include<iomanip>
#include<math.h>
using namespace std;
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int A,B;
cin>>A>>B;
if(A>100&&B>100)cout<<"Істина"<<endl;
else cout<<"Хибність"<<endl;
}
Результат:
150
140
Істина
Для продолжения нажмите любую клавишу . . .
3. Записати умову, яка є істинною, коли точка з координатами (х, у) потрапляє в заштриховані ділянки.
Вхідні дані:
x,y . Дійсні числа.
Вихідні дані:
Текстове повідомлення.
Розробка алгоритму.
Вводимо x, y, програма аналізує задані значення і видає відповідне повідомлення.
Текст програми. (1)
#include <iostream>
#include <windows.h>
#include <iomanip>
using namespace std;
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
double x, y;
cin>>x>>y;
if(y<=1.5&&y>=-2)cout<<"Потрапляє"<<endl;
else cout<<"Не потрапляє"<<endl;
}
Результат:
1
2
Не потрапляє
Для продолжения нажмите любую клавишу . . .
Текст програми. (2)
#include <iostream>
#include <windows.h>
#include <iomanip>
using namespace std;
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
double x,y;
cin>>x>>y;
if(x>=-1&&x<=1&&y>=-1&&y<=1&&x<=y)cout<<"Потрапляє"<<endl;
else cout<<"Не потрапляє"<<endl;
}
Результат:
1
1
Потрапляє
Для продолжения нажмите любую клавишу . . .
Відомі дві відстані:- одна в кілометрах, друга - у футах (1 фут = 0,45 м). Яка з відстаней менше?
Вхідні дані:
Відстані. Дійсні числа.
Вихідні дані:
Текстове повідомлення.
Розробка алгоритму.
Вводяться дві відстані, обидві відстані переводяться в метри, потім аналізується яка з відстаней менша і видається відповідне текстове повідомлення.
Текст програми
#include<iostream>
#include<windows.h>
#include<iomanip>
#include<math.h>
using namespace std;
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
double km,fut;
cout<<"Введіть першу відстань в кілометрах, а другу - в футах:"<<endl;
cin>>km>>fut;
km=km*1000;
fut=fut*0.45;
if(km>fut)cout<<"Відстань в футах менша"<<endl;
else cout<<"Відстань в кілометрах менша"<<endl;
}
Результат
Введіть першу відстань в кілометрах, а другу - в футах:
1
5
Відстань в футах менша
Для продолжения нажмите любую клавишу . . .
Відомі рік і номер місяця народження людини, а також рік. і номер місяця сьогоднішнього дня (січень — 1 і т. д.). Визначити вік людини (число повних років). В разі збігу вказаних номерів місяців вважати, що пройшов повний рік.
Вхідні дані:
Роки і номери місяців. Цілі числа.
Вихідні дані:
Повні роки. Ціле число.
Розробка алгоритму.
Задаємо рік і номер місяця народження людини, програма аналізує ці дані і видає вік людини.
Текст програми
#include <iostream>
#include <windows.h>
#include <iomanip>
using namespace std;
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int year_birth,month_birth,year_current=2015,month_current=3;
cout<<year_current<<endl<<month_current<<endl;
cout<<"Введіть рік: ";
cin>>year_birth;
cout<<"Введіть місяць: ";
cin>>month_birth;
if(month_birth<month_current) cout<<year_current-year_birth<<endl;
else cout<<year_current-year_birth-1<<endl;
}
Результат
2015
3
Введіть рік: 1998
Введіть місяць: 4
16
Для продолжения нажмите любую клавишу . . .
Switch
1. Скласти програму, яка залежно від порядкового номера дня місяця (1, 2. .., 12) виводить на екран його назву (січень, лютий, ...грудень).
Вхідні дані:
n . Ціле число.
Вихідні дані:
назва місяця.
Розробка алгоритму.
Спочатку вводиться порядковий номер місяця, потім програма аналізує це значення і виводить відповідне текстове повідомлення.
Текст програми.
#include <iostream>
#include <windows.h>
#include <iomanip>
using namespace std;
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int n;
cout<<"Введіть номер місяця: ";
cin>>n;
switch(n)
{
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 7: 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;break;
default: cout<<"Введенно непрвильне значення"<<endl;break;
}
}
Результат:
Введіть номер місяця: 5
Травень
Для продолжения нажмите любую клавишу . . .
Дата деякого дня характеризується двома натуральними числами: m (порядковий номер місяця) і n (число). По заданих m і n визначити дату попереднього дня (прийняти, що m і n не характеризують 1 січня). Рік не є високосним.
Вхідні дані:
n,m.Натуральні цілі числа.
Вихідні дані:
натуральні цілі числа.
Розробка алгоритму.
Спочатку задаються порядковий номер місяця і число, потім програма аналізує введені дані і видає значення попереднього дня.
Текст програми.
#include <iostream>
#include <windows.h>
#include <iomanip>
using namespace std;
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
short int month, day;
cout<<"Введіть місяць та день: ";
cin>>month>>day;
switch(month)
{
case 1:if(day==1&&day>31){cout<<"error"<<endl;return;} else day=day-1;;break;
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:if(day==1){month=month-1;day=30;}else if(day>31){cout<<"error"<<endl;return;}else day=day-1;;break;
case 4:
case 6:
case 9:
case 11:if(day==1){month=month-1;day=31;}else if(day>30){cout<<"error"<<endl;return;}else day=day-1;;break;
case 2:if(day==1){month=month-1;day=31;}else if(day>28){cout<<"error"<<endl;return;}else day=day-1;;break;
default:cout<<"error"<<endl;
}
cout<<" "<<day<<'.'<<month<<endl<<"(День-місяць)"<<endl;
}
Результат:
Введіть місяць та день: 5
7
6.5
(День-місяць)
Для продолжения нажмите любую клавишу . . .
