Основний алгоритм для визначення найменшого і найбільшого числа з набору дійсних чисел включає наступні кроки:
Ініціалізувати змінну мінімум значенням першого числа у наборі.
Ініціалізувати змінну максимум значенням першого числа у наборі.
Просканувати залишок чисел у наборі.
Для кожного числа:
Порівняти його зі значенням мінімум. Якщо воно менше, оновити значення мінімум на поточне число.
Порівняти його зі значенням максимум. Якщо воно більше, оновити значення максимум на поточне число.
Вивести значення мінімум і максимум.
Ось приклад реалізації даного алгоритму у мові програмування Lazarus (з використанням Pascal):program FindMinMax;
var
numbers: array[1..6] of Real; // Набір чисел
minimum, maximum: Real; // Змінні для збереження найменшого і найбільшого числа
i: Integer;
begin
// Ініціалізація набору чисел (приклад)
numbers[1] := 3.14;
numbers[2] := 2.718;
numbers[3] := 1.618;
numbers[4] := 0.577;
numbers[5] := 2.236;
numbers[6] := 1.414;
// Ініціалізація мінімуму і максимуму першим числом у наборі
minimum := numbers[1];
maximum := numbers[1];
// Пошук найменшого і найбільшого чисел у наборі
for i := 2 to 6 do
begin
if numbers[i] < minimum then
minimum := numbers[i];
if numbers[i] > maximum then
maximum := numbers[i];
end;
// Виведення результатів
WriteLn('Найменше число: ', minimum);
WriteLn('Найбільше число: ', maximum);
end.
Запустивши цей код у середовищі Lazarus, ви отримаєте виведені на екран найменше і найбільше число з набору. Ви можете змінити значення `numbers
Объяснение:
В pascal операции mod и div к вещественным типам недоступны, поэтому округляем их через Round. Можно поменять на Trunc - он возвратит только целую часть.
Однако правильнее будет делать через case:var a, b: real; s: string; begin readln(a); readln(b); readln(s); case s of char.ToString('+'): write(a + b); char.ToString('-'): write(a - b); char.ToString('/'): if b <> 0 then write(a / b) else write('Деление на 0!'); char.ToString('*'): write(a * b); 'mod': if b <> 0 then write(Round(a) mod Round(b)) else write('Деление на 0!'); 'pow': write(power(a, b)); 'div': if b <> 0 then write(Round(a) div Round(b)) else write('Деление на 0!'); end; end.Пояснение:В case '+', '-', '/', '*' воспринимаются как char, поэтому переводим их в string через стандартный метод класса char: char.ToString( )
Примеры работ:1)
var n:integer;
begin
writeln('Введите номер месяца: ');
readln(n);
if (n = 1) or (n = 2) or (n = 12) then
writeln('Зима');
if (n = 3) or (n = 4) or (n = 5) then
writeln('Весна');
if (n = 6) or (n = 7) or (n = 8) then
writeln('Лето');
if (n = 9) or (n = 10) or (n = 11) then
writeln('Осень');
end.
2)
var n:real;
begin
writeln('Введите температуру: ');
readln(n);
if (34.1 <= n) and (n <= 36.4) then
writeln('Пониженная');
if (36.5 <= n) and (n<= 36.6) then
writeln('Нормальная');
if (36.7 <= n) and (n <= 41) then
writeln('Повышенная');
if (n <= 34) or (n > 41) then
writeln('Не может быть!');
end.
Основний алгоритм для визначення найменшого і найбільшого числа з набору дійсних чисел включає наступні кроки:
Ініціалізувати змінну мінімум значенням першого числа у наборі.
Ініціалізувати змінну максимум значенням першого числа у наборі.
Просканувати залишок чисел у наборі.
Для кожного числа:
Порівняти його зі значенням мінімум. Якщо воно менше, оновити значення мінімум на поточне число.
Порівняти його зі значенням максимум. Якщо воно більше, оновити значення максимум на поточне число.
Вивести значення мінімум і максимум.
Ось приклад реалізації даного алгоритму у мові програмування Lazarus (з використанням Pascal):program FindMinMax;
var
numbers: array[1..6] of Real; // Набір чисел
minimum, maximum: Real; // Змінні для збереження найменшого і найбільшого числа
i: Integer;
begin
// Ініціалізація набору чисел (приклад)
numbers[1] := 3.14;
numbers[2] := 2.718;
numbers[3] := 1.618;
numbers[4] := 0.577;
numbers[5] := 2.236;
numbers[6] := 1.414;
// Ініціалізація мінімуму і максимуму першим числом у наборі
minimum := numbers[1];
maximum := numbers[1];
// Пошук найменшого і найбільшого чисел у наборі
for i := 2 to 6 do
begin
if numbers[i] < minimum then
minimum := numbers[i];
if numbers[i] > maximum then
maximum := numbers[i];
end;
// Виведення результатів
WriteLn('Найменше число: ', minimum);
WriteLn('Найбільше число: ', maximum);
end.
Запустивши цей код у середовищі Lazarus, ви отримаєте виведені на екран найменше і найбільше число з набору. Ви можете змінити значення `numbers
Объяснение: