Напишем программу на паскале содержащую как заполнение массива случайными числами так и алгоритм

В одномерном массиве найти количество положительных элементов.

  • N — количество элементов в массиве;
  • arr — одномерный массив, содержащий N элементов;
  • i — переменная-счетчик;
  • count — счетчик для положительных элементов массива.

Алгоритм решения задачи:

Это простая задача. Необходимо перебрать все элементы массива в цикле (обычно используется for ) и сравнить их с нулем (с помощью условного оператора if , вложенного в цикл). Если текущий элемент массива больше нуля, то следует увеличить на единицу счетчик положительных элементов, которому до цикла присваивается значение 0 (так как еще ни одного положительного элемента массива не найдено). После завершения цикла значением данного счетчика будет найденное количество положительных элементов массива.

В программе ниже в одном и том же цикле происходит заполнение массива случайными числами и последующая проверка каждого элемента на положительность. В программе можно было бы использовать два цикла: один — для заполнения массива, второй — для поиска количества положительных элементов. К сути данной задачи имеет отношение только второй цикл.

Функция присвоения случайного числа Randomize. Pascal

Программа на языке Паскаль:

const N = 10; var arr: array[1..N] of integer; i: byte; count: byte; begin randomize; count := 0; for i := 1 to N do begin arr[i] := random(100) — 50; write(arr[i], ‘ ‘); if arr[i] > 0 then count := count + 1; end; writeln; writeln(count); end.

Пример выполнения программы, определяющей количество положительных элементов массива.

-36 -19 -23 18 -25 45 -32 14 -45 3 4

Источник: pas1.ru

Одна задача обработки массива

Решим следующую задачу. Массив заполняется случайным набором целых чисел. Нужно определить, сколько раз данное целое число входит в этот массив.

Что такое случайные числа

Сначала несколько слов о случайных числах. Все себе представляют игральный кубик, имеющий шесть граней. При каждом бросании кубика выпадение какого-то числа есть случайное событие. С равной вероятностью может выпасть любое число от 1 до 6. Результат бросания кубика — это случайное число. А теперь представьте себе кубик с 10 гранями.

Правда, кубиком его можно назвать только условно. Это десятигранник, на гранях которого нанесены числа от 1 до 10. Результат бросания такого «кубика» — случайное число в диапазоне от 1 до 10. Еще один пример. При розыгрыше лотереи из вращающегося барабана достают пронумерованные шары.

Выпавший номер шара — случайное число.

Датчик случайных чисел на Паскале

В языках программирования, как правило, имеется аналог подобного «кубика» или лототрона, позволяющий получать случайные числа. Он называется датчиком случайных чисел. Это стандартная функция. В Паскале она записывается так: random (X). Здесь X — целое число.

При выполнении функции ее результатом становится целое число в диапазоне от 0 до X. Например, если X = 50, то в результате можем получить любое целое число от 0 до 50.

Читайте также:
Где найти средство удаления вредоносных программ

Сортировка массива пузырьком | Pascal

Приведем программу, которая демонстрирует работу датчика случайных чисел на Паскале:

Program Example;

var I: integer;

Begin

for I:=l to 10 do

End.

По этой программе на экран выводится десять случайных чисел из диапазона от 0 до 50. Вот результат тестового выполнения этой программы:

0 3 17 20 27 7 31 16 37 42

А теперь вернемся к условию задачи. Получающиеся с помощью датчика случайные числа «раскладываются» по элементам массива. Назовем массив Rand, а число элементов в нем пусть будет равно 20. Число, которое нужно искать в массиве, будет вводиться в переменную X.

Алгоритм поиска числа в массиве

На рисунке 2.11 приведена блок-схема алгоритма поиска в массиве Rand величины X с подсчетом числа ее вхождений в массив в переменной NumberX.

Обратите внимание на блок, отображающий цикл с параметром. Он имеет форму вытянутого шестиугольника. В блоке записывается параметр цикла (переменная I), начальное и конечное значения параметра через запятую (:=1, 20).

