1. Основные правила грамматики

advertisement
В.С.Лебедькова
В.С.Лебедькова. Pascal для школьников.
2
Содержание
1. Основные правила грамматики ................................................................................................. 2
2. Структура программы. Зарезервированные слова................................................................... 2
3. Арифметические операции ......................................................................................................... 3
4. Определение переменной. Типы переменных............................................................................. 4
5. Константы. ................................................................................................................................. 6
6. Операции DIV и MOD. ................................................................................................................... 6
1. Основные правила грамматики
1. Текст программы состоит из трех составных частей. Это заголовок, раздел переменных
(описания), исполнительная часть (операторы).
2. Заголовок программы содержит имя программы. В Turbo Pascal заголовок имеет
декоративное значение и использовать его не обязательно.
3. Описания - это символьные конструкции для описания свойств объектов программы. Все
объекты программы надо обязательно указать в этой части программы.
4. Операторы - это символьные конструкции (зарезервированные слова) для описания
действий над объектами программы. Операторы должны находиться между словами begin и end.
Эти слова называют операторными скобками.
5. В одной строке текста можно размещать несколько операторов или описаний. Поэтому
между операторами надо обязательно ставить символ-разделитель. Для разделения операторов
используется символ точка с запятой ( ; ). После последнего оператора разделитель ставить не
обязательно. В последней строчке программы, т.е. после слова end необходимо ставить точку!
6. Малые и большие буквы считаются эквивалентными (равнозначными). Имя любого
объекта
в
записи
программы
может
содержать
только буквы латинского
алфавита, цифры и символ подчеркивания ( _ ). Максимальное число символов в имени не может
превышать 63. Имя не может начинаться с цифры! Никакие другие типы символов в записи имен
не разрешаются!
2. Структура программы. Зарезервированные слова.
Зарезервированные слова – слова, за которыми закреплено строго определенное значение.
Рассмотрим пример программы, записанной на языке программирования Pascal, для
вычисления суммы двух целых чисел:
Program zadacha1;
Var
a,b,sum: integer;
Begin
write (‘Введите значение целого числа а: ‘);
readln (a);
write (‘Введите значение целого числа b: ‘);
readln (b);
sum:=a+b;
В.С.Лебедькова. Pascal для школьников.
3
write (‘Сумма чисел = ‘,sum);
end.
Program - заголовок программы, который можно было бы пропустить, как было сказано
выше.
Var
- начало раздела объявления переменных (сокращение от английского слова
variable – переменная). В разделе описываются все переменные, которые нам
понадобятся в программе, т.е. описывается их тип (см. п.3 «Понятие переменной.
Типы переменных»).
Integer - тип переменных, данный тип указывает, что переменные a,b,sum – целые числа,
т.е. могут принимать целочисленные значения в интервале от -32768 до 32767.
Write
- инструкция компьютеру о выводе на экран сообщения. Причем сообщение,
которое должно быть выведено на экран без изменение заключается в апострофы
(Например: ‘Текст’), значение переменной, которое должно быть выведено на
экран, записывается после запятой без апострофов). "In" в операторе writeln
означают "line" - по-английски "строка" и следовательно данный оператор
переведет курсор на следующую строку.
Readln - инструкция компьютеру о считывании значения переменной с клавиатуры.
Таким образом, в исполнительной части программы мы видим, что компьютер запрашивает
у человека значение первого целого числа, человек набирает значение на клавиатуре и нажимает
клавишу <Enter>, затем компьютер считывает число и записывает в память под именем a. Далее
компьютер запрашивает у человека значение второго целого числа, человек набирает значение на
клавиатуре и нажимает клавишу <Enter>, компьютер считывает число и записывает в память под
именем b. После этого компьютер выполняет сложение чисел a и b, записывает результат в память
под именем sum, выводит на экран сообщение: «Сумма чисел =…».
Обратите внимание: для вычисления суммы чисел a и b в программе использована запись
инструкции присваивания переменной sum. Присваивание записывается с помощью пары
символов := , т.е.
Для выполнения программы следует воспользоваться командой Run (Запустить) в меню Run
(Пуск) или использовать сочетание клавиш <Ctrl>+<F9>.
Задание:
1.1. Составьте программу для вычисления разности двух целых чисел.
1.2. Составьте программу для вычисления квадрата числа, вводимого с клавиатуры.
3. Арифметические операции
Арифметические выражения (АВ) строятся из операндов, которыми могут быть константы,
переменные и стандартные функции. В АВ также входят арифметические операции и круглые
скобки. В языке Паскаль определен ряд арифметических операций, перечислим их в соответствии
с приоритетом, то есть, старшинством (табл. 3.1). Операции с одинаковым приоритетом
равноправны между собой и выполняются слева направо, как и в математике. Использование
скобок в выражениях позволяет менять порядок вычислений.
Табл. 3.1. Арифметические операции языка Паскаль
Приоритет
1
Знак операции
-
Описание операции
унарный минус
not
арифметическое отрицание
В.С.Лебедькова. Pascal для школьников.
2
mod
and
shl
shr
+
-
умножение
деление
деление 2 целых значений с отбрасыванием
остатка
взятие остатка от деления 2 целых значений
арифметическое И
побитовый сдвиг влево
побитовый сдвиг вправо
сложение
вычитание
or
xor
=, <>, <, >, <=, >=, in
арифметическое ИЛИ
арифметическое побитовое сложение по модулю
операции отношения
*
/
div
3
4
4
4. Определение переменной. Типы переменных.
Переменная – ячейка оперативной памяти компьютера, которой присвоено определенное имя
(идентификатор).
Запомните:
1. Содержимое ячейки может меняться, но имя остается неизменным.
2. Переменная может хранить только одно единственное значение, каждое следующее
значение, присвоенное данной переменной, «затирает» предыдущее.
В п.2 была рассмотрена программа для вычисления суммы двух целых чисел, но далеко не
всегда требуется составить программу для работы с целыми числами, также может потребоваться
работа с дробными числами, с символами, со словами и т.д. Для этого все данные
классифицируются на несколько типов.
Тип определяет множество значений, которые могут принимать переменные, а также
совокупность операций, допустимых над этими значениями. Например, из слова нельзя извлечь
квадратный корень, над целыми числами допустимы такие операции, как сложение, вычитание и
т.д.
Рассмотрим несколько стандартных типов:
Табл. 4.1.Типы переменных
№
Наименование
Тип данных
Диапазон возможных
Память,
п/п типа переменной
значение
байт
1
2
Integer
Longint
Целочисленный
Целочисленный
3
4
5
6
7
Byte
Real
Char
String
Boolean
Целочисленный
Вещественный
Символьный
Строковый
Логический
Примеры программ:
Program zadacha2;
var
L: integer; N:real;
от -32768 до 32767
от
-2147483648
до
2147483647
от 0 до 255
от 2,9е-39 до 1,7е38
Символы кодовой таблицы
до 255 символов
true, false
2
4
1
6
1
2
1
В.С.Лебедькова. Pascal для школьников.
5
begin
N:=5.9;
L:=2;
N:=N+L;
write (‘Сумма чисел = ‘,N);
end.
Program zadacha3;
var
L: integer; N:boolean;
begin
writeln (‘Введите целое число’);
readln(L);
N:=N>5;
write (N);
end.
Program zadacha4;
var
a,b:string;
begin
writeln (‘Как тебя зовут?’);
readln(a);
writeln (‘Как твоя фамилия?’);
readln(b);
write (‘Здравствуй,’ , a, ’ ‘,b, ‘!’);
end.
Program zadacha5;
Var
X,Y: Char;
begin
writeln('Введите несколько символов:');
readln(X);
writeln(X);
writeln('Введите еще несколько символов:');
readln(X,Y);
writeln(X,Y);
readln
end.
Запустив программу на выполнение и введя с клавиатуры последовательность символов
(например, ABC) после нажатия клавиши <Enter> программа выведет единственный символ: А
В ответ на второе предложение на экране получим два символа, т.к. переменная типа Char
принимает только один символ из введенной строки. При вводе символы не заключаются в
апострофы. Таким образом, в первом случае из введенных символов запомнился только один, во
втором — два.
Кроме упомянутых типов существует механизм создания новых типов данных. Раздел
описания новых типов начинается с ключевого слова type и выглядит следующим образом:
type имя_типа = описание_типа;
Например:
type people = (Nike, Pete, Oleg);
var B1, B2, B3: people;
…
Задание:
4.1. Составьте программу, в которой три переменные (a,b,c) вводятся с клавиатуры, а в
переменной d храниться результат вычисления следующего выражения: a*b+c. Полученный
результат должен быть выведен на экран в виде 'Ответ: ...'.
4.2. Обменять значения двух переменных, используя третью (буферную) переменную.
В.С.Лебедькова. Pascal для школьников.
6
4.3. Составить программу для вычисления площади прямоугольника. Длины сторон вводятся
с клавиатуры.
4.4. Составить программу, которая считает количество часов, минут и секунд во введенных с
клавиатуры количестве суток.
5. Константы.
Иногда в программе необходимо использовать данные, которые в ходе ее выполнения не
изменяются, их называют константами. Их имя и значение определяется в начале программы.
Например:
program zadacha_6;
const chislo_pi=3.14159265;
var s,r: real;
begin
writeln (‘Введите значение радиуса’);
readln(r);
s:=2*chislo_pi*r;
writeln (‘ S=’ ,s)
end.
В данной программе мы ввели константу, соответствующую числу π и далее использовали её
при вычислении длины окружности.
6. Операции DIV и MOD.
DIV – целочисленное деление. Возвращает целую часть частного, а дробная отбрасывается.
Результат DIV всегда равен нулю, если делимое меньше делителя. Например, 13 div 3 = 4.
MOD – взятие остатка от деления. Вычисляет остаток, полученный при выполнении
целочисленного деления. Например, 13 mod 3 = 1.
Например:
program zadacha_7;
var n,m,w: integer;
begin
n:=25;
m:=6;
w:=n*m;
writeln (’25 умножить на 6 равно ’ , w);
w:=n div m;
writeln (’Результат целого деления 25 на 6 равен ’ , w);
w:=n mod m;
writeln (‘Остаток от деления 25 на 6 равен ’ , w);
w:=n + m;
writeln (‘Сумма 25 и 6 равна ’ , w);
w:=n - m;
writeln (‘Разность 25 и 6 равна ’ , w);
end.
Задание:
6.1. Найдите значение выражений:
11 div 5 =
10 div 3 =
2 div 3 =
123 div 4 =
17 div 5 =
10 mod 5 =
11 mod 5 =
10 mod 3 =
В.С.Лебедькова. Pascal для школьников.
7
22 mod 5 =
31 mod 16 =
6.2. Исходя из заданного объявления переменных, укажите, что будет напечатано в
результате выполнения каждой из четырех приводимых ниже последовательностей предложений:
var
i, j, k, m : integer;
а)
в)
i := 6;
j := 15;
j := i div 2;
k := 16;
k := i * j div 3;
i := j div 3;
writeln(i, ‘ ‘, j, ‘ ‘, k)
m := k mod j;
k := k + 3;
writeln(i, ‘ ‘, j, ‘ ‘, k, ‘ ‘, m)
б)
m := 50 mod 11;
k := m mod 4;
j := k * 10 div 3;
i := j div 2;
writeln(i, ‘ ‘, j);
writeln(k, ‘ ‘, m)
г)
i := 10;
j := 3;
k := i div j;
m := i - k * j;
writeln(i, ‘ ‘, j, ‘ ‘, k, ‘ ‘, m)
6.3. Составьте программу, которая высчитывает количество часов, минут и секунд из
введенных с клавиатуры секунд. Например, 3780 секунд = 1 час 3 минуты 0 секунд.
6.4. Составьте программу, которая вычисляет сумму крайних цифр двузначного числа.
6.5. Составить программу, которая вычисляет сумму и произведение всех цифр
четырехзначного числа.
6.6. Составить программу, которая записывает цифры трехзначного числа в обратном
порядке.
6.7. Дано целое число n. Написать программу получения последней и предпоследней цифр
записи этого числа.
Download