|
|
Строка 17: |
Строка 17: |
| ''Что такое случайные числа'' | | ''Что такое случайные числа'' |
| | | |
- | Сначала несколько слов о случайных числах. Все себе представляют игральный кубик, имеющий шесть граней. При каждом бросании кубика выпадение какого-то числа есть случайное событие. С равной вероятностью может выпасть любое число от 1 до 6. Результат бросания кубика — это случайное число. А теперь представьте себе кубик с 10-ю гранями. Правда, кубиком его можно назвать только условно. Это — десятигранник, на каждой грани которого нанесены числа от 1 до 10. Результат бросания такого «кубика» — случайное число в диапазоне от 1 до 10. При розыгрыше лотереи из вращающегося барабана достают пронумерованные шары. Выпавший номер шара — случайное число. | + | Сначала несколько слов о случайных числах. Все себе представляют игральный кубик, имеющий шесть граней. При каждом бросании кубика выпадение какого-то числа есть случайное событие. С равной вероятностью может выпасть любое число от 1 до 6. Результат бросания кубика — это случайное число. А теперь представьте себе кубик с 10-ю гранями. Правда, кубиком его можно назвать только условно. Это — десятигранник, на каждой грани которого нанесены числа от 1 до 10. Результат бросания такого «кубика» — случайное число в диапазоне от 1 до 10. При розыгрыше лотереи из вращающегося барабана достают пронумерованные шары. Выпавший номер шара — случайное число. |
| | | |
- | ''Датчик случайных чисел на Паскале'' | + | ''Датчик случайных чисел на Паскале'' |
| | | |
- | В языках программирования, как правило, имеется аналог подобного «кубика» или лототрона, позволяющий получать случайные числа. Он называется датчиком случайных чисел. Это стандартная функция. В Паскале она записывается так: random (X). Здесь X — целое число. При выполнении функции ее результатом становится целое число в диапазоне от 0 до X. Например, если X = 50, то в результате можем получить любое целое число от 0 до 50. | + | В языках программирования, как правило, имеется аналог подобного «кубика» или лототрона, позволяющий получать случайные числа. Он называется датчиком случайных чисел. Это стандартная функция. В Паскале она записывается так: random (X). Здесь X — целое число. При выполнении функции ее результатом становится целое число в диапазоне от 0 до X. Например, если X = 50, то в результате можем получить любое целое число от 0 до 50. |
| | | |
- | Приведем программу, которая демонстрирует работу датчика случайных чисел на Паскале: | + | Приведем программу, которая демонстрирует работу датчика случайных чисел на Паскале: |
| | | |
- | По этой программе на экран выводится десять случайных чисел из диапазона от 0 до 50. Вот результат тестового выполнения этой программы: | + | По этой программе на экран выводится десять случайных чисел из диапазона от 0 до 50. Вот результат тестового выполнения этой программы: |
| | | |
- | 0 3 17 20 27 7 31 16 37 42 | + | 0 3 17 20 27 7 31 16 37 42 |
| | | |
- | А теперь вернемся к условию задачи. Получающиеся с помощью датчика случайные числа «раскладываются» по элементам массива. Назовем массив Rand, а число элементов в нем пусть будет равно 20. Искомое число будет вводиться в переменную X. | + | А теперь вернемся к условию задачи. Получающиеся с помощью датчика случайные числа «раскладываются» по элементам массива. Назовем массив Rand, а число элементов в нем пусть будет равно 20. Искомое число будет вводиться в переменную X. |
| | | |
- | ''Алгоритм поиска числа в массиве'' | + | ''Алгоритм поиска числа в массиве'' |
| | | |
- | На рис. 6.11 приведена блок-схема алгоритма поиска в массиве Rand величины X с подсчетом числа его вхождений в массив в переменной NumberХ. | + | На рис. 6.11 приведена блок-схема алгоритма поиска в массиве Rand величины X с подсчетом числа его вхождений в массив в переменной NumberХ. |
| | | |
- | Обратите внимание на блок, отображающий цикл с параметром. Он имеет форму вытянутого шестиугольника. В блоке записывается параметр цикла (переменная I), начальное и конечное значения параметра через запятую (:=1, 20). | + | Обратите внимание на блок, отображающий цикл с параметром. Он имеет форму вытянутого шестиугольника. В блоке записывается параметр цикла (переменная I), начальное и конечное значения параметра через запятую (:=1, 20). |
| | | |
- | Переменная NumberХ играет роль счетчика. Вначале ей присваивается ноль. Затем в цикле происходит перебор всех элементов массива, и при каждом выполнении условия равенства к счетчику добавляется единица. Так всегда организуются счетчики в программах! В результате выполнения программы на экран будет выведен один из двух вариантов ответа: либо сообщение, что в массиве нет искомого числа, либо сообщение о том, сколько раз это число присутствует в массиве, если оно там обнаружено. | + | Переменная NumberХ играет роль счетчика. Вначале ей присваивается ноль. Затем в цикле происходит перебор всех элементов массива, и при каждом выполнении условия равенства к счетчику добавляется единица. Так всегда организуются счетчики в программах! В результате выполнения программы на экран будет выведен один из двух вариантов ответа: либо сообщение, что в массиве нет искомого числа, либо сообщение о том, сколько раз это число присутствует в массиве, если оно там обнаружено. |
| | | |
- | ''Программа поиска числа в массиве'' | + | ''Программа поиска числа в массиве'' |
| | | |
- | Напишем программу на Паскале, содержащую как заполнение массива случайными числами, так и алгоритм, описанный в блок-схеме на рис. 6.11. | + | Напишем программу на Паскале, содержащую как заполнение массива случайными числами, так и алгоритм, описанный в блок-схеме на рис. 6.11. |
| | | |
- | В этой программе присутствует еще один новый для нас оператор: Randomize. Это стандартная процедура Паскаля, которая производит установку начального состояния датчика случайных чисел. Дело в том, что без этого оператора функция random при многократном повторении выполнения программы всегда будет выдавать одну и ту же последовательность чисел. Процедура Randomize случайным образом устанавливает начальное состояние датчика. Поэтому при повторном выполнении программы будут получаться разные наборы случайных чисел. | + | В этой программе присутствует еще один новый для нас оператор: Randomize. Это стандартная процедура Паскаля, которая производит установку начального состояния датчика случайных чисел. Дело в том, что без этого оператора функция random при многократном повторении выполнения программы всегда будет выдавать одну и ту же последовательность чисел. Процедура Randomize случайным образом устанавливает начальное состояние датчика. Поэтому при повторном выполнении программы будут получаться разные наборы случайных чисел. |
| | | |
- | Посмотрите на результаты выполнения этой программы. Первое выполнение: | + | Посмотрите на результаты выполнения этой программы. Первое выполнение: |
| | | |
- | Жирным шрифтом обозначено вводимое с клавиатуры значение. Все остальные символы выводятся на экран по программе. Второе выполнение программы: | + | Жирным шрифтом обозначено вводимое с клавиатуры значение. Все остальные символы выводятся на экран по программе. Второе выполнение программы: |
| | | |
- | <u>''Коротко о главном''</u> | + | <u>''Коротко о главном''</u> |
| | | |
- | Случайные числа — результаты случайного выбора из конечного множества значений (игровой кубик, жребий, лотерея). | + | Случайные числа — результаты случайного выбора из конечного множества значений (игровой кубик, жребий, лотерея). |
| | | |
- | Функция random (X) — датчик случайных чисел в диапазоне от 0 до X на Паскале. | + | Функция random (X) — датчик случайных чисел в диапазоне от 0 до X на Паскале. |
| | | |
- | Для подсчета количества искомых величин используется переменная-счетчик. | + | Для подсчета количества искомых величин используется переменная-счетчик. |
| | | |
- | <u>''Вопросы и задания''</u> | + | <u>''Вопросы и задания''</u> |
| | | |
- | 1. Придумайте свои способы получения случайных чисел.<br>2. Какие значения может принимать целая переменная Y, если в программе записано: Y: =10+random(5)?<br>3. Как, используя функцию random(Х), можно получать числа в диапазонах: от 1 до 10, от -10 до +10, от 50 до 100?<br>4. Введите в компьютер программу Ехample2. Выполните программу, получите результаты.<br>5. Составьте программу заполнения массива из 100 чисел случайными значениями из диапазона от -20 до 20. Подсчитайте в этом массиве количество положительных и количество отрицательных значений.<br>6. Заполните случайными числами в диапазоне от 1 до 5 два массива: A[1:20] и В[1:20]. Найдите и выведите на экран только те элементы этих массивов, значения которых совпадают, Например, если А[2] = В[2] = 4, то на экран надо вывести:<br>Номер: 2 значение: 4<br>Если таких совпадений нет, то вывести на экран сообщение об этом.<br>Чему вы должны научиться, изучив главу 6<br>1. Строить несложные вычислительные алгоритмы с использованием блок-схем и Алгоритмического языка.<br>2. Выполнять трассировку алгоритмов.<br>3. Составлять программу на Паскале по данному алгоритму.<br>4. Работать с системой программирования на Паскале: набирать текст программы; сохранять программу на диске и вызывать ее с диска; компилировать и исполнять программу; исправлять ошибки в программе.<br> | + | 1. Придумайте свои способы получения случайных чисел.<br>2. Какие значения может принимать целая переменная Y, если в программе записано: Y:=10+random(5)?<br>3. Как, используя функцию random(Х), можно получать числа в диапазонах: от 1 до 10, от -10 до +10, от 50 до 100?<br>4. Введите в компьютер программу Ехample2. Выполните программу, получите результаты.<br>5. Составьте программу заполнения массива из 100 чисел случайными значениями из диапазона от -20 до 20. Подсчитайте в этом массиве количество положительных и количество отрицательных значений.<br>6. Заполните случайными числами в диапазоне от 1 до 5 два массива: A[1:20] и В[1:20]. Найдите и выведите на экран только те элементы этих массивов, значения которых совпадают, Например, если А[2] = В[2] = 4, то на экран надо вывести:<br>Номер: 2 значение: 4<br>Если таких совпадений нет, то вывести на экран сообщение об этом. |
| + | |
| + | <u>''Чему вы должны научиться, изучив главу 6''</u> |
| + | |
| + | 1. Строить несложные вычислительные алгоритмы с использованием блок-схем и Алгоритмического языка.<br>2. Выполнять трассировку алгоритмов.<br>3. Составлять программу на Паскале по данному алгоритму.<br>4. Работать с системой программирования на Паскале: набирать текст программы; сохранять программу на диске и вызывать ее с диска; компилировать и исполнять программу; исправлять ошибки в программе.<br> |
| | | |
| <br> ''И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова, Информатика, 9 класс<br>Отослано читателями из интернет-сайтов'' | | <br> ''И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова, Информатика, 9 класс<br>Отослано читателями из интернет-сайтов'' |
Версия 18:31, 30 июля 2010
Гипермаркет знаний>>Информатика>>Информатика 9 класс>>Информатика: Одна задача обработки массива
ОДНА ЗАДАЧА ОБРАБОТКИ МАССИВА
§ 43. Одна задача обработки массива
Основные темы параграфа:
♦ что такое случайные числа; ♦ датчик случайных чисел на Паскале; ♦ алгоритм поиска числа в массиве; ♦ программа поиска числа в массиве.
Решим следующую задачу. Массив заполняется случайным набором целых чисел. Нужно определить, сколько раз данное целое число входит в этот массив.
Что такое случайные числа
Сначала несколько слов о случайных числах. Все себе представляют игральный кубик, имеющий шесть граней. При каждом бросании кубика выпадение какого-то числа есть случайное событие. С равной вероятностью может выпасть любое число от 1 до 6. Результат бросания кубика — это случайное число. А теперь представьте себе кубик с 10-ю гранями. Правда, кубиком его можно назвать только условно. Это — десятигранник, на каждой грани которого нанесены числа от 1 до 10. Результат бросания такого «кубика» — случайное число в диапазоне от 1 до 10. При розыгрыше лотереи из вращающегося барабана достают пронумерованные шары. Выпавший номер шара — случайное число.
Датчик случайных чисел на Паскале
В языках программирования, как правило, имеется аналог подобного «кубика» или лототрона, позволяющий получать случайные числа. Он называется датчиком случайных чисел. Это стандартная функция. В Паскале она записывается так: random (X). Здесь X — целое число. При выполнении функции ее результатом становится целое число в диапазоне от 0 до X. Например, если X = 50, то в результате можем получить любое целое число от 0 до 50.
Приведем программу, которая демонстрирует работу датчика случайных чисел на Паскале:
По этой программе на экран выводится десять случайных чисел из диапазона от 0 до 50. Вот результат тестового выполнения этой программы:
0 3 17 20 27 7 31 16 37 42
А теперь вернемся к условию задачи. Получающиеся с помощью датчика случайные числа «раскладываются» по элементам массива. Назовем массив Rand, а число элементов в нем пусть будет равно 20. Искомое число будет вводиться в переменную X.
Алгоритм поиска числа в массиве
На рис. 6.11 приведена блок-схема алгоритма поиска в массиве Rand величины X с подсчетом числа его вхождений в массив в переменной NumberХ.
Обратите внимание на блок, отображающий цикл с параметром. Он имеет форму вытянутого шестиугольника. В блоке записывается параметр цикла (переменная I), начальное и конечное значения параметра через запятую (:=1, 20).
Переменная NumberХ играет роль счетчика. Вначале ей присваивается ноль. Затем в цикле происходит перебор всех элементов массива, и при каждом выполнении условия равенства к счетчику добавляется единица. Так всегда организуются счетчики в программах! В результате выполнения программы на экран будет выведен один из двух вариантов ответа: либо сообщение, что в массиве нет искомого числа, либо сообщение о том, сколько раз это число присутствует в массиве, если оно там обнаружено.
Программа поиска числа в массиве
Напишем программу на Паскале, содержащую как заполнение массива случайными числами, так и алгоритм, описанный в блок-схеме на рис. 6.11.
В этой программе присутствует еще один новый для нас оператор: Randomize. Это стандартная процедура Паскаля, которая производит установку начального состояния датчика случайных чисел. Дело в том, что без этого оператора функция random при многократном повторении выполнения программы всегда будет выдавать одну и ту же последовательность чисел. Процедура Randomize случайным образом устанавливает начальное состояние датчика. Поэтому при повторном выполнении программы будут получаться разные наборы случайных чисел.
Посмотрите на результаты выполнения этой программы. Первое выполнение:
Жирным шрифтом обозначено вводимое с клавиатуры значение. Все остальные символы выводятся на экран по программе. Второе выполнение программы:
Коротко о главном
Случайные числа — результаты случайного выбора из конечного множества значений (игровой кубик, жребий, лотерея).
Функция random (X) — датчик случайных чисел в диапазоне от 0 до X на Паскале.
Для подсчета количества искомых величин используется переменная-счетчик.
Вопросы и задания
1. Придумайте свои способы получения случайных чисел. 2. Какие значения может принимать целая переменная Y, если в программе записано: Y:=10+random(5)? 3. Как, используя функцию random(Х), можно получать числа в диапазонах: от 1 до 10, от -10 до +10, от 50 до 100? 4. Введите в компьютер программу Ехample2. Выполните программу, получите результаты. 5. Составьте программу заполнения массива из 100 чисел случайными значениями из диапазона от -20 до 20. Подсчитайте в этом массиве количество положительных и количество отрицательных значений. 6. Заполните случайными числами в диапазоне от 1 до 5 два массива: A[1:20] и В[1:20]. Найдите и выведите на экран только те элементы этих массивов, значения которых совпадают, Например, если А[2] = В[2] = 4, то на экран надо вывести: Номер: 2 значение: 4 Если таких совпадений нет, то вывести на экран сообщение об этом.
Чему вы должны научиться, изучив главу 6
1. Строить несложные вычислительные алгоритмы с использованием блок-схем и Алгоритмического языка. 2. Выполнять трассировку алгоритмов. 3. Составлять программу на Паскале по данному алгоритму. 4. Работать с системой программирования на Паскале: набирать текст программы; сохранять программу на диске и вызывать ее с диска; компилировать и исполнять программу; исправлять ошибки в программе.
И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова, Информатика, 9 класс Отослано читателями из интернет-сайтов
Основы информатики, подборка рефератов к урокам информатики, скачать рефераты, уроки информатики 9 класс онлайн, домашняя работа
Содержание урока
конспект урока
опорный каркас
презентация урока
акселеративные методы
интерактивные технологии
Практика
задачи и упражнения
самопроверка
практикумы, тренинги, кейсы, квесты
домашние задания
дискуссионные вопросы
риторические вопросы от учеников
Иллюстрации
аудио-, видеоклипы и мультимедиа
фотографии, картинки
графики, таблицы, схемы
юмор, анекдоты, приколы, комиксы
притчи, поговорки, кроссворды, цитаты
Дополнения
рефераты
статьи
фишки для любознательных
шпаргалки
учебники основные и дополнительные
словарь терминов
прочие
Совершенствование учебников и уроков
исправление ошибок в учебнике
обновление фрагмента в учебнике
элементы новаторства на уроке
замена устаревших знаний новыми
Только для учителей
идеальные уроки
календарный план на год
методические рекомендации
программы
обсуждения
Интегрированные уроки
Если у вас есть исправления или предложения к данному уроку, напишите нам.
Если вы хотите увидеть другие корректировки и пожелания к урокам, смотрите здесь - Образовательный форум.
|