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