- Random – получение (генерация) случайных чисел в диапазоне от 0 до 1. Например, Y:= random; (переменной Y присваивается значение равное числу из промежутка от 0 до 1, возможно 0.45678).
- Random(X) - Получение случайных целых чисел в диапазоне от 0 до (Х-1). Аргумент Х - целое. Например, Y:=Random(39); (переменной Y присваивается значение равное числу из промежутка от 0 до 38).
- Randomize - Формирование базы случайных чисел, на основе временного таймера ПК. Обеспечивает генерацию неповторяющихся последовательностей случайных чисел. Используется, чтобы получать разные случайные числа при каждом запуске программы. Должен стоять в программе до первого использования функции Random.
Генерация случайных чисел (А) | |||
Что требуется получить | Дано | Оператор | Результат (А) |
Любое число от 0 до 90 | Аргумент - 91 | А: = Random(91); | Любое число от 0 до 90, например 62. |
Двухзначные целые положительные числа | Числа от 10 до 99, всего: 99-10+1=90 (числа). | А: = Random(90)+10; | Любое число от 10 до 99, например 12. |
Двухзначные целые положительные четные числа | Числа 10, 12, 14, … до 98, всего чисел (98-10)/2+1=88/2+1=45. | А: = Random(45)*2+10; | Получаются число от 0 до 44, умножаются на 2 и увеличиваются на 10. Например, 56 |
Числа в заданном промежутке с заданным шагом. | N - начало промежутка, M - конец промежутка, шаг - К. | А: = Random (((N–M) div K)+1)*К+N; | Сгенерируем случайное число в промежутке от 0 до (N – M) div k. Умножаем на К и прибавляем N. |
Примеры программ:
|
|
Объявите переменные, необходимых для вычисления значения функции y=x2. | Var x:real, y:real; |
Объявите переменные, необходимые для вычисления площади кольца. | Var r1,r2,s:real; |
Запишите на языке Паскаль Y=-2,7x3+0,23x2-1,4 | Y:=-2.7*x*x*x+0.23*x*x-1.4 |
Написать программу вывода значений переменных a,b,c. Значение каждой переменной – на отдельной строке и начинается с имени переменной, затем знак =, затем значение. | Var a,b,c:integer; Begin A:=5; b:=6; c:=7; Writeln(‘a=’,a); Writeln(‘b=’,b); Writeln(‘c=’,c); Readkey; end. |
Найти остаток от деления и округленный результат деления двух целых чисел, заданных с клавиатуры | Var a,b,c,d:integer; Begin Writeln(‘Введите два целых числа’); Readln(a,b); с:= a div b; d:= a mod b; Writeln(‘округленный результат - ’, c); Writeln(‘остаток от деления - ’,d); Readln; end. |
Преобразовать вещественное число в денежный формат. Пример, 24.5 – 24 тенге 50 тиын | Var a: real; b,c: integer; Begin Writeln(‘Введите вещественное число’); Readln(a); b:= trunc(a); c:= round((a-b)*100); Writeln; Writeln(b:4,' тенге', c:6,’тиын’); end. |
Сгенерировать случайные числа: 1) целое в интервале от 0 до 67; 2) целое двухзначное; 3) вещественное с двумя целыми знаками; 4) целое из ряда 60, 70, 80, 90, …, 150; | Var a… Begin Randomize; a:=random(68); Writeln(‘1 -’, a); a:=random(90)+10; Writeln(‘2 -’, a); a:=random; b:=b*100; Writeln(‘3 -’, b); a:=random(10)*10+60; Writeln(‘4 -’, a); … end. |