Форум «Всё о Паскале» _ Задачи _ Программа,подсчитывающая количество введёных с клавиатуры чиселпервого и второго десятков
Автор: Гость 11.05.2007 16:42
Помогите пожалуйста,кто знает как это решать!!!По заданию мне нужно написать программу, подсчитывающую количество введённых с клавиатуры чисел первого (от 1 до 10) и второго (от 11 до 20) десятка. Если вводится число больше 20 или меньше 0, то программа выдаёт сообщение о том, что введено недопустимое число. Если вводится 0, программа заканчивает своё выполнение и выводит результат. Рекомендуемый экран после запуска программы: Введите число в диапазоне от 0 до 20: 25 Это недопустимое число, введите ещё раз: 15 Введите число в диапазоне от 0 до 20: 3 Введите число в диапазоне от 0 до 20: 5 Введите число в диапазоне от 0 до 20: 0 Из введённых Вами чисел 2 числа относятся к первому десятку и 1 -ко второму.
Автор: Адель 11.05.2007 17:29
ты хоть начни...
Автор: гость 11.05.2007 17:41
в этом и есть вся проблема...
Автор: мисс_граффити 11.05.2007 23:14
Считываешь число с помощью readln(х) Анализируешь его.... Все это в цикле, выход из которого осуществляется при нажатии 0. Например, так:
readln(x); while x<>0 do begin {анализ} readln(x); end;
Автор: Гость 12.05.2007 16:27
что то я не совсем понимаю как это делать, объясните по подробнее
Автор: arhimag 12.05.2007 16:51
Код
var x, count1,count2 : integer; begin count1:=0;{Обнуление количества чисел первого десятка} count2:=0;{Обнуление количества чисел второго десятка} writeln('Введите число в диапазоне от 0 до 20: '); {Вывод предложения ввести число от 0 до 20} readln(x); {Считывание числа} while x<>0 do begin{ Пока введеное число не равно 0 выполнять} If (x>20) or (x<0) then {Если число не принадлежит отрезку от 0 до 20, то} writeln('Это недопустимое число, введите ещё раз: '){Вывести сообщение об ошибке и предложение ввести правильное число} else if (x<=20) and (x>10) then begin {Если число меньше либо равно двадцати и больше десяти(условие принадлежности ко второму десятку), то} inc(count2);{Увеличить количество чисел второго десятка на 1} writeln('Введите число в диапазоне от 0 до 20: ');{Вывести предложение ввести число от 0 до 20} end else begin{Если не выполнились два предыдущих условие, то число пренадлежит первому десятку (0 оно быть равно не может, т.к. если бы оно было равно 0, то не произошел бы этот цикл)} inc(count1); {Увеличить количество чисел первого десятка} writeln('Введите число в диапазоне от 0 до 20: ');{Вывести предложение ввести число от 0 до 20} end; readln(x);{Считать число} end; writeln('Из введённых Вами чисел ',count1,' числа относятся к первому десятку и ',count2,' 1 -ко второму.');{Вывод результата} readln;{Считывание Enter} end.
Если что-то не поймешь, то пиши, задача простая и в ней нужно разобраться.
Автор: Гость 12.05.2007 22:18
у меня всё работает, но почему то не выводится результат пишется просто из введённых вами чисел 0 чисел относится к 1 десятку и 0 ко второму