Ввод и вывод числовых данных.
Задача № 1.25. Дана сторона квадрата. Найти его периметр.
Решение: Так как все стороны квадрата равны, периметр можно найти, умножив сдлину стороны на 4. Составим блок-схему к данной задаче, представленную (см. рис. 1).
Рисунок 1 - Блок-схема к задаче № 1.25
Далее составим программу, по которой будет выполняться данная
задача (Листинг 1). Резултат работы программы приведен на рисунке 2.
Листинг 1 – Ввод и вывод числовых данных.
________________________________________________________
#include <iostream> //описание функций работы с потоками ввода вывода
#include <conio.h> //описание функций работы с консолью
using namespace std;
//Главная функция
void main()
{
//Функция вывода русских символов в консоль
setlocale(LC_ALL,"Russian");
int a, res;
//Повторять операцию вычисления
do {
res = 0;
int result;
//Очистка консоли
system("cls");
cout << "1.Ввод вывод (1.25):" << endl << endl;
cout << "Введите длину квадрата:";
//Прием параметра
cin >> a;
//Проверка на правильность ввода данных
if (a<=0) cout << "ОШИБКА: Сторона не может быть отрицательной!" << endl << endl;
//расчет периметра
else
{
cout << endl << "-------РАСЧЕТ-------" << endl << endl;
//Расчет по формуле
result = 4*a;
//Вывод результата
cout << "Периметр квадрата равен: " << result << endl << endl;
}
cout << "Повторить (1) или выйти (другое число)? ";
cin >> res;
}
//Пока пользователь вводит 1 в конце каждой процедуры вычисления
while (res == 1);
return;
}
________________________________________________________
Рисунок 2 – Результат выполнения программы
Целочисленная арифметика.
Задача № 2.17. Дано трехзначное число. Найти число, полученное при перестановке второй и третьей цифр заданного числа.
Решение: для перестановки цифр трехзначного числа, сначала необходимо выделить эти цифры. Это можно сделать следующим образом:
1) Пусть дано число 654.
2) Разделим это число на 100, получим как результат – целое число 6 (количество сотен h=6) и остаток от деления (r=54). Запомним оба этих числа.
3) Теперь разделим получившийся в предыдущем пункте остаток на 10. Получим целое число 5 (количество десятков d=5) и остаток 4 (количество единиц i=4).
4) Теперь восстановим исходное число, но поменяем при этом разряды десятков и единиц местами:
Составим блок-схему к данной задаче (см. рис. 3).
Рисунок 3 - Блок-схема к задаче № 2.17
Далее составим программу, по которой будет выполняться данная
задача (Листинг 2). Резултат работы программы приведен на рисунке 4.
Листинг 2 – Целочисленная арифметика.
________________________________________________________
#include <iostream> //описание функций работы с потоками ввода вывода
#include <conio.h> //описание функций работы с консолью
using namespace std;
//Главная функция
void main()
{
//Функция вывода русских символов в консоль
setlocale(LC_ALL,"Russian");
int a, res, hundr, dec, integer, rest, result;
//Повторять операцию вычисления
do {
res = 0;
int result;
//Очистка консоли
system("cls");
cout << "2.Целочисленная арифметика (2.17):" << endl << endl;
cout << "Введите трехзначное число:";
//Прием параметра
cin >> a;
//Проверка на правильность ввода данных
if (a<100 || a>=1000) cout << "ОШИБКА: Число должно быть трехзначным!" << endl << endl;
//меняем 2ю и 3ю цифры местами
else
{
cout << endl << "-------РАСЧЕТ-------" << endl << endl;
//получаем количество сотен
hundr = a/100;
//получаем остаток от деления на 100
rest = a % 100;
//получаем количество десятков
dec = rest/10;
//получаем количество единиц
integer = rest % 10;
//теперь формируем результат, меняя десятки и единицы
result = hundr*100 + integer*10 + dec;
cout << "Число, в котором 2ю и 3ю цифру поменяли местами: " << result << endl << endl;
}
cout << "Повторить (1) или выйти (другое число)? ";
cin >> res;
}
//Пока пользователь вводит 1 в конце каждой процедуры вычисления
while (res == 1);
return;
}
________________________________________________________
Рисунок 4 – Результат выполнения программы