- •Глава 1 «Знакомство с языком»
- •«Шаблон»
- •«Типы данных»
- •«Первая комбинированная программа»
- •«Первая самостоятельная программа»
- •Глава 2 «Алгоритмические операторы»
- •«Структура типа Линейная или Следование»
- •«Структура типа Ветвление»
- •«Структура типа Цикл»
- •«Цикл со счётчиком»
- •«Цикл с постусловием»
- •«Цикл с предусловием»
- •Глава 3 «Оператор выбора case»
- •«Метки и псевдоциклы с оператором goto»
- •«Операторы деления div и mod»
- •«Рандомные числа»
- •«Некоторые полезные функции и операторы»
- •«Комментарии»
- •«Файлы. Процедуры и функции при работе с файлами»
«Рандомные числа»
Пришло время познакомиться с оператором генерирования случайных чисел – RANDOM. Это очень полезная и часто встречающаяся функция. Разберём её:
• «Рандом обыкновенный» - генерирует числа от 0 до 1 с точностью 15 знаков после запятой:
Используется очень редко, и рассматривать мы его не будем. А рассмотрим мы следующий тип рандома:
• «Рандом с диапазоном» - генерирует числа в заданном диапазоне. Использование:
RANDOM (<диапазон>) – диапазон указывается положительным числом. Например:
Random (10) – выпадет случайное число от 0 до 9 – то есть одна из цифр десятичной системы счисления.
Random(12) – выпадет число от 0 до 11.
Random (100) – от 0 до 99 и так далее.
Для того, чтобы выдать числа из диапазона 1..10, то необходимо к выпавшему числу прибавить 1:
Random(10)+1 – выпадет число от 1 до 10. Почему? Рассмотрим случаи:
• Выпал 0 – прибавим 1, получится 1
• выпало 9 – прибавим 1, получится 10
Для того, чтобы сделать диапазон с отрицательными числами, необходимо так же рассматривать случаи с максимальным и минимальным числами. Пусть нам необходимо выдать числа от -5 до 5, тогда оператор будет выглядеть так:
Random(11)-5
Случаи:
• выпал 0 – минус 5 = -5
• выпало 10 – минус 5 = 5
Random(21)-10 – выдаёт случайное число из диапазона [-10 .. 10]. И так далее. Попробуйте.
Теперь напишем программу, которая выдаёт случайное число из введённого диапазона:
Оператор очень прост в применении.
Задание №8:
«Напишите программу, которая загадывает число от 0 до 5. Человек должен отгадать. Если человек отгадал, завершить программу со словами: `вы угадали!`».
Примечание: для повтора ввода числа использовать цикл repeat until.
Если у Вас получилось – идём дальше.
Усложним программу: добавьте подсказки человеку. Например [Задача №9]:
Если получилось – Вы молодец! Усложним программу, добавив в неё количество попыток [Задача №9]. Пусть попыток будет 3. Для того, чтобы организовать количество попыток, дам подсказку: добавьте переменную, отвечающую за попытки, которая в начале программы имеет значение 3 и уменьшается на 1, при каждой попытке. В конце цикла repeat until нужно добавить условие:
Repeat
<программа>
Until (<загаданное число> = <введённое число>) or (<попытки> = 0);
К сожалению, я не угадал.
Сделаем программу ещё сложнее [Задача №10] – пусть пользователь вводит количество попыток; добавьте сообщение о том, что попытки закончились или вы угадали число и сколько попыток осталось. Если число не угадано и попытки закончились – пусть компьютер говорит, какое число загадал. При помощи меток GOTO задайте вопрос, хочет ли человек сыграть ещё раз, а метку поставьте на оператор clrscr, чтобы очистить экран и перезапустить программу:
«Некоторые полезные функции и операторы»
Необязательная глава (для ознакомления)
Можно сокращать некоторые команды:
• x≔x+1 inc(x);
• x≔x-1 dec(x);
Операторы INC и DEC увеличивают и уменьшают, соответственно, переменную X на 1. Для того, чтобы увеличить или уменьшить переменную на другое число, команда будет выглядеть так:
• x≔x+z inc(x,z); - увеличить `x` на `z`.
• x≔x-z dec(x,z); - уменьшить `x` на `z`.
Где `Z` - целое.
Существует функция LENGTH – возвращает длину строки (возвращает – получает длину строки/считает/ выдаёт). Использование:
Length(‘Привет’) = 6
Length(‘Привет, мир!’) = 12
Length(‘Привет ’) = 11 – любые символы считаются.
Функции
INTTOSTR(INTEGER to STRING) – функция, преобразующая число в строковую запись,
и
STRTOINT(STRING to INTEGER) – обратная функция, преобразующая строку в число (в строке должно быть число, иначе программа выдаст ошибку при преобразовании).
Использование:
