Раscаl
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
ОСНОВНЫЕ ПОНЯТИЯ
Язык программирования Раscаl был разработан Николасом Виртом в
шестидесятые годы прошлого века как учебный язык для студентов. Язык Раscаl
был назван в честь французского математика и философа Блеза Паскаля (1623-1662
гг.) - изобретателя первой в мире механической вычислительной машины.
Современный Тuгbо Раscаl сохранил простоту и структуру языка, разработанного
Виртом. Это достаточно мощное средство программирования, предназначенное
для написания программ различной сложности. На Тuгbо Раscаl можно выполнить
простые расчеты, составить программы для реализации сложных инженерных
задач, обучающие программы, программы-оболочки, тестирующие программы и
драйверы.
Алфавит языка
Программа на языке Раscаl может содержать следующие символы:
• Прописные и строчные буквы латинского алфавита и знак подчеркивания (_):
А, В, С.....х,у,z.
• Цифры 0, 1, 2 ..., 9.
• Специальные символы:
+_*/=<>.,;:
@‘()[]{}$#^
В качестве имен программ, констант, переменных, различных процедур,
функций и других объектов языка используются имена идентификаторы, которые
представляют
собой
совокупность букв, цифр и символа подчеркивания,
начинающуюся с буквы или символа подчеркивания. Идентификатор не может
содержать пробел. При написании могут быть использованы как прописные, так и
строчные буквы. Каждое имя (идентификатор) должно быть уникальным. Длина
имени не ограничена, но значимы только первые 63 символа. Большие и маленькие
буквы равнозначны.
Данные в языке Тuгbо Раscаl
Данные языка Раscаl можно разделить на константы и переменные.
Константы не изменяют своего значения в процессе выполнения программы. Они
описываются с помощью служебного слова соnst, за которым идет список имен
констант каждому из которых с помощью символа << = >> присваивается
значение. Одна константа от другой отделяется точкой с запятой, например:
соnst
h=3;
b=-1.5;
c=`abc`;
Переменные могут
изменять свое значение в процессе выполнения
программы неограниченное число раз. Описание переменных начинается со
служебного слова var, за которым следуют имена переменных и через двоеточие
указывается их тип, например:
var
a, b: real;
2
c, d: integer;
Типы данных в Тuгbо Раscаl
Раscаl является типизированным языком. Это означает, что в Раscаl любые
данные характеризуются своим типом. Тип данных определяется при их описании
и не может быть изменен. Тип - это множество значений, которые могут принимать
данные и множество операций, допустимых над этими значениями. Данные могут
участвовать только в операциях, допустимых их типом.
Перечень типов данных в языке Тuгbо Раscаl можно представить в виде
следующей схемы:
1. Простые типы (скалярные):
•
Порядковые типы (целый, вещественный, символьный,
логический,
перечисляемый, интервальный).
• Ссылочный тип.
2.
Структурированные типы: строковый, регулярный, комбинированный,
множественный, файловый.
3. Процедурные типы.
Целочисленные типы данных
Эта группа типов обозначает множества целых чисел в различных диапазонах.
Целочисленные типы данных занимают в памяти от 1 до 4 байт. Все они
представлены в таблице 1.
Таблица 1
Целочисленные типы данных
Тип
Диапазон
Размер в
байтах
Bytе
0..255
1
Word
0..65535
2
Shortint -128.. 127
1
Integer -32768..32767
2
Longint -2147483648. .2 147483647
4
Значения целых типов могут изображаться в программе двумя способами: в
десятичном виде и в шестнадцатеричном виде (в этом случае в начале числа
ставится знак $). Диапазон изменений шестнадцатеричных чисел от $0000 до
$FFFF.
Вещественные типы данных.
Эта группа типов обозначает множества вещественных значений в различных
диапазонах. Вещественные типы данных занимают в памяти от 4 до 10 байт. Все
они представлены в таблице 2.
3
Вещественные типы данных
Тип
Диапазон
Real
Single
Double
Extended
Comp
Мантисса
2.9Е-39..1.7Е38
1.5Е-45..3.4Е38
5.0Е-324..1.7Е308
3.4Е-4951..1.1Е4932
-2Е+63..2Е+62
11-12
7-8
15-16
19-20
19-20
Таблица 2
Размер в
байтах
6
4
8
10
8
Вещественные данные могут быть как с фиксированной, так и с плавающей
точкой. В числах с фиксированной точкой целая часть числа отделяется от дробной
точкой. Например, 7.32, 45.123. -0.12.
Числа с плавающей точкой используются для представления очень больших
или малых чисел. В этой форме число записывается в виде: ±mЕ±Р, где mмантисса; Е-символ, обозначающий основание десятичной системы счисления; Р порядок. Знак мантиссы определяет знак числа. Порядок представляет собой
однозначное или двузначное число, указывающее, на сколько разрядов вправо
(знак "+") или влево (знак "-") нужно переместить точку в мантиссе, чтобы
получить фактическое значение представляемой величины. Например:
в Паскале
в математике
-3.2Е-06
-3.2•10-6
6.42Е-02
6.42•102
Символьный тип данных.
Символьный тип - это множество символов кодовой таблицы компьютера АSСII.
Каждый символ занимает 1 байт и может быть описан с помощью служебного
слова char, например:
Var
a, b: char;
В тексте программы значения переменных и константы символьного типа должны
быть заключены в апострофы: ‘а’, ‘+’.
Логический (булевский) тип данных.
Булевский тип обозначается идентификатором boolean. Данные этого типа могут
принимать два значения: true (истина) или false (ложь). Для размещения в памяти
переменной булевского типа требуется 1 байт. Например:
Var
a, b: boolean;
Перечисляемый тип.
Перечисляемый тип задается непосредственным перечислением значений, которые
может принимать переменная данного типа, например:
Var
a, c: (red, blue, green);
b: (dog, cat);
4
Можно сначала ввести перечисляемый тип данных, а затем описать переменные
этого типа. Для создания нового типа используется служебное слово tуре. Формат:
Туре
<имя типа>=(<значение 1, значение 2, …, значение N>);
Var
<идентификатор, ...> : < имя типа >;
Пример:
Туре
Gaz= (Ge, C, O,N );
Metall=(Na, K, Li, Cu, Zn);
Var
G1, G2, G3: Gaz;
Met1, Met2 : Metall;
Переменные G1, G2, G3 и Met1, Met2 могут принимать только одно из
перечисленных значений. Попытка присвоить им любое другое значение вызовет
программное прерывание.
Интервальный тип.
Интервальный тип данных позволяет задавать две константы, которые определяют
границы изменения переменных данного типа. Значение первой константы должно
быть меньше значения второй. Сами же они являются целочисленными или
символьными, например:
Vаr
а, с: -7.. 4;
b: ‘а’..‘d’;
Как и случае перечисляемого типа, можно предварительно ввести тип данных с
помощью служебного слова tуре, а затем описывать переменные данного типа,
например:
Type int = 0..9;
Var a,b : int;
Структура программы на языке Тuгbо Раscаl
Структуру программы можно записать следующим образом:
Program ... ; { Заголовок программы }
Uses … ; { Подключение библиотек (модулей) }
Label … ; { Раздел объявления меток }
Const … ; { Раздел объявления констант }
Type … ; { Раздел объявления новых типов }
Var … ; { Раздел объявления переменных }
Procedure ... ; { Описание своих процедур }
Function ... ; { Описание своих функций }
Begin { Начало основной программы }
…;
5
{Операторы }
…;
End.
Описание заголовка программы
Заголовок программы состоит из служебного слова program, имени
программы, образованного по правилам использования идентификаторов Раsсаl, и
точки с запятой.
Формат:
Program <имя_программы>;
Пример:
Program lаb1;
Заголовок программы несет чисто смысловую нагрузку и может отсутствовать.
Описание используемых библиотек
Этот раздел состоит из зарезервированного слова uses и списка имен
подключаемых стандартных и пользовательских библиотечных модулей.
Формат:
Uses <имя1>, <имя2>, ...;
Пример:
Uses Crt, Dos, MyLib;
Раздел описания меток
Перед любым оператором языка Раscаl можно поставить метку, что
позволяет выполнить прямой переход на этот оператор с помощью оператора
перехода goto из любого места программы.
Метка состоит из имени и следующего за ним двоеточия. Именем может
служить идентификатор или цифра (десятичное число от 1 до 9999). Перед
употреблением метка должна быть описана.
Формат:
Label <имя1, имя2, ... >;
Пример:
Label M1,M2;
Begin
…
Goto M1;
…
M1:
…
6
End.
Если метка описана, но в разделе операторов не используется, то ошибки при
этом не возникает, т.е. метки можно описывать и применять по мере расширения
программы.
Раздел описания констант
В
разделе
описания
констант
производится
присваивание
идентификаторам
констант
постоянных
значений.
Раздел
начинается
зарезервированным словом сonst, за которым следует ряд выражений,
присваивающих идентификаторам числовые или строковые значения. Выражения
присваивания отделяются друг от друга точкой с запятой.
Формат:
Const <идентификатор>=<значение >;
Пример:
Const
Мах = 100;
Name = 'Рit';
Code = $124;
Удачное относительно мнемоники именование констант пользователя делает
программу более читаемой и позволяет быстро вносить корректировку в
программу при изменении алгоритма.
Раздел описания типов данных
Тип данных может быть описан либо в разделе описания переменных, либо в
разделе описания типов. Выбор описания типа зависит только от программиста и
специфики программы.
Формат:
Туре <имя типа>=<значения типа>;
Пример:
Туре
Days = 1..31;
Мatr = аrraу [1..10] of integer;
Каждое описание задает множество значений и связывает с этим
множеством некоторое имя типа.
Например, в данном описании тип Days определяет множество
целых чисел от 1 до 31, Мatr - массив из 10 целых чисел.
Раздел описания переменных
Каждая встречающаяся в программе переменная должна быть описана.
Описание обязательно предшествует использованию переменной.
7
Формат:
Var <идентификатор, …>:<тип>;
Пример:
Var
А, В: integer;
Result: real;
Vxod: bооlеаn;
Раздел описания процедур и функций
В этом разделе размещаются тела подпрограмм. Подпрограммой называется
программная единица, имеющая имя, по которому она может быть вызвана из
других частей программы. В языке Раsсаl роль подпрограмм выполняют
процедуры и функции. В общем случае подпрограмма имеет ту же структуру, что и
программа. Для описания подпрограмм используются зарезервированные слова
prосеdure и function, которые записываются в начале подпрограммы.
Формат процедуры:
Рrосеdure <имя процедуры> {<параметры>};
<разделы описаний>
<раздел операторов>
end;
Формат функции:
Function < имя функции> {<параметры>}:<тип результата>;
<разделы описаний>
<раздел операторов>
end;
Раздел операторов
Раздел операторов является основным, т.к. именно в нем с предварительно
описанными переменными, константами, значениями функций выполняются
действия, позволяющие получить результат.
Формат:
Begin
<оператор1>;
…
<операторN>;
End .
Операции и выражения в языке Раscаl
Конструкция языка, задающая порядок выполнения действий над
элементами данных, называется выражением. Выражение состоит из операндов
(operand- элемент данных, участвующий в операции), - величин и выражений, над
8
которыми производится операция: круглых скобок и знаков операций. Операции
определяют действия, которые надо выполнить над операндами.
Операции в языке Раscаl подразделяются на арифметические, отношения,
логические, строковые и др. Выражения соответственно называются
арифметические, отношения, логические и т.д.
Основные арифметические операции, применяемые в Тuгbо Раscаl приведены в
таблице 3.
Арифметические операции
Операция
Действие
Тип операндов
Таблица 3
Тип результата
+
*
/
Div
Mod
Сложение
Вычитание
Умножение
Деление
Деление нацело
Остаток от деления
Integer, real
Integer, real
Integer, real
Integer, real
Integer
Integer
Integer, real
Integer, real
Integer, real
Integer, real
Integer
Integer
Пример: 9/4 =2.25; 9 div4 = 2; 9 mod 4=1.
Операции отношения выполняют сравнение двух операндов и определяют
истинно выражение или ложно. Их результат - логический. Операции отношения
приведены в таблице 4.
Операции отношения
Таблица 4
Операция
Название
Выражение
Результат
=
<>
>
<
>=
<=
in
Равно
Не равно
Больше
Меньше
Больше или равно
Меньше или равно
Принадлежность
А=В
А<>В
А >В
А< В
А>=В
А <= В
А in М
True, если А равно В
True, если А не равно В
True, если А больше В
True, если А меньше В
True, если А больше или равно В
True, если А меньше или равно В
True, если А находится в списке В
Логические операции выполняются над логическими данными. Определены
следующие логические операции (табл. 5).
Таблица 5
Логические операции
Операция
Действие
Выражение
А
Not
Логическое отрицание
Not A
And
Логическое И
A and B
True
False
True
True
9
В
Результат
True
False
False
True
True
False
Or
Логическое ИЛИ
A or B
Xor
Исключающее ИЛИ
A xor B
False
False
True
True
False
False
True
True
False
False
True
False
True
False
True
False
True
False
True
False
False
False
True
True
True
False
False
True
True
False
Вычислите выражений производится по следующим правилам:
1, Запись выражения производится в одну строку без каких-либо подстрочных
или надстрочных знаков с использованием только круглых скобок.
2. Выполняются операции внутри скобок. Если имеемся несколько пар скобок,
вычисления начинаются с самых внутренних.
3. Порядок вычислений внутри скобок определяется приоритетом (старшинством)
операции:
а) вычисление значений функций;
б) not;
в) возведение в степень;
г) операции типа умножения (*, /, div, mod, and);
д) операции сложения ( + , -, or, хоr);
е) операции отношения.
Операция, имеющая высший приоритет выполняется первой.
4. При наличии нескольких операций одного приоритета, вычисления выполняются
слева направо.
В Тuгbо Раscаl определены стандартные функции над арифметическим
операндами (таблица 6)
Примеры:
tg(x) = sin(x) / cos(x);
round(6.8) = 7;
arсcos(x) = arctan(sqrt(1-sqr(x)) / x);
trunс(2.1) = 2;
arcsin(x) =arctan(x / sqrt(1-sqr(x)));
trunc(6.8) = 6;
logb a = ln(a) / ln(b);
frac(2.1) = 0.1
int(1.3) = 1;
frac(6.8) = 0.8;
int(-1.3) = -1;
odd(3) = true;
round(2.1) = 2;
odd(2) = false;
10
Стандартные арифметические функции
таблица 6
Действие
Модуль числа
Обозначение
Тип аргумента
Тип результата
Abs (x)
Integer, real
Integer, real
Синус
Sin (x)
Integer, real
real
Косинус
Cos (x)
Integer, real
real
Arctan (x)
Integer, real
real
Арктангенс
π
Pi (x)
ех
Exp (x)
Integer, real
real
Ln (x)
Integer, real
real
0.4343*Ln (x)
Integer, real
real
Sqr (x)
Integer, real
Integer, real
Sqrt (x)
Integer, real
real
Вычисление целой
части числа
Дробная часть числа
Int (x)
real
real
Frac (x)
real
real
Округление числа х
Round(x)
real
integer
Отсекание дробной
части х
Trunc(x)
real
integer
integer
boolean
Натуральный
логарифм
Десятичный
логарифм
х2
real
Возвращает значение Odd (x)
равное true,если х
нечетное, false, если
х четное
Генерация
случайного числа от
0 до 1
Random
Генерация
случайного числа от
0 до n
Random (n)
integer
integer
xn , x>0
Exp(n*ln(x))
Integer, real
Integer, real
_
11
real
xn, x<0
- Exp(n*ln(abs x)))
Integer, real
Integer, real
ОПЕРАТОРЫ
ператором называется предложение языка программирования, задающее
полное описание некоторого действия, которое необходимо выполнить. Все
операторы языка Раscаl можно разделить на две группы: простые и структурные.
Простые операторы языка Паскаль
Оператор присваивания
Формат:
< идентификатор >: = выражение>;
Предписывает выполнить выражение, заданное в его правой части, и
присвоить результат переменной, идентификатор которой расположен в левой
части. Переменная и выражение должны иметь один и тот же тип, исключение,
когда переменная вещественная, а выражение целочисленное.
Пример:Summa:= а+b.
Оператор ввода Read и Readln
Ввод информации с клавиатуры осуществляется с помощью оператора read. Он
может иметь один из следующих форматов:
Read (х1, х2, ..., хn);
или
Readln (x1, х2, ..., хn),
где х1, х2.....хn -список вводимых переменных.
Когда в программе встречается оператор read ,ее действие
приостанавливается до тех пор, пока не будут введены исходные данные.
Вводимые переменные отделяются друг от друга пробелом или Enter. Значения,
вводимые с клавиатуры, должны иметь тот же тип, что и соответствующие им
переменные, указанные в операторе read или readln. Если соответствие нарушено,
возникает ошибка ввода-вывода.
Операторы read и readln аналогичны, их единственное отличие в
следующем: после набора данных для оператора readln и нажатия клавиши Enter
курсор переходит к началу новой строки, а для оператора read курсор остается на
этой же строке.
Значения переменных логического и перечисляемого типов вводить с
клавиатуры нельзя.
Оператор readln, записанный без параметров, используется для
организации паузы - выполнение программы продолжится, как правило, только
после нажатия на клавиатуре клавиши Enter.
Оператор вывода Write и Writeln
Для вывода информации (чисел, строк и булевых значений) на экран дисплея
служат операторы write и writeln. Формат:
Write (у1,у2, ..., уn);
12
Writeln (у1,у2, ..., уn),
где у1, у2.....уn - список выводимых переменных, констант, выражений (у1, у2, ...,
уn не могут быть перечисляемого типа).
Операторы write и writeln последовательно выводят все переменные на экран
дисплея. Если используется оператор writeln, то после вывода информации курсор
перемещается на новую строку.
Оператор writeln, записанный без параметров, вызывает перевод строки.
Форматированный вывод информации
В операторах write и writeln имеется возможность записи выражения,
определяющего ширину поля вывода.
Формат для данных целого и строкового типов:
Write (A: m),
где m - ширина поля вывода всего числа.
Пример:
Значение А
Выражение
Результат
134
write (А: 6)
__134
Величина А выводится в крайние правые позиции поля шириной 6.
При выводе вещественных значений, кроме ширины поля вывода, через двоеточие
надо указывать количество позиций, необходимых для дробной части числа. При
форматированном выводе вещественных чисел эти числа выводятся в формате с
фиксированной точкой.
Формат для данных вещественного типа:
Write (А: m: n),
где m - ширина поля вывода всего числа; n - количество знаков в дробной части
числа (0 <= n <= 24). Если n > 24, то при выводе используется формат с плавающей
точкой.
Пример:
Значение А
Выражение
Результат
51.04
write (А: 8:3)
__51.040
-46.78
write (А: 7:2)
_-46.78
Если число не помешается в m позиций, то поле вывода расширяется до
минимально необходимого.
Структурные операторы языка Паскаль
Структурные операторы представляют собой конструкции, построенные из
других операторов по строго определенным правилам. Все структурные операторы
можно разделить на три группы: составные, условные, повтора.
Составной оператор begin…end
Составной оператор представляет собой группу из произвольного числа
операторов, отделенных друг от друга точкой с запятой, и ограниченную
операторными скобками begin и end.
Формат:
13
begin
<оператор 1>;
<оператор 2>;
…
<оператор N>;
end ;
Составной оператор воспринимается как единое целое и может находиться в
любом месте программы, где синтаксис языка допускает наличие оператора.
Условные операторы
Условные операторы предназначены для выбора к исполнению одного из
возможных действий (операторов) в зависимости от некоторого условия (при этом
одно из действий может отсутствовать). В качестве условий выбора используется
значение логического выражения. В Тuгbо Раscаl имеются два условных
оператора: if и case.
Условный оператор if…then…else
Условный оператор if служит для организации процесса вычислений в
зависимости от какого-либо логического условия.
Оператор if может принимать две формы записи (полную и
короткую):
if <условие> then <оператор1>
else <оператор2>;
if <условие> then <оператор>;
В блок-схемах разветвленные алгоритмы изображаются так,
как показано на рис. 1.
Да
Нет
Да
Проверк
а
Оператор1
Оператор2
Провер
ка
Нет
Оператор
Рис.1. Фрагменты алгоритма разветвленной структуры
Оператор условия if выполняется следующим образом. Сначала вычисляется
выражение, записанное в условии. В результате его вычисления получается
значение булевского типа. В первом случае, если значение выражения есть True
(истина), выполняется <оператор1>,указанный после слова then. Если результат
вычисления выражения в условии есть False (ложь), то выполняется <оператор2>.
Во втором случае — если результат выражения True, выполняется <оператор>,
если False — выполняется оператор, следующий сразу за оператором if. По
правилам каждая из ветвей может содержать либо один выполняемый оператор,
14
либо несколько, объединенных в составной оператор. Точка с запятой перед else не
ставится.
Операторы if могут быть вложенными.
Формат записи:
if <условие1> then
if <условие2> then <оператор1>
else <оператор2>;
При вложениях всегда действует правило: служебное слово else всегда
связывается с ближайшим по тексту служебным словом if, которое еще не связано
со служебным словом else.
Оператор выбора case…of…end
Если один оператор if может обеспечить выбор из двух альтернатив, то
оператор выбора саsе позволяет сделать выбор из произвольного числа имеющихся
вариантов. Он состоит из выражения, называемого селектором (selection — выбор
альтернативы), и списка параметров, каждому из которых предшествует список
констант выбора (список может состоять и из одной константы).
Формат:
саsе <выражение-селектор> оf
<список1>: <оператор 1>;
<список2>: <оператор2>;
…
<списокN>: <операторN>;
[еlsе <оператор0>;]
епd;
Здесь
<выражение-селектор> - это выражение порядкового типа, в
зависимости от значения которого принимается решение;
<список1>.. < списокN > - значения, с которыми сравнивается
значение <селектора>;
<оператор1>,…, < операторN > - операторы (возможно составные), из
которых выполняется тот, с константой которого происходит первое совпадение
значения <селектора>, <операторa0> выполнится, если значение ключа не
совпадает ни с одной из констант <список1>.. <списокN> .
Ветвь else не обязательна и, в отличие от оператора if , перед ней можно ставить
точку с запятой. Если для нескольких значений <селектора> действия совпадают,
то эти константы можно перечислить через запятую перед двоеточием или даже
задать диапазон значений (нижняя граница .. верхняя граница).
ЗАДАНИЯ К КОНТРОЛЬНОЙ РАБОТЕ
Контрольная работа выполняется каждым студентом в соответствии со
своим индивидуальным вариантом. Номер варианта выбирается по двум
последним цифрам шифра зачетной книжки. Если это число больше 30, то номер
варианта равен сумме двух последних цифр.
Задание1. Вычислить и вывести на экран значения двух переменных.
Задание2. Вычислить и вывести на экран значение заданной функции, используя
условный оператор if.
15
Задание3. Решить задачу с использованием оператора саsе.
ПРИМЕР ВЫПОЛНЕНИЯ КОНТРОЛЬНОЙ РАБОТЫ
Задание 1. Вычислить и вывести на экран значения переменных y и p, используя
расчетные формулы:
y = atg3 (x2) +
,
p = ln(a + x2 ) +sin2 ( )
где a = 0.59, z = -4.8, x = 2.1.
Блок-схема алгоритма решения представлена на рис.2. В блоке 3 вводятся
исходные данные а, х, z. B блоке 4 вычисляется значение тангенса. В блоках 5 и 6
вычисляются значения функций у и р, а в блоке 7 осуществляется вывод
вычисленных значений.
1
Начало
2
Введите а,x,z
3
Ввод а,х,z
4
c=sin(x2)/cos(x2)
5
y=atg3 (x2) +
6 p= ln(a+x2)+sin2( )
7
вывод у, р
8
конец
Рис.2. Блок-схема алгоритма решения
Программа, реализующая приведенный алгоритм имеет вид :
Program zadanie_1;
Var
16
a, x, z, c, y, p : real;
Begin
Writeln ( ‘Введите а, х, z ‘);
Read (а, х, z);
c : = sin(х*х)/cos(х*х);
у := a*exp(3*ln(c))*sqr(x)+ sqrt(z*z/(a*a+x*x));
p := ln(a+x*x)+sqr(sin(z/a));
Writeln (‘y = ‘, y:8:3, ‘ p = ‘,p:8:3);
End.
Задание 2. Вычислить и вывести на экран значение заданной функции
где а = 15; b = 3.
Блок-схема алгоритма представлена на рис.3.
Текст программы:
Program zadanie_2;
Const а = 15; b = 3;
Var f, x : real;
Begin
Writeln ( 'Введите х ');
Read (х);
If x <= 0 then f : = а*x
else if(х>0) and (x<=5) then f : = b*ln(x)
else f : = 0;
Writeln ( ‘ f = ‘,f:8:3);
End.
Введите х
Ввод
х
x≤0
да
f=a*x
нет
0 100');
End;
End.
Начало
Введите i
Ввод i
нет
i
=0,2,4,6,
да
Четная цифра
нет
i=1,3,5,7,
9
да
10≤ i≤100
нет
да
Нечетная цифра
Число от 10 до100
Число отриц.
или >100
18
Конец
Рис.4. Блок-схема алгоритма
ЗАДАНИЕ 1
Вариант
задания
1
Расчетные формулы
Значения исходных
данных
x=1.426
y=-1.22
z=3.5
2
x=1.825
y=18.225
z=-3.298
3
x=0.335
y=0.025
4
a=-0.5
b= 1.7
t=0.44
a=0.1
b=0.2
x=1
5
6
a= 16.5
b= 3.4
x=0.61
a= 0.7
b= 0.05
x=0.5
7
8
a=1.1
b= 0.004
x=0.2
9
m=2
c=-1
t=1.2
b=0.7
a=3.2
b= 17.5
x=-4.8
a=10.2
b= 9.2
x=2.2
c=0.5
a=0.3
b= 0.9
x=0.61
10
11
12
13
a=0.5
b= 3.1
x=1.4
a=0.5
b= 2.9
14
19
x=0.3
a=0.5
b= 1.8
m= 0.7
15
16
n=0.5
k=0.3
l=1
17
x=1.18
y=0.75
z=-1.5
18
a=0.5
b= 0.3
c=1.23
19
a=0.72
c= 1.82
d=1.23
20
f=0.33
g=2.33
a=-0.3
b=4.75
a= 0.25
x=0. 1
21
22
t= 0.3
x=1.22
23
a=0.2
x=0.5
24
x=0.4
y=0.15
25
x=1.2
m=0.7
26
a=0.12
x=1.5
w=0.72
t=-1.5
27
28
x=1
y= 0.6
29
a=0.1
x=1.6
30
b=0.5
t=0.3
20
c=2.1
x=1.7
ЗАДАНИЕ 2
№ вариант
1
функция
условие
1≤t≤2
t<1
t>2
x < 1.3
x = 1.3
x > 1.3
исх. данные
a=-0.5
b=2
3
x < 1.2
x = 1.2
x > 1.2
a=2.8
b=-0.3
c=4
4
x < 1.4
x = 1.4
x > 1.4
a=1.65
5
x<1
x=1
12
xa
a=2.3
bx < 1
bx = 1
bx > 1
x > 3.5
x ≤ 3.5
x>1
x≤1
b=1.5
10
x < 0.5
x = 0.5
x > 0.5
t=2.2
11
x < 2.8
2.8 ≤ x < 6
x≥6
a=2.6
b=-0.39
12
x>1
x≤1
a=0.9
2
6
7
8
9
21
a=1.5
a=2.5
--a=20.3
13
i<4
4 ≤ i ≤6
i>6
14
a=2.1
b=1.8
c=-20.5
≥0
a=0.3
n=10
<0
15
x ≤2
2 0
x<0
x=0
y ≠0
y =0
---
x < -1
-1 ≤ x ≤ 1
x>1
t < 0.1
t = 0.1
t > 0.1
---
17
18
19
20
y = x-0.5
a=2.5
b=0.4
≥0
c=0.5
n=10
<0
21
x<4
x=4
x>4
x<0
x≥0
---
23
x<0
x≥0
c = 0.3
24
x<2
x=2
x>2
---
25
x<1
x=1
x>1
---
26
x≤0
0≤x≤1
x>1
x<3
x≥3
x≤0
01
x ≤ -π
x>-π
---
22
27
28
29
22
b = 0.25
--b =2
---
x ≤ -1
-1 < x ≤ 1
x>1
30
---
ЗАДАНИЕ 3
1.
В зависимости от того, введена открытая скобка или закрытая, напечатать
"открытая круглая скобка" или "закрытая фигурная скобка" (учитывать круглые,
квадратные, фигурные скобки).
2.
В зависимости от введѐнного символа L, S, V программа должна вычислять
длину окружности; площадь круга; объѐм цилиндра. Радиус окружности и высоту
цилиндра ввести с клавиатуры.
3. Определите, является ли введенная буква русского алфавита гласной.
4.
Напишите программу, которая по введенному числу из промежутка 0..24,
определяет время суток.
5.
Пусть имеются данные об автомобилях четырех моделей. Как входное данное
ввести номер модели и получить характеристики: год выпуска и цену.
6.
Ввести первую букву названия страны. Вывести, название ее столицы.
7.
Ввести телефонный код города. Вывести название города.
8.
Дано целое число в диапазоне 1 -7. Вывести строку - название дня недели,
соответствующее данному числу ( 1 - «понедельник», 2 - «вторник» и т. д.).
9.
Вычислить, значение функции по одной из формул (х ≥ 0):
x + a, x < 10;
х - a, 10 ≤ x ≤ 20;
y=
x2,
20 < x < 30;
2
a + x, 30 ≤ x < 60;
x2 + a2, x ≥ 60.
10. Ввести число от 0 до 5. Вывести его название на английском (или другом)
языке.
11. Пусть время суток обозначено номерами: 1 - утро, 2 - день. 3 - вечер. Билет в
кино на утренний сеанс стоит 50 р., на дневной сеанс - 70 р., а на вечерний - 100 р.
Какова выручка кинотеатра в одно из время суток, если в кино пришло n
посетителей.
12. Ввести номер телефона одного из четырех друзей. Вывести его имя.
13. Элементы окружности пронумерованы следующим образом: 1- радиус R, 2 диаметр D = 2R, 3 - длина L = 2πR, 4 - площадь круга S=πR2. Дан номер одного из
этих элементов и его значение. Вывести значения остальных элементов данной
окружности.
14. Дано целое число К. Вывести строку-описание оценки, соответствующей
числу К (1 - «плохо», 2 - «неудовлетворительно», 3 - «удовлетворительно», 4 «хорошо», 5- «отлично»). Если К не лежит
в диапазоне 1-5, не лежит в
диапазоне 1 -5, то вывести строку «ошибка».
15. Дан номер месяца - целое число в диапазоне 1-12 (1- январь, 2-февраль и т. д.).
Вывести название соответствующего времени года («зима», «весна», «лето»,
«осень»),
16. Пусть время суток обозначено номерами: 1 - утро, 2 - день, 3 -вечер. Билет в
кино на утренний сеанс стоит (детский - 25р., взрослый - 70р.), на дневной сеанс
(детский - 50р., взрослый - 100р.), а на вечерний (детский -70 р., взрослый - 100р.).
23
Какова выручка кинотеатра в одно из время суток, если в кино пришло n детей и m
взрослых.
17. Робот может перемещаться в четырех направлениях («С»- север, «3»- запад,
«Ю» — юг, «В»- восток) и принимать три цифровые команды: 0 — продолжать
движение, 1 -поворот налево, -1 - поворот направо. Дан символ С — исходное
направление робота и целое число N - посланная ему команда. Вывести
направление робота после выполнения полученной команды.
18. Дан номер месяца— целое число в диапазоне 1-12 (1 — январь, 2— февраль и
т. д.). Определить количество дней в этом месяце для не високосного года.
19. Арифметические действия нал числами пронумерованы следующим образом:
1— сложение, 2 - вычитание, 3— умножение, 4 —деление. Дан номер действия N
(целое число в диапазоне 1-4) и вещественные числа А и В (В не равно 0),
Выполнить над числами указанное действие и вывести результат.
20.
Элементы равнобедренного прямоугольного треугольника пронумерованы
следующим образом: 1 - катет а, 2 — гипотенуза с = а·(2)1/2 , 3— высота h,
опущенная на гипотенузу (h = с/2), 4 — площадь S = с·h/2. Дан номер одного из
этих элементов и его значение. Вывести значения остальных элементов данного
треугольника.
21.
Единицы длины пронумерованы следующим образом: 1- дециметр, 2 километр, 3 - метр, 4 - миллиметр, 5 - сантиметр. Дан номер единицы длины
(целое число в диапазоне 1- 5) и длина отрезка в этих единицах (вещественное
число). Найти длину отрезка в метрах.
22. Элементы равностороннего треугольника пронумерованы следующим
образом: 1 -сторона а, 2 -радиус R1, вписанной окружности (R1=a· (3)1/2 / 6), 3 радиус R2 описанной окружности (R2=2· R1 ), 4 -площадь S =a2·(3)1/ 2/ 4. Дан номер
одного из этих элементов и его значение. Вывести значения остальных элементов
данного треугольника,
23.
Единицы массы пронумерованы следующим образом: 1- килограмм, 2миллиграмм, 3 - грамм, 4- тонна, 5- центнер. Дан номер единицы массы (целое
число в диапазоне 1 -5) и масса тела в этих единицах (вещественное число).
Найти массу тела в килограммах.
24. Пусть населенные пункты обозначены номерами от 1 до 8.Стоимость одного
билета к пункту k определяется так:
Сколько стоит m билетов к населенному пункту, номер которого пользователь
должен ввести с клавиатуры?
25. Вводится целое положительное число. Определить четное оно или нет.
26. Для целого числа N от 20 до 30 напечатать фразу "Мне N лет", учитывая при
этом, что при некоторых значениях N слово "лет" надо заменить на слово "год" или
"года".
27.
Напечатать слово СТУДЕНТ в заданном падеже (И - именительный, Р родительный, Д - дательный, В - винительный, Т - творительный, П - предложный)
единственного числа.
24
28 . Для целого числа N от 1 до 8 напечатать фразу "Мы нашли N грибов",
согласовав окончание слова "гриб".
29. Вычислить значение функции по одной из формул (х≥0):
30. Мастям игральных карт присвоены порядковые номера: 1 — пики, 2— трефы,
3— бубны, 4— червы. Достоинству карт, старших десятки, присвоены номера: 11
— валет, 12 — дама, 13 — король, 14 — туз. Даны два целых числа: N —
достоинство (6 ≤ N ≤ 14) и М — масть карты (1 ≤ М ≤4). Вывести название
соответствующей карты вида «шестерка бубен», «дама червей», «туз треф» и т. п.
СОДЕРЖАНИЕ И ОФОРМЛЕНИЕ КОНТРОЛЬНОЙ РАБОТЫ
Пояснительная записка к контрольной работе оформляется в текстовом редакторе
MS Word в формате А4 и должна содержать:
1. Цель работы.
2. Задание.
3. Графические схемы алгоритмов с учетом требований ГОСТ 19.701-90.
4. Программы на алгоритмическом языкe Тuгbо Раscаl.
5. Результаты выполнения работы.
25