Задание. Дано натуральное число n (запросить с клавиатуры), определить количество четных
цифр в нем, сколько раз встречается первая цифра и произведение цифр больших 7.
Написать краткую спецификацию, составить блок-схему процесса и написать
программный код решения этой задачи. ( Если что программа должна быть выполнена в Intelij idea, язык Java ).
Ответы на вопрос
- Ввести натуральное число n с клавиатуры
- Инициализировать переменные для подсчета четных цифр, повторений первой цифры и произведения цифр больше 7
- Пока n не равно 0, повторять следующие шаги:
- Получить последнюю цифру n
- Если цифра четная, увеличить счетчик четных цифр на 1
- Если цифра равна первой цифре n, увеличить счетчик повторений на 1
- Если цифра больше 7, умножить произведение на эту цифру
- Убрать последнюю цифру из n
- Вывести на экран значения счетчиков и произведения
Вот блок-схема процесса решения задачи:
```flowchart
st=>start: Начало
e=>end: Конец
io1=>inputoutput: Ввести n
op1=>operation: count = 0 // счетчик четных цифр
op2=>operation: first = n % 10 // первая цифра n
op3=>operation: repeat = 0 // счетчик повторений
op4=>operation: product = 1 // произведение
op5=>operation: digit = n % 10 // последняя цифра n
cond1=>condition: n == 0?
cond2=>condition: digit % 2 == 0?
cond3=>condition: digit == first?
cond4=>condition: digit > 7?
io2=>inputoutput: Вывести count, repeat, product
st->io1->op1->op2->op3->op4->cond1
cond1(yes)->io2->e
cond1(no)->op5->cond2
cond2(yes)->op1(right)->cond3
cond2(no)->cond3
cond3(yes)->op3(right)->cond4
cond3(no)->cond4
cond4(yes)->op4(right)->op5
cond4(no)->op5
op5->cond1
```
Вот программный код решения задачи на Java:
```java
import java.util.Scanner;
public class Program {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // создаем объект для ввода данных
System.out.print("Введите натуральное число: "); // выводим приглашение для ввода
int n = scanner.nextInt(); // считываем число с клавиатуры
int count = 0; // счетчик четных цифр
int first = n % 10; // первая цифра n
int repeat = 0; // счетчик повторений
int product = 1; // произведение
while (n != 0) { // пока n не равно 0
int digit = n % 10; // получаем последнюю цифру n
if (digit % 2 == 0) { // если цифра четная
count++; // увеличиваем счетчик четных цифр на 1
}
if (digit == first) { // если цифра равна первой цифре n
repeat++; // увеличиваем счетчик повторений на 1
}
if (digit > 7) { // если цифра больше 7
product *= digit; // умножаем произведение на эту цифру
}
n /= 10; // убираем последнюю цифру из n
}
System.out.println("Количество четных цифр: " + count); // выводим результаты
System.out.println("Количество повторений первой цифры: " + repeat);
System.out.println("Произведение цифр больших 7: " + product);
}
}
```