Важно! — нужно сделать через for или while!
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос «1. Составьте программу, определяющую максимальное из всех вводимых вами чисел. Концом ввода чисел является введенное число 0. Важно! — . » по предмету Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант — оцените ответы на похожие вопросы.
Но если вдруг и это не помогло — задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Новые вопросы по информатике
Объём видеопамяти составляет 100 Кбайт. Графический режим работает в режиме 640 х200 пикселей. Какое максимальное кол-во цветов может содержать палитра?
Переведите число 202 из восьмеричной системы счисления в десятичную
Переведите величины из одних единиц измерения информации в другие: 1 4 Гбайта=? Кбайт 2 217 Мбайт=? Гбайт 3 13 Мбит=? бит 4 27 Гбит=? бит 5 228 бит=? Мбайт 6 227 Гбит=? Мбайт 7 231 Кбайт=? Мбит
C++ | Максимальное число из трёх
Вводятся 3 числа, вывести на экран нечетные числа pascal
1. Посчитай, сколько бит информации содержит 19 байт 2. Посчитай, сколько байт информации содержат 2 кб 3. Посчитай, сколько байт информации содержит 144 бит
Главная » Информатика » 1. Составьте программу, определяющую максимальное из всех вводимых вами чисел. Концом ввода чисел является введенное число 0. Важно! — нужно сделать через for или while!
Источник: abiturient.pro
Ошибка в коде: задача на нахождение max и min
Я только начала изучать Pascal. Дело очень интересное. Но вот моя задача: Мне нужно составить простую программу на нахождение максимального и минимального значения из N введенных чисел. Вроде бы все сделала правильно.
И ошибок компилятор не выдает. Но работает программа не совсем верно.
program max_i_min_iz_N; uses crt; var N,min,max,a,i,m:integer; BEGIN clrscr; repeat repeat write(‘Введите любое положительное число: ‘); readln(N); writeln(); until(N>0); write(‘Введите ‘,N,’ чисел(-а) через пробел: ‘); i:=2; read(a); max:=a; min:=a; repeat read(a); if(a>max)then max:=a else max:=max; if(aN); writeln(); writeln(‘max=’,max); writeln(‘min=’,min); writeln(); writeln(‘Для продолжения программы нажмите цифру 1’); writeln(‘Для завершения программы нажмите цифру 2’); writeln(); readln(m); writeln(); until(m=2); END.
Вообще программа работает правильно во всех случаях, кроме одного. Если здесь
write(‘Введите ‘,N,’ чисел(-а) через пробел: ‘);
пользователь вводит значение переменной N = 1, то программа все равно ждет ввода следующей переменной для сравнения. Я понимаю, что так происходит потому, что у меня в коде прописано дважды считывание переменной a, но по-другому сделать у меня не получилось. Если сделать так:
i:=1; max:=a; min:=a; repeat read(a); if(a>max)then max:=a else max:=max; if(aN);
Тогда переменной i присваиваю 1 и дополнительного значения вводить не надо, в этом плане цикл работает правильно. Но находит из введенных значений правильно только максимальное число. Минимальному присваивает 0. Интересно то, что, если программу не закрыть, а продолжить дальше, то тогда программа начинает находить минимальное и максимальное число правильно. Но не из только что введенных значений, а из всех значений, которые были введены. Если сделать так:
Как найти максимальный элемент в списке Python
i:=1; read(a); max:=a; min:=a; repeat if(a>max)then max:=a else max:=max; if(aN);
То здесь программа присваивает первое значение и max, и min, и следующие значения не сравнивает. При этом цикл на повторение программы не срабатывает. Программа просто закрывается и все.
В приниципе, понятно, почему не сравнивает значения, ведь в следующем цикле учавствует только одно и то же значение переменной а, которое было введено первым. А вот почему тогда программа закрывается сама, не считывая переменную m? В общем, я отказалась от идеи использовать только одно считывание переменной N. Но только тогда как можно сделать так, чтобы программа в случае ввода цифры 1 для переменной N все работало правильно?
Может быть просто добавить для 1 конструкцию case? Еще мне не очень нравиться i:=2; Не красиво как-то что ли. Привычнее видеть i:=1; Но если я присваиваю переменной i значение 1, то программа запрашивает для сравнения введенных значений на одно больше. Но вообще стукаюсь глазами и не вижу, что делаю не так. Не сочтите за труд, подскажите, пожалуйста, где я ошибаюсь.
Источник: ru.stackoverflow.com
Составьте программу определяющую максимальное из всех введенных вами чисел
Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!
- Алгебра
- Математика
- Русский язык
- Українська мова
- Информатика
- Геометрия
- Химия
- Физика
- Экономика
- Право
- Английский язык
- География
- Биология
- Другие предметы
- Обществознание
- История
- Литература
- Українська література
- Беларуская мова
- Қазақ тiлi
Показать ещё
Источник: www.shkolniku.com