В заданиях Case1-7 задачника Абрамяна рассматриваем вопрос вывода названия дня недели и времени года, называние школьной оценки, арифметического действия, а также преобразование единиц длины и массы.
Case1. Дано целое число в диапазоне 1–7. Вывести строку — название дня недели, соответствующее данному числу (1 — «понедельник», 2 — «вторник» и т. д.).
var
N: byte;
begin
writeln('Введите число от 1 до 7:');
readln(N); { <-- Вводим номер дня }
writeln;
{ Используем оператор выбора, где для данного
введенного нами номера дня N (от 1 до 7) ставим
в соответствие его название, и выводим его: }
case N of
1: writeln('понедельник');
2: writeln('вторник');
3: writeln('среда');
4: writeln('четверг');
5: writeln('пятница');
6: writeln('суббота');
7: writeln('воскресенье')
{ Если номер не попадает в диапазон
[1, 7], то выводим сообщение: }
else writeln('Такого дня не существует!');
end;
readln
end.
**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255 Case2. Дано целое число K. Вывести строку-описание оценки, соответствующей числу K (1 — «плохо», 2 — «неудовлетворительно», 3 — «удовлетворительно», 4 — «хорошо», 5 — «отлично»). Если K не лежит в диапазоне 1–5, то вывести строку «ошибка».
var
K: byte;
begin
write('K = ');
readln(K); { <-- вводим номер оценки }
writeln;
{ Используя оператор выбора, номеру оценки
ставим в соответствие её название и выводим: }
case K of
1: writeln('плохо');
2: writeln('неудовлетворительно');
3: writeln('удовлетворительно');
4: writeln('хорошо');
5: writeln('отлично')
{ Если номер не попадает в промежуток [1, 5],
то сообщаем об ошибке: }
else writeln('Ошибка ввода!')
end;
readln
end.
**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255 Case3. Дан номер месяца — целое число в диапазоне 1–12 (1 — январь, 2 — февраль и т. д.). Вывести название соответствующего времени года («зима», «весна», «лето», «осень»).
var
NumMon: byte; { <-- Номер месяца }
begin
writeln('Введите число от 1 до 12:');
readln(NumMon); { <-- Вводим номер месяца }
writeln;
{ Каждому месяцу соответствует то или иное время года.
Собирая вместе месяцы, указывающие на зиму, весну,
лето и осень по отдельности, получим: }
case NumMon of
12,1,2: write(' Зима');
3,4,5: write(' Весна');
6,7,8: write(' Лето');
9,10,11: write(' Осень')
{ Если номер меньше 1 или больше 12,
то выводим сообщение: }
else writeln(' Месяца с номером ', NumMon, ' не существует!')
end;
readln
end.
**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255 Case4. Дан номер месяца — целое число в диапазоне 1–12 (1 — январь, 2 — февраль и т. д.). Определить количество дней в этом месяце для невисокосного года.
var
N: byte;
begin
writeln('Введите число от 1 до 12:');
readln(N); { <-- Вводим номер месяца }
writeln;
{ В невисокосном году в месяце бывает 28 дней,
30 дней и 31 день. Группируя месяцы по количеству
дней, получим результат: }
case N of
2: writeln('28 дней');
4,6,9,11: writeln('30 дней');
1,3,5,7,8,10,12: writeln('31 день')
else writeln('Ошибка ввода!')
end;
readln
end.
**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255 Case5. Арифметические действия над числами пронумерованы следующим образом: 1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление. Дан номер действия N (целое число в диапазоне 1–4) и вещественные числа A и B (B не равно 0). Выполнить над числами указанное действие и вывести результат.
var
N: byte;
A, B: real;
begin
write('A = ');
readln(A); { <-- Вводим число A }
write('B = ');
readln(B); { <-- Вводим число B }
write('N = ');
readln(N); { <-- Задаем номер действия N }
writeln;
{ Номеру действия ставим в соответствие само
действие и вычисляем результат, причем деление
производим с форматированием (для результата
отводим 3 цифры после запятой): }
case N of
1: writeln('Сложение: ', A, ' + ', B, ' = ', A + B);
2: writeln('Вычитание: ', A, ' - ', B, ' = ', A - B);
3: writeln('Умножение: ', A, ' * ', B, ' = ', A * B);
4: writeln('Деление: ', A, ' / ', B, ' = ', (A / B):0:3)
{ Для других N выводим сообщение: }
else writeln('Действия с номером ', N, ' нет.')
end;
readln
end.
**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308 Case6. Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины (целое число в диапазоне 1–5) и длина отрезка в этих единицах (вещественное число). Найти длину отрезка в метрах.
var
N: byte; { <-- Номер единицы длины }
A: real; { <-- Длина отрезка }
begin
writeln('Введите номер единицы длины (от 1 до 5):');
readln(N);
writeln('Введите длину:');
readln(A);
writeln;
{ Для преобразования учитываем, что
1м = 10дм = (1/1000)км = 1000мм = 100см: }
write(' ', A);
case N of
1: writeln('(дм) = ', A / 10, '(м)');
2: writeln('(км) = ', 1000 * A, '(м)');
3: writeln('(м) = ', A, '(м)');
4: writeln('(мм) = ', A / 1000, '(м)');
5: writeln('(см) = ', A / 100, '(м)')
else writeln('Единицы длины с таким номером нет')
end;
readln
end.
**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308 Case7. Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер. Дан номер единицы массы (целое число в диапазоне 1–5) и масса тела в этих единицах (вещественное число). Найти массу тела в килограммах.
var
N: byte; { <-- Номер единицы массы }
M: real; { <-- Масса тела }
begin
writeln('Введите номер единицы массы (от 1 до 5):');
readln(N); { <-- Вводим номер единицы массы }
writeln('Введите массу M:');
readln(M); { <-- Вводим массу }
writeln;
{ Для преобразования в килограммы учитываем, что
1кг = 1000000мг = 1000г = (1/1000)т = (1/100)ц: }
write(' ', M);
case N of
1: writeln('(кг) = ', M, '(кг)');
2: writeln('(мг) = ', (M / 1000000), '(кг)');
3: writeln('(г) = ', M / 1000, '(кг)');
4: writeln('(т) = ', M * 1000, '(кг)');
5: writeln('(ц) = ', M * 100, '(кг)')
else writeln('Единицы массы с таким номером нет')
end;
readln
end.
**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308