Никакая система не совершенна, а человек так тем более. Все мы испытываем такой человеческий фактор, как совершение ошибок. Мы делаем это всегда, даже в подсчётах каких-нибудь чисел.
Так может ошибаться и компьютер. Например, мы зададим компьютеру таков алгоритм, что на каждую ячейку коробки положим ровно 1 конфету. Мы напишем алгоритм для устройства ("умной руки"), и где-нибудь в алгоритме случайно используем итератор ("счётчик конфет или ячеек"), который может повлиять на работу.
Например, у нас есть N ячеек. Мы (или компьютер - такое тоже случается) случайно присвоили другое значение, тогда алгоритм будет работать уже с изменённой переменной: может класть конфеты в пустое пространство, ведь ячейки кончились, а может класть по 2 конфеты в 1 ячейку.
Другой пример - математические вычисления. Например, мы зададим компьютеру посчитать простые числа от 1 до N. С алгоритмов мы реализуем проверку на простоту, но забудем про какую-нибудь важную операцию (например, в сравнении: поставим не "ЧИСЛО ДОЛЖНО БЫТЬ МЕНЬШЕ ИЛИ РАВНО", а "ЧИСЛО ДОЛЖНО БЫТЬ МЕНЬШЕ МЕНЬШЕ"), из-за чего программа может выводить абсолютно не те числа. Поэтому в таких случаях нужна проверка и анализ результата выполнения работы.
program task31133707; var arr: array of integer; a, valueOfNumbers, choise, k: integer; begin Writeln('ВВЕДИТЕ РАЗМЕРНОСТЬ МАССИВА: '); Readln(valueOfNumbers); SetLength(arr, valueOfNumbers); Writeln('ВВЕДИТЕ ЧИСЛО a: '); Readln(a); Writeln('КАК ЗАПОЛНИТЬ МАССИВ? СЛУЧАЙНЫМИ ЧИСЛАМИ (0) ИЛИ С КЛАВИАТУРЫ?(1)'); Readln(choise); if choise = 0 then for var i := 0 to valueOfNumbers - 1 do begin var tmpNumber := Random(valueOfNumbers + 1) + 1; if tmpNumber < a then continue else begin arr[i] := tmpNumber; Inc(k); end; end else for var i := 1 to valueOfNumbers do begin var tmpNumber := 1; Readln(tmpNumber); if tmpNumber < a then continue else begin arr[i] := tmpNumber; Inc(k); end; end; Writeln('ИСХОДНЫЙ МАССИВ: '); for var i := 1 to k do if arr[i] = 0 then continue else Write(arr[i], ' '); Writeln('КОЛИЧЕСТВО ЭЛЕМЕНТОВ МАССИВА: ', k); end.
Никакая система не совершенна, а человек так тем более. Все мы испытываем такой человеческий фактор, как совершение ошибок. Мы делаем это всегда, даже в подсчётах каких-нибудь чисел.
Так может ошибаться и компьютер. Например, мы зададим компьютеру таков алгоритм, что на каждую ячейку коробки положим ровно 1 конфету. Мы напишем алгоритм для устройства ("умной руки"), и где-нибудь в алгоритме случайно используем итератор ("счётчик конфет или ячеек"), который может повлиять на работу.
Например, у нас есть N ячеек. Мы (или компьютер - такое тоже случается) случайно присвоили другое значение, тогда алгоритм будет работать уже с изменённой переменной: может класть конфеты в пустое пространство, ведь ячейки кончились, а может класть по 2 конфеты в 1 ячейку.
Другой пример - математические вычисления. Например, мы зададим компьютеру посчитать простые числа от 1 до N. С алгоритмов мы реализуем проверку на простоту, но забудем про какую-нибудь важную операцию (например, в сравнении: поставим не "ЧИСЛО ДОЛЖНО БЫТЬ МЕНЬШЕ ИЛИ РАВНО", а "ЧИСЛО ДОЛЖНО БЫТЬ МЕНЬШЕ МЕНЬШЕ"), из-за чего программа может выводить абсолютно не те числа. Поэтому в таких случаях нужна проверка и анализ результата выполнения работы.