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

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

}

void myfuncB() {...

try

{

myfuncA();

}

catch (const char* message)

{

...

}

...

}

Некоторые программные конструкции так же могут «бросать» исключения в определѐнных ситуациях.

4.3Примеры решения задач

Задача А. Ввести с клавиатуры целые числа A и B. Вычислить их сумму, если они одного знака, или разность, если разных. Если одно из чисел 0 - вывести ноль.

Решение

Для определения одного или разных знаков A и B, а так же для определения, равно ли одно из этих чисел нулю, наиболее простым способом будет их перемножить и сравнить полученный результат с нулѐм. В зависимости от результата этого сравнения и будем выводить на экран их сумму, разность или «0». Для обозначения сравнения при создании блоксхемы алгоритма воспользуемся блоком «Решение».

45

 

Начало

 

Целое число A

 

Целое число B

 

Целое число temp

 

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

 

A и B

 

temp = A * B

да

нет

 

temp == 0

да

нет

 

 

temp > 0

Вывод «0»

Вывод A + B

Вывод A - B

Конец

На основе разработанного алгоритма напишем программу. Ветвление в алгоритме реализуем при помощи инструкции «if-else»

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

void main()

{

int A; std::cout<<"vvedite A:"; std::cin>>A;

46

int B; std::cout<<"\nvvedite B:"; std::cin>>B;

std::cout<<"\nresultat: ";

int temp = A * B;

if(temp == 0)

{

std::cout<<0;

}

else

{

if(temp > 0)

{

std::cout<<A + B;

}

else

{

std::cout<<A - B;

}

}

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

}

Протестируем написанную программу, запустив еѐ несколько раз, и вводя различные значения целых чисел A и B.

Вводимое значение A

1

2

-3

7

-1

8

0

Вводимое значение B

1

5

4

-2

-6

0

-5

Полученный результат

2

7

-7

9

-7

0

0

Проверим правильность результатов работы программы, находя сумму или разность введѐнных значенй A и B или выбирая «0» в зависимости от знаков этих чисел. Все полученные результаты соответствуют действительности, значит, можно предположить, что программа работает верно.

47

Задача Б. Ввести с клавиатуры символ. Вывести на экран «Math», если введѐнный символ обозначает арифметическую операцию и «NoMath» в противном случае.

Составим алгоритм работы программы. В его блок-схеме должны быть три блока «Данные»: для ввода символа с клавиатуры, для вывода текста «Math» и для вывода текста «NoMath». Для определения, обозначает ли введѐнный символ арифметическую операцию, (т.е. является ли введѐнный символ «+», «-», «*» или «/») в блок-схеме должен быть блок «Решение».

Начало

Символ symbol

Ввод symbol

'+',

'-', '*', '/'

symbol

другой символ

Вывод «Math»

Вывод «NoMath»

Конец

Для реализации блока «Решение» блок-схмы алгоритма можно воспользоваться конструкцией «if-else», в условии которой будет находиться длинное логическое выражение, включающее четыре сравнения. Но в данном случае проще будет воспользоваться конструкцией «switch».

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

void main()

{

48

char symbol; std::cout<<"\nInput symbol:"; std::cin>>symbol;

switch(symbol)

{

case ‘+’: case ‘-’: case ‘*’: case ‘/’: std::cout<<"\nMath";

break; default:

std::cout<<"\nNoMath";

}

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

}

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

Вводимое

+

-

*

/

$

x

А

0

1

значение

 

 

 

 

 

 

 

 

 

Полученный

Math

Math

Math

Math

NoMath

NoMath

NoMath

NoMath

NoMath

результат

 

 

 

 

 

 

 

 

 

Все полученные результаты соответствуют ожидаемым – программа выводит «Math» только при вводе символов «+», «-», «*» и «/», значит, можно предположить, что программа работает верно.

Задача В. Ввести с клавиатуры натуральное двузначное число и цифру. Определить, сколько раз в числе встречается эта цифра.

Составим блок-схему алгоритма работы программы. Она должна содержать несколько блоков «Данные»: для ввода числа, для ввода цифры, для вывода результата, для сообщения о некорректном вводе данных.

Также в блок-схеме должны быть четыре блока «Решение»:

-для обозначения проверки, что было введено именно двузначное число (а не трѐхзначное, например);

-для обозначения проверки, что была введена цифра, а не число;

-для определения, является ли первая цифра числа такой же, как и заданная цифра;

-для определения, является ли вторая цифра числа такой же, как и заданная цифра.

49

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