Similar presentations:
Среда программирования ABC Pascal. Алфавит ABC Pascal
1. Среда программирования ABC Pascal
Язык Паскальразработан в 1968 – 71 гг.
Никлаусом Виртом,
профессором швейцарского университета.
2. Алфавит ABC Pascal:
латинские буквы от A до Zарабские цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
знаки препинания . , :
; ..
знаки арифметических операций + – * /
знаки логических операций > < = >= <= <>
специальные символы ( ) { } [ ] ' := (* *)
3. Основные элементы Pascal:
Идентификатор – последовательностьлатинских букв, арабских цифр, знаков
подчёркивания. Начинается с латинской
буквы. Длина до 127 символов.
Используется в качестве имён переменных,
меток, программ и подпрограмм. Нельзя в
качестве идентификаторов использовать
зарезервированные слова.
4.
Зарезервированные слова – слова,используемые в операторах, названиях
операций, функций и т. п. Всего их около 80.
Например, begin, sin, while.
Константы – постоянные величины.
Встречаются числовые (например, 2345, -67,
34.77) и текстовые константы (например,
'const', 'константа'). В числовых константах
вместо запятой используется точка. В
текстовых константах возможно
использование кириллицы. Текстовые
константы заключаются в апострофы.
5.
Переменные – это идентификаторы(имена), используемые для обозначения
исходных данных и результатов
вычислений. Переменные в ходе
выполнения программы могут менять
значения (например, A, A1, X21,Z).
6.
Выражение – последовательностьпеременных и числовых констант, объединённых
знаками арифметических (арифметическое
выражение, например, Pi*r+1/2.5, Х/5 + 2.5 0) или
арифметических и логических операций
(логические выражения, например, Х + 2.5 = 0,
x+1>=12). Выражения всегда записываются в
строчку, указывая все арифметические
операции, включая знак умножения (например,
математическое выражение записывается –
(X+Y)/2.5-3*Sqrt(X*X-Y*Y)). Математическое
уравнение y= –3x3 + 0,475x – 45,5 записывается
– y:=–3*x*x*x+0.475*x–45.5;)
7.
Комментарии – это пояснения,вставляемые в текст программы.
Комментарий - любой текст, заключённый
в { } или (* *). Комментарии не
выполняются программой.
Оператор – это инструкция, которую
должен выполнить Pascal. Программа
состоит из последовательности
операторов.
8.
Операторы. Исполняемые операторыдолжны заканчиваться – ; Существует
несколько типов операторов:
Оператор присваивания – это
последовательность из переменной, знака
присваивания ( := ) и арифметического
выражения. Например, x:=x+1;
9.
Структурный оператор – этооператор, состоящий из нескольких
зарезервированных слов и логических
проверок. К ним относятся операторы
циклов и условные операторы.
Нестандартные операторы – это
подпрограммы, оформленные стандартным
образом и записанные в библиотеки
(модули). Вызываются при указании имени и
параметров.
10.
Составной оператор – это группаоператоров, заключённая между begin …
end;
Begin
Оператор 1; Оператор 2; … Оператор n;
End;
Пустой оператор – оператор Begin
End;, не выполняющий никакого действия.
11.
Встроенные стандартные математические функции вPascal
Функция
Назначение
Тип
аргумента
Тип функции
Abs(x)
Вычисление абсолютного значения x
вещественный
целый
вещественный
целый
sqr(x)
Вычисление квадрата x
вещественный
целый
вещественный
целый
sqrt(x)
Вычисление квадратного корня из x
вещественный
целый
вещественный
вещественный
sin(x)
Вычисление синуса x
вещественный
целый
вещественный
вещественный
cos(x)
Вычисление косинуса x
вещественный
целый
вещественный
вещественный
arctan(x)
Вычисление арктангенса x
вещественный
целый
вещественный
вещественный
exp(x)
Вычисление экспоненты (числа e=2,71828…) в
степени x
вещественный
целый
вещественный
вещественный
ln(x)
Вычисление натурального логарифма x
вещественный
целый
вещественный
вещественный
log(x)
Вычисление десятичного логарифма x
вещественный
целый
вещественный
вещественный
Pi
Число
нет
вещественный
12. Структура программы
Заголовок программы (необязателен) Program <имя>;Р
А
З
Д
Е
Л
О
П
И
С
А
Н
И
Й
Список используемых модулей Uses ...;
Метки Label ...;
Константы Const ...;
Типы Type ...;
Переменные Var ...;
Процедуры Procedure ...;
Функции
Function ...;
Begin
<Операторы
Раздел операторов
программы>
End.
13. Переменные. Описание переменных.
Все переменные должны быть описаны с указанием типа:Var a, b : integer ; f, d, c : read ;
Тип переменных указывается после списка переменных через двоеточие (: ).
Числовые переменные можно описать по-разному, в зависимости от вида (целые,
вещественные) и значности чисел:
Целый тип
Тип
Диапазон возможных значений
Размер памяти
Byte
0…255
1 байт без знака
Word
0 ... 65535
2 байт без знака
Shortint
─ 128…127
1 байт со знаком
Integer
─ 32768 ...32767
2 байт со знаком
Longint
─2147483648 ... 2147483647
4байт со знаком
Вещественный тип
Тип
Диапазон возможных значений
Размер памяти
Single
1.5 10-45 ... 3.4 1038
4 байт
Real
2.9 10-39 ... 1.7 1038
6 байт
Double
5.0 10-324 ... 1.7 10308
8 байт
Extended
3.4 10-4932 ... 1.1 104932
10 байт
Comp
-2 1063 …+2 1063-1
8 байт
14.
Нестандартный оператор очистки экрана:Clrscr;
Оператор требует подключения (Uses crt;) модуля crt, например:
Uses crt;
Begin
Clrscr; … End.
Нестандартный оператор перемещения текстового курсора в
заданный символ x строки y: gotoxy(x,y);
Нестандартные оператор изменения фона экрана (цвет фона):
Textbackground(...);
Чтобы очистился весь экран, после оператора textbackground должен
следовать оператор clrscr. В противном случае фон меняется только под
текущей строкой.
Нестандартные оператор изменения цвета переднего плана (цвет
букв):
Textcolor(...);
Например,
Uses crt;
Begin
Textbackground (yellow); clrscr; … Textcolor(blue); … End.
15. Операторы ВВОДА данных в переменные с клавиатуры:
Read (<список переменных>);Readln (<список переменных>);
Операторы являются нестандартными, находятся в модуле
Sistem, не требующем специального подключения.
При переходе к выполнению этих операторов программа
ожидает ввода данных и нажатия клавиши Enter.
Данные, вводимые в разные переменные, разделяются
пробелом. Отличия операторов заключаются в том, что
второй оператор после ввода информации (выполнения
оператора) переводит курсор на следующую строку, а
первый оператор - нет.
Пример записи оператора - Readln(k,t,e);
Оператор Readln; без списка переменных используется
для задержки информации на экране до нажатия на
клавишу Enter и ставится в конце программы.
16. Операторы ВЫВОДА текстовой информации на экран :
Write(<список переменных, констант и арифметических выражений>);Writeln(<список переменных, констант и арифметических выражений>);
Операторы являются нестандартными, находятся в модуле Sistem, не
требующем специального подключения.
Например, Write(2+У, Х);Writeln (‘A=’, а);Write(а, с);
Отличия операторов заключаются в том, что второй оператор после
вывода информации переводит курсор на следующую строку, а
первый оператор - нет.
Переменные типа Real рекомендуется выводить в форматированном
виде.
Форматированный вывод - вывод информации с указанием
размерности, т.е. после переменной через двоеточие указывается
количество символов под все число, а затем, для вещественных
переменных, снова через двоеточие число десятичных знаков.
Например: Write(а:5:2,с:6:3); - под а отводится 5 символов, включая
точку, знак числа и два десятичных знака величины числа. Знак «+»
перед числом при выводе будет опущен. Если в а находится число
2,5678, то выведется на экран: _2.56
17. Оператор ожидания нажатия на клавишу
Readkey;Используется для задержки
изображения на экране до нажатия на
клавишу (Enter). Можно ставить в
конце программы, перед end.
18. Целочисленные арифметические операции
Операция
Операция
div
Вычисление
частного при
делении a на b
mod
Вычисление
остатка от
деления a на b
Тип
используемых
переменных
Тип
результат
а
C:=a div b;
целый
целый
D:=a mod b;
целый
целый
Пример
записи
Например,
Y := 25 div 3; (переменной Y присваивается 8),
Y := - 25 div 4; (переменной Y присваивается -6),
Y := 13 mod 3; (переменной Y присваивается 1),
Y := 13 mod 4; (переменной У присваивается 1).
19. Функции, преобразования числовых переменных
ФункцияНазначение
Тип
аргумента
веществен
ный
целый
Тип функции
trunc(x)
Нахождение целой части x (дробная
часть числа отбрасывается)
int(x)
Округление вещественного числа x по
направлению к нулю
вещественны
й
вещественны
й
round(x)
Округление x в сторону ближайшего
целого по математическим правилам
вещественны
й целый
целый
целый
Frac(x)
Вычисление дробной части числа Х
вещественны
й
вещественны
й
целый
Примеры:
Y := trunc(13.999); (переменной Y присваивается 13),
Y := trunc(13.111); (переменной Y присваивается 13),
Y := round(3.145); (переменной Y присваивается 3),
Y := round(23.5); (переменной Y присваивается 24),
Y := round(- 12.5); (переменной Y присваивается -13).
Y := int(2.7); (переменной Y присваивается 2),
Y := int(- 32.3) (переменной Y присваивается -32).
20. Получение случайных чисел.
Random – получение (генерация) случайных чисел вдиапазоне от 0 до 1. Например, Y := random;
(переменной Y присваивается значение равное числу из
промежутка от 0 до 1, возможно 0.45678).
Random(X) - Получение случайных целых чисел в
диапазоне от 0 до (Х-1). Аргумент Х - целое. Например,
Y := Random(39); (переменной Y присваивается
значение равное числу из промежутка от 0 до 38).
Randomize - Формирование базы случайных чисел, на
основе временного таймера ПК. Обеспечивает
генерацию неповторяющихся последовательностей
случайных чисел. Используется, чтобы получать разные
случайные числа при каждом запуске программы.
Должен стоять в программе до первого использования
функции Random.
21.
Генерация случайных чисел (А)Что требуется
получить
Дано
Оператор
Любое число от 0 Аргумент - 91
до 90
А:= Random(91);
Результат (А)
Любое число от 0
до 90, например 62.
Двухзначные
целые
положительные
числа
Числа от 10 до 99, А:= Random(90)+10;
всего: 99-10+1=90
(числа).
Любое число от 10
до 99, например 12.
Двухзначные
целые
положительные
четные числа
Числа 10, 12, 14, … А:=Random(45)*2+10;
до 98, всего чисел
(98-10) / 2+1=88/2
+1=45.
Получаются число
от
0
до
44,
умножаются на 2 и
увеличиваются на
10. Например, 56
Числа в заданном N - начало проме- А:=Random (((N–M)
промежутке
с жутка,
divK)+1)*К+N;
заданным шагом.
M - конец промежутка,
К - шаг.
Сгенерируем
случайное число в
промежутке от 0 до
(N – M) div k.
Умножаем на К и
прибавляем N.
22. Примеры программ:
Объявите переменные, необходимыхдля вычисления значения
функции 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
Написать программу, которая
выводит на желтом фоне синими
буквами:
Буря мглою небо кроет
…
То заплачет, как дитя.
Ответ:
Uses crt;
Begin
Textbackground (yellow); Textcolor(blue); Clrscr;
Writeln(‘Буря мглою небо кроет’); … Writeln;
Writeln(‘
‘ А.С.Пушкин’);
Readkey; End.
А.С.Пушкин
Написать программу вывода
значений переменных a,b,c.
Значение каждой переменной – на
отдельной строке и начинается с
имени переменной, затем знак =,
затем значение.
Uses crt;
Var a,b,c:integer;
Begin
A:=5; b:=6; c:=7;
Writeln(‘a=’,a); Writeln(‘b=’,b); Writeln(‘c=’,c);
Readkey; end.
23.
Объявите переменные инапишите программу
для вычисления
стоимости покупки
нескольких тетрадей и
карандашей.
Uses crt;
Var koltet, sttet, kolkar,stkar,obst:integer;
Begin
Writeln(‘Введите колтетрадей’);
Readln(koltet); …
obst:=koltet*sttet+kolkar*stkar;
writeln(‘obst=’, obst);
Readkey; end.
Написать программу
вычисления величины
дохода по вкладу.
Процентная ставка (в
процентах годовых) и
время хранения (в
днях) задаются во
время работы
программы.
Uses crt;
Var sum,srok,stavka,dohod:real;
Begin
Readln(sum);
Readln(stavka);
Readln(srok);
Dohod:=((sum*(stavka/100))/36)*srok;
Sum:=sum+dohod;
Writeln(sum:9:2,’руб’);
Readkey; end.
24.
Написатьпрограмму
вычисления
величины
стоимости поездки на
дачу. Расстояние, расход
бензина на 100 км. и цена
бензина
может
задаваться с клавиатуры
или
задаваться
случайными числами.
Uses crt;
Var …
Begin Clrscr;
Writeln(’ … ’); Readln( … ); …
Readkey; end.
Найти остаток от деления и
округленный результат
деления
двух
целых
чисел,
заданных
с
клавиатуры
Uses crt;
Var a,b,c,d:integer;
Begin Clrscr;
Writeln(‘Введите два целых числа’);
Readln(a,b);
с:= a div b; d:= a mod b;
Writeln(‘округленный результат - ’, c );
Writeln(‘остаток от деления - ’,d);
Readln; end.
25.
Преобразовать вещественноечисло в денежный формат.
Пример, 24.5 – 24 руб 50
коп
Uses crt;
Var a: real; b,c: integer;
Begin Clrscr;
Writeln(‘Введите вещественное число’);
Readln(a);
b:= trunc(a); c:= round((a-b)*100);
Writeln;
Writeln(b:4,' руб', c:6,’коп’);
Readkey; end.
Сгенерировать
случайные
числа:
1) целое в интервале от 0 до
67;
2) целое двухзначное;
3) вещественное с двумя
целыми знаками; 4) целое
из ряда 60, 70, 80, 90, …,
150;
5) вещественное из ряда -1.5, 1.3, -1.1, …, 0.7, 0.9.
Uses crt;
Var a…
Begin Clrscr;
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);
a:=random(round((0.9-(-1.5))/0.2+1))*0.2-1.5;
…
Readkey; end.