Материал: ЛР 3 Информатика 2 сем 2020

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Начало

Целое неотрицательное число number Целое неотрицательное число digit Целое неотрицательное число quantity = 0

Ввод значений number и digit

 

 

нет

number >= 100 ||

да

 

 

 

 

 

 

 

number

<

10

 

нет

digit

>= 10

да

 

 

 

 

 

 

 

 

нет

да

 

 

 

 

 

digit == number % 10

 

 

 

 

 

 

 

quantity++

 

 

 

 

Вывод «некорректное значение number» number -= number % 10

number /= 10

Вывод «некорректное

 

 

значение digit»

нет

 

да

digit ==

number % 10

 

 

 

quantity++

 

 

Вывод quantity

Конец

Составим программу согласно полученой блок-схеме. Для реализации проверок на корректность введѐнных данных воспользуемся конструкцией

«try-throw-catch».

#include <conio.h> #include <iostream>

void main()

{

try

{

unsigned int number; unsigned int digit; unsigned int quantity = 0;

50

std::cout<<"Input number:"; std::cin>>number;

if(number < 10 || number >= 100)

{

throw 1; // Код ошибки, когда заданое число не двузначное

}

std::cout<<"\nInput digit:"; std::cin>>digit; std::cout<<"\n";

if(digit >= 10)

{

throw 2; // Код ошибки, когда задано число, а не

цифра

}

if(digit == number % 10) // если вторая цифра числа такая же, как и заданная цифра

{

quantity++; // считаем сопадение

}

number -= number % 10; number /= 10;

if(digit == number % 10) // если первая цифра числа такая же, как и заданная цифра

{

quantity++; // считаем сопадение

}

std::cout<<quantity; // выводим количество совпадений

}

catch(int errorcode)

{

switch(errorcode) // для обработки ошибок

{

case 1:

std::cout<<"incorrect value of number"; break;

51

case 2:

std::cout<<"incorrect value of digit"; break;

default:

std::cout<<"unknown error";

}

}

std::cout<<"\nPress any key to continue"; _getch();

}

Введѐнное число

23

57

65

33

277

4

38

Введѐнная цифра

2

8

5

3

 

 

27

Результат работы

 

 

 

 

incorrect

incorrect

incorrect

1

0

1

2

value of

value of

value of

программы

 

 

 

 

number

number

digit

Протестируем написанную программу. Для этого запустим еѐ несколько раз, вводя различные числа. Полученные результаты соответствуют действительности, можно предположить, что программа работает верно.

4.4Задания (выполняются по вариантам)

Задача 3.1.1. Ввести с клавиатуры числа х, у. Вывести «Yes» или «No» в зависимости от того, принадлежит ли точка с координатами (x, y) заштрихованной области.

Задача 3.1.2. Ввести с клавиатуры числа х, у. Вывести «Yes» или «No» в зависимости от того, принадлежит ли точка с координатами (x, y) заштрихованной области.

52

Задача 3.1.3. Ввести с клавиатуры числа х, у. Вывести «Yes» или «No» в зависимости от того, принадлежит ли точка с координатами (x, y) заштрихованной области.

Задача 3.1.4. Ввести с клавиатуры числа х, у. Вывести «Yes» или «No» в зависимости от того, принадлежит ли точка с координатами (x, y) заштрихованной области.

Задача 3.1.5. Ввести с клавиатуры числа х, у. Вывести «Yes» или «No» в зависимости от того, принадлежит ли точка с координатами (x, y) заштрихованной области.

Задача 3.1.6. Ввести с клавиатуры числа х, у. Вывести «Yes» или «No» в зависимости от того, принадлежит ли точка с координатами (x, y) заштрихованной области.

53

Задача 3.1.7. Ввести с клавиатуры числа х, у. Вывести «Yes» или «No» в зависимости от того, принадлежит ли точка с координатами (x, y) заштрихованной области

Задача 3.1.8. Ввести с клавиатуры числа х, у. Вывести «Yes» или «No» в зависимости от того, принадлежит ли точка с координатами (x, y) заштрихованной области.

Задача 3.1.9. Ввести с клавиатуры числа х, у. Вывести «Yes» или «No» в зависимости от того, принадлежит ли точка с координатами (x, y) заштрихованной области.

Задача 3.1.10. Ввести с клавиатуры числа x, y. Вычислить z = m + n, где

y, при x > 0;

x, при y > 0;

m = 0, при x == 0;

n = 0, при y == 0;

-y, при x < 0.

- x, при y < 0.

Результат вывести на экран

Задача 3.1.11. Ввести с клавиатуры числа x, y. Вычислить z = m - n, где

x, при x <= -8;

y, при y < -2;

m = x2, при -8 < x <= 8;

n = y2, при -2 <= y < 2;

x3, при x > 8.

y3, при y >= 2.

Результат вывести на экран

 

54

Источник: https://studfile.net/preview/16421893/