1. Условие:
Подсчитать S - количество четных цифр в десятичной записи целого неотрицательного числа n, не большего 100000.
2. Математическая модель:
Четные числа делятся на 2 без остатка.
3. Таблица внешних спецификаций:
Таблица 1.
No | Имя | Назначение | Тип | Ед. изм. | ОДЗ |
n | число | целое. | - | -1<n<100000 | |
s | Количество четных цифр | целое | - | положительное | |
m | Вспомогательная переменная | целое | - | положительное | |
SOOB1 | Сообщение | текст | - | 1 вид | |
SOOB2 | Сообщение | текст | - | 1 вид |
Сообщения:
c1: ‘Введи целое число <= 100000: ’
c2: ‘'В числе: ', n, ' четных цифр:', s’
4. Таблица тестов:
Таблица 2.
№ теста | Исходные данные | Результат | Примечания |
n | s | ||
5. Алгоритмизация:
Блок-схема алгоритма (рис. 1):
Рис. 1. Блок-схема алгоритма
6. Кодирование алгоритма:
Program kontr11;
Var
m, n: longint;
s: integer;
Begin
Write('Введи целое число <= 100000: ');
repeat
Readln(n);
until n <=100000;
s:= 0;
m:= n;
While m<>0 do begin
m:= m Div 10;
if m mod 2 = 0 then s:= s+1;
|
|
end;
Writeln ('В числе: ', n, ' четных цифр:', s);
End.
Задание 16.
1. Условие:
Дано натуральное N. Выяснить, входит ли цифра 3 в запись числа.
2. Математическая модель:
Натуральные числа больше 0.
3. Таблица внешних спецификаций:
Таблица 1.
No | Имя | Назначение | Тип | Ед. изм. | ОДЗ |
n | число | целое. | - | положительное | |
с | Анализируемое число | целое | - | положительное | |
yes | Вспомогательная переменная | Булевое | - | ||
SOOB1 | Сообщение | текст | - | 1 вид | |
SOOB2 | Сообщение | текст | - | 1 вид | |
SOOB3 | Сообщение | текст | - | 2 вида |
Сообщения:
c1: ‘Введите n: ’
c2: ‘n^2 =’
c3: ‘Цифра 3 есть в числе’
c4: ‘Цифры 3 нет в числе’
4. Таблица тестов:
Таблица 2.
№ теста | Исходные данные | Результат | Примечания |
n | yes | ||
false | N^2 = 15129 Цифры 3 нет в числе | ||
true | N^2 = 361 Цифра 3 есть в числе |
5. Алгоритмизация:
Блок-схема алгоритма (рис. 1):
Рис. 1. Блок-схема алгоритма
6. Кодирование алгоритма:
Program kontr16;
var
n, c:integer;
yes: boolean;
begin
cls;
write('Введите n: ');
readln(n);
n:=n*n;
writeln('n^2 = ', n);
yes:= false;
while n>0 do begin
c:=n mod 10;
if c=3 then begin
yes:= true;
n:= 0;
end;
n:= n div 10;
end;
if yes then
writeln('Цифра 3 есть в числе')
else
writeln('Цифры 3 нет в числе');
readln;
end.
Задание 17.
1. Условие:
Дано натуральное число N. Вычислить произведение первых N сомножителей (1/2)(3/4)(5/6)
2. Математическая модель:
Число N должно быть четным для образования пары чисел.
3. Таблица внешних спецификаций:
Таблица 1.
No | Имя | Назначение | Тип | Ед. изм. | ОДЗ |
n | число | целое. | - | Положительное четное | |
res | результат | вещ | - | любое | |
i | Вспомогательная переменная | целое | - | Больше 0 | |
SOOB1 | Сообщение | текст | - | 1 вид | |
SOOB2 | Сообщение | текст | - | 1 вид |
Сообщения:
|
|
c1: ‘Введите n (четное): ’
c2: ‘Результат: ’
4. Таблица тестов:
Таблица 2.
№ теста | Исходные данные | Результат | Примечания |
n | res | ||
0.375 | |||
0.112 | |||
0.080 |
5. Алгоритмизация:
Блок-схема алгоритма (рис. 1):
Рис. 1. Блок-схема алгоритма
6. Кодирование алгоритма:
Program kontr16;
var
n, c:integer;
yes: boolean;
begin
cls;
write('Введите n: ');
readln(n);
n:=n*n;
writeln('n^2 = ', n);
yes:= false;
while n>0 do begin
c:=n mod 10;
if c=3 then begin
yes:= true;
n:= 0;
end;
n:= n div 10;
end;
if yes then
writeln('Цифра 3 есть в числе')
else
writeln('Цифры 3 нет в числе');
readln;
end.
Задание 24д.
1. Условие:
Продолжить последовательность и составить программу, печатающую N чисел данной последовательности: 1, -2, 4, -8, 16, -32, ___, ___
2. Математическая модель:
Отрицательные числа получаем умножением положительного на -1
3. Таблица внешних спецификаций:
Таблица 1.
No | Имя | Назначение | Тип | Ед. изм. | ОДЗ |
n | число | целое. | - | положительное | |
c | Результат умножения | целое | - | любое | |
i | Вспомогательная переменная | целое | - | положительное | |
SOOB1 | Сообщение | текст | - | 1 вид | |
SOOB2 | Сообщение | текст | - | 2 вида |
Сообщения:
c1: ‘Введите n: ’
c2: ‘i, ’
c3: ‘-i, ’
4. Таблица тестов:
Таблица 2.
№ теста | Исходные данные | Результат вывода | Примечания |
n | |||
1, -2, 4, -8, 16, -32, | |||
1, -2, 4, -8, 16, -32, 64, -128, 256, -512 |
5. Алгоритмизация:
Блок-схема алгоритма (рис. 1):
Рис. 1. Блок-схема алгоритма
6. Кодирование алгоритма:
Program kontr24d;
var
n: integer;
c: integer;
i: integer;
begin
cls;
write('Введите n: ');
readln(n);
for i:= 1 to n do begin
if i=1 then
c:= 1
else
c:= c*2;
if i mod 2=0 then
write(c*-1, ', ')
else
write(c, ', ');
end;
end.