Элементы языка программирования паскаль
Идентификатор - начинается с буквы или “_” (символа подчеркивания) и состоит из букв, цифр и “_”. Длина идентификатора ограничена длинной программной строки, т.е. 126 символами, но при этом компилятор различает только первые 63 символа. Большие и маленькие буквы не различаются.
Числа в программе - это константы целого или действительного типа. Целые константы представляются в десятичной или шестнадцатеричной системе счисления. Признаком шестнадцатеричной системы является предшествующий символ $. Целые константы должны принадлежать диапазону от -2147483648 до 2147483647. Строки - последовательность символов, заключенных в апострофы (в одиночные кавычки). Максимальная длина строковой константы - 255 символов.
Комментарий в Паскале - любой текст, ограниченный (*.........*) или {........}. Вложенность компонентов допускается лишь двумя способами:
(* ...... {........} ........*) или {......(*........*).......}. В современных версиях программной среды типа PascalABC.NET допускается использовать для комментария двойной слеш в начале строки //.
СТРУКТУРА ПРОГРАММЫ
Program <название> - заголовок программы
Label - описание меток
Const - описание констант
Type - описание типов
Var - описание переменных
Procedure - описание процедур
Function – описание функций
begin
раздел операторов (основная программа)
end.
ОПЕРАТОРЫ ЯЗЫКА ПРОГРАММИРОВАНИЯ ПАСКАЛЬ
Любая программа на языке Паскаль начинается со слова PROGPAM и заканчивается словом END. (с точкой). Вслед за словом PROGRAM записывается имя программы, которое ей дает автор. Все имена (идентификаторы) записываются с использованием только 26 букв латинского алфавита и 10 арабских цифр. При этом все идентификаторы должны отличаться друг от друга. Вся первая строчка программы называется заголовком программы.
Операторные скобки. Любая последовательность операторов, заключенная между словами BEGIN и END, называется составным оператором. Таким образом, раздел операторов - это составной оператор. В нем описываются все алгоритмические действия, которые необходимо выполнить над исходными данными для получения результата.
Операторы ввода.Часто первыми действиями, выполняемыми программой, являются действия по вводу данных. В языке Паскаль для этой цели служат следующие процедуры чтения:
READ, например, READ(A, B, C);
READLN, например, READLN(A, B);
Оператор присваивания.Оператор присваивания с помощью знака присваивания := разбивается на 2 части: левую и правую. В правой части записывается выражение, значение которого необходимо вычислить.
Условный операторимеет две разновидности:
IF условие THEN оператор1 ELSE оператор2;
IF условие THEN оператор;
Оператор перехода (не рекомендуется): GOTO метка;
Цикл с параметром имеет две разновидности:
FOR I: = M TO N DO оператор; (если начальное значении параметра меньше конечного),
FOR I: = N DOWNTO M DO оператор; (если начальное значении параметра больше конечного).
Цикл с предусловием:WHILE условие DO оператор;
Цикл с постусловием:
REPEAT оператор1;
оператор2;
оператор3;
……………
оператор n
UNTIL условие;
Оператор выбора (варианта):
CASE селектор OF
значение 1: оператор1:
значение 2: оператор2;
…………………………
значение n: оператор n
ELSE оператор
END {of case};
Так же, как и в условном операторе, альтернативная часть “ELSE” не является обязательной.
ТИПЫ ДАННЫХ В ПАСКАЛЕ
Рисунок 5. Типы данных в Паскале.
ВСТРОЕННЫЕ ФУНКЦИИ
Таблица 1.
Имя функции | Математическое обозначение | Тип результата |
Sin (x) | Sin x | Real |
Cos(x) | Cos x | Real |
Ln(x) | Ln x | Real |
Sqrt(x) | Real | |
Arctan(x) | Arctg x | Real |
Exp(x) | ex | Real |
Sqr(x) | x2 | Integer |
Abs(x) | |x| | Integer |
Odd(x) | False, x=2n True, x=2n+1 | Boolean |
Succ(x) | x + 1 | Integer |
Pread(x) | x - 1 | Integer |
Inc(x) | x + 1 | Integer |
Inc(x,n) | x + n | Integer |
Dec(x) | x - 1 | Integer |
Dec(x,n) | x - n | Integer |
ДОМАШНИЕ ЗАДАНИЯ
Домашнее задание № 1
Задание «Имя». Написать программу, которая выводит на экран Ваше имя.
Задание «Арифметика». Ввести с клавиатуры два числа и найти их сумму, разность, произведение и, если возможно, частное от деления одного на другое.
Задание «Уравнение». Для любых введенных с клавиатуры b и c решить уравнение вида bx + c = 0.
Задание «Еще уравнение». Для любых введенных с клавиатуры a, b и c решить уравнение вида
ax2 + bx + c = 0.
Задание «Лампа со шторой».В комнате светло, если на улице день и раздвинуты шторы или если включена лампа. Ваша программа должна, в зависимости от времени суток и состояния лампы и штор, отвечать на вопрос, светло ли в комнате.
Домашнее задание № 2
Задача «Конус». Вычислить объем и полную поверхность усеченного конуса:
V = 1/3ph(R2+Rr+r2),
S = p(R2+(R+r)l+r2).
Задача «Разветвление».Для произвольных x и a вычислить
w =
Задача «Функция».Для произвольных a и b вычислить функцию .
Задача «Порядок».Распечатать 10 натуральных чисел в возрастающем порядке, начиная с произвольного числа N.
Задача «Табуляция».Протабулировать функцию
при изменении x от -4 до +4 с шагом 0.5. Сделать 2 варианте – с циклами Repeat и While.
Домашнее задание № 3
Задача «Заем». Месячная выплата m по займу в S рублей на n лет под процент p вычисляется по формуле:
.
Дано: S, p, n. Найти: m.
Задача «Ссуда».Под какой процент p выдана ссуда величиной S рублей, которая гасится месячными выплатами величиной m в течение n лет. Формулу для вычисления месячной выплаты взять из предыдущей задачи.
Задача «Копирование файла».Создать на диске текстовый файл и скопировать его на экран.
Задача «Фильтр».Вывести на экран только числа из созданного Вами на диске текстового файла, содержащего буквы и числа.
Задача «Сортировка букв».Задать строку из 30 букв и расставить их в алфавитном порядке.
Домашнее задание № 4
Задача «Файл».Создать файл, записать в него 10 чисел, закрыть, потом вновь открыть файл и найти сумму чисел.
Задача «Знак числа». Определить знак введенного с клавиатуры числа, использовав подпрограмму-функцию
Задача «Геометрические фигуры». Вычислить площади прямоугольника, треугольника, круга, используя подпрограммы-функции.
Задача «Былая слава». В 1912 году американский флаг «Былая слава» имел 48 звезд (по одной на каждый штат) и 13 полос (по одной на колонию). Напечатать «Былую славу 1912 года».
Задача «Синусоида». Напечатать график функции у = sin x.
Задача «Автоматный распознаватель». Декодировать римскую запись числа, состоящего из любого количества знаков. Правила: Ià1, Và5, Xà10, Là50, Cà100, Dà500, Mà1000. Значение римской цифры не зависит от позиции, а знак – зависит.
Задача «Генератор случайных чисел». Построить генератор псевдослучайных чисел по формуле s = (m×s + i) mod c, где m, i, c – целые числа. I вариант: m = 37, i = 3, c = 64. II вариант: m = 25173, i = 13849, c = 65537.
Задача «Умножение матриц». Три продавца продают 4 вида товаров. Количество продаваемого товара представлено таблицей A. В таблице B представлены цена каждого товара и комиссионные, полученные от продажи, например:
Таблица A. Количество продаваемого товара | ||||
Товар Продавец | N1 | N2 | N3 | N4 |
№ 1 | ||||
№ 2 | ||||
№ 3 |
Таблица B. Цена и комиссионные | ||
Товар | Цена | Комиссионные |
N1 | 1,20 | 0,50 |
N2 | 2,80 | 0,40 |
N3 | 5,00 | 1,00 |
N4 | 2,00 | 1,50 |
Задать соответствующие таблицам матрицы A и B, получить матрицу
C = AхB и определить:
1) какой продавец выручил больше всего денег с продажи, какой – меньше;
2) какой продавец получил наибольшие комиссионные, какой – наименьшие;
3) чему равна общая сумма денег, вырученных за проданные товары;
4) сколько всего комиссионных получили продавцы;
5) чему равна общая сумма денег, прошедших через руки продавцов?
Задача «Системы счисления». Программа должна считывать с клавиатуры число, записанное в одной системе счисления, и выводить на экран это число в записи по другому основанию, например: исходное число – 112D, старое основание – 16, новое основание – 8, результат – 10455.
ь