Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Программа,подсчитывающая количество введёных с клавиатуры чиселпервого и второго десятков

Автор: Гость 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 ко второму