Переменная NumberX играет роль счетчика. Вначале ей присваивается ноль. Затем в цикле происходит перебор всех элементов массива, и при каждом выполнении условия равенства к счетчику добавляется единица. Так всегда организуются счетчики в программах! В результате выполнения программы на экран будет выведен один из двух вариантов ответа: либо сообщение, что в массиве нет данного числа, либо сообщение о том, сколько раз это число присутствует в массиве, если оно там обнаружено.

Программа поиска числа в массиве

Напишем программу на Паскале, содержащую как заполнение массива случайными числами, так и алгоритм, описанный в блок- схеме на рис. 2.11.

Program Example2;

var Rand: array [1..20] of integer;

I, X, NumberX: integer,

Begin

writeln(‘Массив случайных чисел: ‘)

for I:=l to 20 do

Begin

end;

write(‘Введите X: ‘); Readln(X);

for I:=l to 20 do

if Rand(I)=X then NumberX:=NumberX+l;

if NumberX=0

then writeln(‘В массиве нет числа ‘,Х)

else writeln(‘Число ‘,Х, ‘ в массиве присутствует ‘,NumberX, ‘ раз’)

End.

В этой программе присутствует еще один новый для нас оператор: Randomize. Это стандартная процедура Паскаля, которая производит установку начального состояния датчика случайных чисел. Дело в том, что без этого оператора функция random при многократном повторении выполнения программы всегда будет выдавать одну и ту же последовательность чисел. Процедура Randomize случайным образом устанавливает начальное состояние датчика. Поэтому при каждом выполнении программы будут получаться разные наборы случайных чисел.

Посмотрите на результаты выполнения этой программы. Первое выполнение:

Массив случайных чисел:

5 44 0 41 29 12 1 39 32 25 17 31 44 5 5 16 29 10 13 34

Введите X: 5

Число 5 в массиве присутствует 3 раз

Жирным шрифтом обозначено вводимое с клавиатуры значение. Все остальные символы выводятся на экран по программе. Второе выполнение программы:

Читайте также:
Программа не поддерживает unicode

Массив случайных чисел:

41 33 26 26 33 11 19 38 29 4 31 20 6 32 39 21 28 40 7 19

Введите X: 2

В массиве нет числа 2

Коротко о главном

Случайные числа — результаты случайного выбора из конечного множества значений (игровой кубик, жребий, лотерея).

Функция random (X) — датчик случайных чисел в диапазоне от 0 до X на Паскале.

Для подсчета количества величин используется переменная-счетчик.

Вопросы и задания

1. Какие значения может принимать целая переменная Y, если в программе записано: Y:=10+random(5)?

2. Введите в компьютер программу Example2. Выполните программу, получите результаты.

3. Используя функцию random (X), получите числа в диапазонах: от 1 до 10, от —10 до +10, от 50 до 100.

4. Составьте программу заполнения массива из 100 чисел случайными значениями из диапазона от -20 до 20. Подсчитайте в этом массиве количество положительных и количество отрицательных значений.

5. Заполните случайными числами в диапазоне от 1 до 5 два массива: А[1:20] и Б[1:20]. Найдите и выведите на экран только те элементы этих массивов, значения которых совпадают. Например, если А[2] = В[2] = 4, то на экран надо вывести:

Номер: 2 значение: 4

Если таких совпадений нет, то выведите на экран сообщение об этом.

6. Придумайте свои способы получения случайных чисел.

ЕК ЦОР: часть 2, глава 6, § 43. ЦОР № 10-11.

Источник: cyberpedia.su

Одна задача обработки массива

Решим следующую задачу. Массив заполняется случайным набором целых чисел. Нужно определить, сколько раз данное целое число входит в этот массив.

Что такое случайные числа

Сначала несколько слов о случайных числах. Все себе представляют игральный кубик, имеющий шесть граней. При каждом бросании кубика выпадение какого-то числа есть случайное событие. С равной вероятностью может выпасть любое число от 1 до 6. Результат бросания кубика — это случайное число. А теперь представьте себе кубик с 10-ю гранями.

