Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемСветлана Ожгибесова
1 К. Поляков, Программирование на языке Паскаль Часть II Тема 3. Обработка массивов
2 Программирование на языке Паскаль. Часть II К. Поляков, Случайные процессы 2 Случайно… 1)встретить друга на улице 2)разбить тарелку 3)найти 10 рублей 4)выиграть в лотерею Случайный выбор: 1)жеребьевка на соревнованиях 2)выигравшие номера в лотерее Как получить случайность?
3 Программирование на языке Паскаль. Часть II К. Поляков, Случайные числа на компьютере 3 Электронный генератор нужно специальное устройство нельзя воспроизвести результаты малый период (последовательность повторяется через 10 6 чисел) Метод середины квадрата (Дж. фон Нейман) в квадрате Псевдослучайные числа – обладают свойствами случайных чисел, но каждое следующее число вычисляется по заданной формуле.
4 Программирование на языке Паскаль. Часть II К. Поляков, Распределение случайных чисел 4 Модель: снежинки падают на отрезок [a,b] a b a b распределение равномерное неравномерное Сколько может быть разных распределений? ?
5 Программирование на языке Паскаль. Часть II К. Поляков, Распределение случайных чисел 5 Особенности: распределение – это характеристика всей последовательности, а не одного числа равномерное распределение одно, компьютерные датчики случайных чисел дают равномерное распределение неравномерных – много любое неравномерное можно получить с помощью равномерного a b a b равномерное распределение неравномерное распределение
6 Программирование на языке Паскаль. Часть II К. Поляков, Генератор случайных чисел в Паскале 6 Целые числа в интервале [0,N): var x: integer;... x := random ( 100 ); { интервал [0,99] } Вещественные числа в интервале [0,1) var x: real;... x := random; { интервал [0,1) }
7 Программирование на языке Паскаль. Часть II К. Поляков, Заполнение массива случайными числами 7 const N = 5; var A: array [1..N] of integer; i: integer; begin writeln('Исходный массив:'); for i:=1 to N do begin A[i] := random(100) + 50; write(A[i]:4); end;... const N = 5; var A: array [1..N] of integer; i: integer; begin writeln('Исходный массив:'); for i:=1 to N do begin A[i] := random(100) + 50; write(A[i]:4); end;... Зачем сразу выводить? ? случайные числа в интервале [50,150)
8 Программирование на языке Паскаль. Часть II К. Поляков, Подсчет элементов 8 Задача: заполнить массив случайными числами в интервале [-1,1] и подсчитать количество нулевых элементов. Идея: используем переменную-счётчик. Решение: 1)записать в счётчик ноль 2)просмотреть все элементы массива: если очередной элемент = 0, то увеличить счётчик на 1 3)вывести значение счётчика
9 Программирование на языке Паскаль. Часть II К. Поляков, Подсчет элементов 9 начало конец нет да нет да i
10 Программирование на языке Паскаль. Часть II К. Поляков, Подсчет элементов 10 program qq; const N = 5; var A: array [1..N] of integer; i, count: integer; begin { здесь надо заполнить массив } count:= 0; for i:=1 to N do if A[i] = 0 then count:= count + 1; writeln('Нулевых элементов: ', count); end. program qq; const N = 5; var A: array [1..N] of integer; i, count: integer; begin { здесь надо заполнить массив } count:= 0; for i:=1 to N do if A[i] = 0 then count:= count + 1; writeln('Нулевых элементов: ', count); end. for i:=1 to N do if A[i] = 0 then count:= count + 1; for i:=1 to N do if A[i] = 0 then count:= count + 1; перебираем все элементы массива
11 Программирование на языке Паскаль. Часть II К. Поляков, Задания 11 «4»: Заполнить массив случайными числами в интервале [20,100] и подсчитать отдельно число чётных и нечётных элементов. «5»: Заполнить массив случайными числами в интервале [1000,2000] и подсчитать число элементов, у которых вторая с конца цифра – четная.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.