Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Генератор случайных чисел



Генератор случайных чисел позволяет задать значения переменных случайным образом (с равномерным законом распределения).

Randomize;

Этот оператор задается в программе только один раз и используется для подключения генератора случайных чисел к таймеру компьютера, чтобы при каждом запуске программы было взято новое случайное значение.

 

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

 

X:=Random(1);

{задание случайного числа в интервале [0;1[ }

Y:=Random(100);

{ задание случайного числа в интервале [0;100[ }

F:=Random(100)-50;

{ задание случайного числа в интервале [-50;50[}

 

При использовании генератора случайных чисел можно задать произвольный интервал, из которого случайным образом будут взяты значения, воспользовавшись следующей формулой:

 

F:=Random(b-a+1)+a;

{ значение F будет задано в интервале [a; b]}

 

 

Составление алгоритма и программы для решения задачи.

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


Алгоритмом называется конечная последовательность строго определенных действий, которые на основании исходных данных приводят к однозначному решению задачи.

 

Алгоритмы бывают следующих видов:

· Линейной структуры

· Разветвленной структуры

· Циклической структуры

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

Рассмотрим подробно составление алгоритма линейной структуры для решения следующей задачи.

Задача 2.

Задано трехзначное число. Найти разность (по абсолютной величине) между этим числом и числом, записанным теми же цифрами в обратном порядке.

 

Математическая формулировка задачи:

Чтобы получить число, записанным теми же цифрами в обратном порядке, нужно разбить исходное число на разряды, то есть получить цифры числа, а затем собрать число в обратном порядке, умножив каждую цифру на 100, 10, 1, и результаты сложив.

Пусть имеется некоторое трехзначное число х. Разложим его в виде суммы разрядных слагаемых:

Х=100*a+10*b+c где a, b, c цифры исходного числа х.

Тогда число, записанное теми же цифрами в обратном порядке, будет:

Y=100*c+10*b+a


Цифры трехзначного числа можно получить по формулам:

a=X div 100

b=(X-a*100) div 10

c= X-a*100-b*10

 

Таким образом, решение задачи может быть представлено следующими этапами:

  • Ввод исходного трехзначного числа
  • Получение его цифр по формулам
  • Получение числа записанного теми же цифрами в обратном порядке
  • Вывод результата (модуля разности между исходным числом и числом, записанным теми же цифрами в обратном порядке).

 


Алгоритм к задаче 2: Текст программы к задаче 2:

 

Program Ex_2;

Uses Crt;

Var

X: integer;

{ трехзначное число }

a, b, c: integer;

{ цифры числа }

Y: integer;

{ число в обратном порядке}

R: integer;

{ модуль разности }

Begin

ClrScr;

Writeln(‘Ведите трехзначное число ’);

Readln(x);

a:=X div 100;

b:=(X-a*100) div 10;

c:=X-a*100-b*10;

Y:=100*c+10*b+a;

R:=Abs(X-Y);

Writeln(‘Число в обратном порядке ’, );

Writeln(‘Модуль разности ’, R);

Readln;

End.

 

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.