Правда, кубиком его можно назвать только условно. Это — десятигранник, на каждой грани которого нанесены числа от 1 до 10. Результат бросания такого «кубика» — случайное число в диапазоне от 1 до 10. При розыгрыше лотереи из вращающегося барабана достают пронумерованные шары. Выпавший номер шара — случайное число.

Датчик случайных чисел на Паскале

В языках программирования, как правило, имеется аналог подобного «кубика» или лототрона, позволяющий получать случайные числа. Он называется датчиком случайных чисел. Это стандартная функция. В Паскале она записывается так: random (X) . Здесь X — целое число. При выполнении функции ее результатом становится целое число в диапазоне от 0 до X. Например, если X = 50, то в результате можем получить любое целое число от 0 до 50.

Приведем программу, которая демонстрирует работу датчика случайных чисел на Паскале:

Program Example; var I: integer; begin for I:=l to 10 do write(random(50):4) end.

Читайте также:
2 задание информатика программа

По этой программе на экран выводится десять случайных чисел из диапазона от 0 до 50. Вот результат тестового выполнения этой программы:

0 3 17 20 27 7 31 16 37 42

А теперь вернемся к условию задачи. Получающиеся с помощью датчика случайные числа «раскладываются» по элементам массива. Назовем массив Rand, а число элементов в нем пусть будет равно 20. Искомое число будет вводиться в переменную X.

Алгоритм поиска числа в массиве

На рис. 3.14 приведена блок-схема алгоритма поиска в массиве Rand величины X с подсчетом числа его вхождений в массив в переменной NumberX.

Рис. 3.14. Подсчет вхождений числа в массив

Обратите внимание на блок, отображающий цикл с параметром. Он имеет форму вытянутого шестиугольника. В блоке записывается параметр цикла (переменная I), начальное и конечное значения параметра через запятую (:=1, 20).

Переменная NumberX играет роль счетчика. Вначале ей присваивается ноль. Затем в цикле происходит перебор всех элементов массива, и при каждом выполнении условия равенства к счетчику добавляется единица. Так всегда организуются счетчики в программах! В результате выполнения программы на экран будет выведен один из двух вариантов ответа: либо сообщение, что в массиве нет искомого числа, либо сообщение о том, сколько раз это число присутствует в массиве, если оно там обнаружено.

Программа поиска числа в массиве

Напишем программу на Паскале, содержащую как заполнение массива случайными числами, так и алгоритм, описанный в блок-схеме на рис. 3.14.

Program Example2; var Rand: array[1..20] of integer; I, X, NumberX : integer, begin Randomize; writeln( ‘Массив случайных чисел: ‘) for I:=l to 20 do begin Rand[I]:=random(50); Write(Rand[I]:4) end; writeln; write ( ‘Введите X: ‘)); Readln(X); NumberX:=0; for I:=l to 20 do if Rand(I)=X then NumberX:=NumberX+l; if NumberX=0 then writeln(‘В массиве нет числа r,X) else writeln( ‘Число ‘,Х,’ в массиве присутствует ‘,NumberX,’ раз’) end.

В этой программе присутствует еще один новый для нас оператор: Randomize. Это стандартная процедура Паскаля, которая производит установку начального состояния датчика случайных чисел. Дело в том, что без этого оператора функция random при многократном повторении выполнения программы всегда будет выдавать одну и ту же последовательность чисел. Процедура Randomize случайным образом устанавливает начальное состояние датчика. Поэтому при повторном выполнении программы будут получаться разные наборы случайных чисел.

Посмотрите на результаты выполнения этой программы. Первое выполнение:

Массив случайных чисел: 5 44 0 41 29 12 1 39 32 25 17 31 44 5 5 16 29 10 13 34 Введите X: 5 Число 5 в массиве присутствует 3 раз

Жирным шрифтом обозначено вводимое с клавиатуры значение. Все остальные символы выводятся на экран по программе. Второе выполнение программы:

Массив случайных чисел: 41 33 26 26 33 11 19 38 29 4 31 20 6 32 39 21 28 40 7 19 Введите X: 2 В массиве нет числа 2

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru