Проверка на корректность вводимого числа - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Нужно сделать когда вводишь ((2.5) или буквы) программа писала введите целое число,а не вылетала программная ошибка "Входная строка имела неверный формат".

Решение задачи: «Проверка на корректность вводимого числа»

textual
Листинг программы
program dsad;
 
type
  mas = array [1..100] of integer;
 
var
  a: mas;
  st: string;
  n, code, q, i, j, min, x, s: integer;
 
begin
  write('Введите размерность массива (<100): ');
  readln(n);
  for i := 1 to n do 
  begin
    repeat
      readln(st); 
      val(st, q, code);
      if code <> 0 then
        writeln('Введите целое число!');
    until code = 0;  
    a[i] := q;
  end;
  writeln;
  min := 1;
  for j := 2 to n do 
  begin
    if a[i] < a[min] then min := i;
  end;
  for i := 1 to n - 1 do 
  begin
    for j := i + 1 to n do 
    begin
      if a[i] > a[j] then begin
        x := a[i];
        a[i] := a[j];
        a[j] := x;
      end;
    end;
  end;
  for i := 1 to n do 
    write(a[i]:4);
end.

Объяснение кода листинга программы

  1. Объявление переменных:
    • mas (массив типа integer, размером от 1 до 100)
    • a (переменная типа mas, используется для хранения введенных пользователем чисел)
    • st (переменная типа string, используется для хранения строки, введенной пользователем)
    • n (переменная типа integer, используется для хранения размера массива, введенного пользователем)
    • code (переменная типа integer, используется для проверки корректности введенного пользователем числа)
    • q (переменная типа integer, используется для хранения введенного пользователем числа)
    • i, j (переменные типа integer, используются для индексации элементов массива)
    • min (переменная типа integer, используется для хранения индекса минимального элемента массива)
    • x (переменная типа integer, используется для временного хранения значения элемента массива в процессе сортировки)
    • s (переменная типа integer, используется для хранения количества сортировок, выполняемых в процессе поиска минимального элемента)
  2. Запрос на ввод размера массива
  3. Цикл, выполняющийся n раз (где n - размер массива, введенный пользователем). В каждой итерации:
    • Пользователю предлагается ввести число
    • Если введенное число некорректно (ошибка при вводе или не целое число), выводится сообщение об ошибке
    • Если введенное число корректно, оно сохраняется в соответствующем элементе массива a
  4. Вывод всех элементов массива a, отсортированных по возрастанию
  5. Цикл, выполняющийся n-1 раз (где n - размер массива, введенный пользователем). В каждой итерации:
    • Цикл, выполняющийся i+1 раз (где i - текущий индекс). В каждой итерации:
    • Если a[i] больше a[j], выполняется операция обмена a[i] и a[j]
    • Если a[i] меньше или равно a[j], цикл прерывается
  6. Цикл, выполняющийся n раз (где n - размер массива, введенный пользователем). В каждой итерации:
    • Выводится значение элемента массива a с индексом i, с добавлением ведущих нулей до 4 цифр Примечание: данный код предназначен для работы с массивом, размер которого не превышает 100. Если пользователь вводит размерность массива, превышающую 100, код не будет работать корректно.

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы