
Задача 9.
Преобразовать символ, изображающий 16-ичную цифру в целое число.
Текст программы на Object Pascal:
program Zad9;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows;
var
ch: Char;
n: integer;
begin
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
write('ch = '); readln(ch);
case ch of
'0'..'9': n:= Ord(ch) - Ord('0');
'A'..'F': n:= Ord(ch) - Ord('A') + 10;
'a'..'f': n:= Ord(ch) - Ord('a') + 10;
else n:= -1;
end;
write('n = ',n);
readln;
end.
Тестовые наборы данных для тестирования приложения.
Номер теста |
Исходные данные |
Ожидаемый результат |
Путь прохождения |
1 |
ch = ‘0’ |
n = 0 |
первая ветвь case |
2 |
ch = ‘9’ |
n = 9 |
первая ветвь case |
3 |
ch = ‘A’ |
n = 10 |
вторая ветвь case |
4 |
ch = ‘F’ |
n = 15 |
вторая ветвь case |
5 |
ch = ‘a’ |
n = 10 |
третья ветвь case |
6 |
ch = ‘f’ |
n = 15 |
третья ветвь case |
7 |
ch = ‘w’ |
n = -1 |
четвёртая ветвь case |
Задача 10.
Преобразовать число, соответствующее -ичной цифре в соответствующий ей символ.
Текст программы на Object Pascal:
program Zad10;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows;
var
n: Char;
ch: integer;
begin
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
write('ch = '); readln(ch);
case ch of
0..9: n:= chr(Ord('0') + Ch );
10..15: n:= chr(Ord('A') + Ch - 10);
else
writeln('В данной программе числа могут быть только от 0 до 15');
end;
write('n = ',n);
readln;
end.
Тестовые наборы данных для тестирования приложения.
Номер теста |
Исходные данные |
Ожидаемый результат |
Примечание |
1 |
ch = ‘1’ |
n = 1 |
первая ветвь case |
2 |
ch = ‘11’ |
n = B |
вторая ветвь case |
3 |
ch = ‘28’ |
В данной программе числа могут быть только от 0 до 15 |
третья ветвь case |
ch
0..9 10..15
n:=
chr(Ord('0')+Ch ) writeln n:=
chr(Ord('A') + Ch - 10)
Задача 11.
Дано неотрицательное целое. Из его первых трёх младших разрядов
сформировать и вывести на экран число, в котором эти разряды
расположены в обратном порядке.
Текст программы на Object Pascal:
program Zad11;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows;
var
x,y,z: integer;
begin
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
write('x = '); readln(x);
write('y = '); Readln(y);
if x > 0 then
if y > 0 then z:= 1
else z:= 2;
write('z = ',z);
readln;
end.
Тестовые наборы данных для тестирования приложения.
Номер теста |
Исходные данные |
Ожидаемый результат |
Примечание |
1 |
x=1 y=1 |
z = 1 |
Правая, правая ветвь IFTHEN |
2 |
x=1 y=-1 |
z = 2 |
Правая, левая ветвь IFTHEN |
3 |
x=-1 y=1 |
И Л И Л |
Левая, правая ветвь IFTHEN |
X>0 Z:=0
y>0
z
:= 2 z
:= 1