Язык программирования ТУРБО ПАСКАЛЬ.ppt
- Количество слайдов: 22
Язык программирования ТУРБО ПАСКАЛЬ Язык Т. Паскаль разработан в 1968 – 71 гг. Никлаусом Виртом, профессором швейцарского университета.
Алфавит Turbo Pascal: латинские буквы от A до Z n арабские цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 n знаки препинания. , : ; . . n знаки арифметических операций + – * / n знаки логических операций > < = >= <= <> n специальные символы ( ) { } [ ] ' : = (* *) n
Основные элементы Паскаля: n Идентификатор – последовательность латинских букв, арабских цифр, знаков подчёркивания. Начинается с латинской буквы. Длина до 127 символов. Используется в качестве имён переменных, меток, программ и подпрограмм. Нельзя в качестве идентификаторов использовать зарезервированные слова. n Зарезервированные слова – слова, используемые в операторах, названиях операций, функций и т. п. Всего их около 80. Например, begin, sin, while. n Константы – постоянные величины. Встречаются числовые (например, 2345, -67, 34. 77) и текстовые константы (например, 'const', 'константа'). В числовых константах вместо запятой используется точка. В текстовых константах возможно использование кириллицы. Текстовые константы заключаются в апострофы.
n Переменные – это идентификаторы (имена), используемые для обозначения исходных данных и результатов вычислений. Переменные в ходе выполнения программы могут менять значения (например, A, A 1, X 21, Z). n Выражение – последовательность переменных и числовых констант, объединённых знаками арифметических (арифметическое выражение, например, 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= – 3 x 3 + 0, 475 x – 45, 5 записывается – y: =– 3*x*x*x+0. 475*x– 45. 5; )
n n Комментарии – это пояснения, вставляемые в текст программы. Комментарий - любой текст, заключённый в { } или (* *). Комментарии не выполняются программой. Оператор – это инструкция, которую должен выполнить Turbo Pascal. Программа состоит из последовательности операторов. Операторы. Исполняемые операторы должны заканчиваться – ; Существует несколько типов операторов: Оператор присваивания – это последовательность из переменной, знака присваивания ( : = ) и арифметического выражения. Например, x: =x+1;
n Структурный оператор – это оператор, состоящий из нескольких зарезервированных слов и логических проверок. К ним относятся операторы циклов и условные операторы. n Нестандартные операторы – это подпрограммы, оформленные стандартным образом и записанные в библиотеки (модули). Вызываются при указании имени и параметров. Составной оператор – это группа операторов, заключённая между begin … end; Begin Оператор 1; Оператор 2; … Оператор n; End; n n Пустой оператор – оператор Begin End; , не выполняющий никакого действия.
Встроенные стандартные математические функции в Turbo Pascal Функция Abs(x) sqrt(x) sin(x) cos(x) Тип аргумента Тип функции Вычисление абсолютного значения x вещественны й целый вещественный целый Вычисление квадрата x вещественны й целый вещественный целый Вычисление квадратного корня из x вещественны й целый вещественный Вычисление синуса x вещественны й целый вещественный Вычисление косинуса x вещественны й целый вещественный Назначение arctan(x) Вычисление арктангенса x exp(x) Вычисление экспоненты (числа e=2, 71828…) в степени x вещественны й вещественный
Структура программы Заголовок программы Program <имя>; (необязателен) Р А З Д Е Л О П И С А Н И Й Список используемых Uses. . . ; модулей Метки Label. . . ; Константы Const. . . ; Типы Type. . . ; Переменные Var. . . ; Процедуры Procedure . . . ; Функции Function . . . ; Begin <Операторы Раздел операторов программы>
Переменные. Описание переменных. Все переменные должны быть описаны с указанием типа: 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 байт
Простейшие операторы работы в текстовом режиме. Имеется два режима работы - графический и символьный. При работе в символьном режиме экран содержит 24 строки по 80 символов. Начало отсчета - левый верхний угол экрана. Возможно использовать различные цвета, задаваемые названием цвета (например, blue, red) или цифрами от 0 до 15. Цвета от 0 до 7 - основные, следующие весемь цветов - аналогичны предыдущим, но с большей интенсивностью (яркостью): Номер-Цвет Константа модуля Crt 0 – чёрный Black 8 – темно-серый Dark. Gray 1 – синий Blue 9 – светло-синий Light. Blue 2 – зелёный Green 10 – светло-зелёный Light. Green 3 – морской волны Cyan 11 – светлый морской волны Light. Cyan 4 – красный Red 12 – светло-красный Light. Red 5– фиолетовый Magenta 13 – светлофиолетовый Light. Magenta Brown 14 – жёлтый Yellow 6 – коричневый
Нестандартный оператор очистки экрана: 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.
Операторы ВВОДА данных в переменные с клавиатуры: Read (<список переменных>); Readln (<список переменных>); Операторы являются нестандартными, находятся в модуле Sistem, не требующем специального подключения. При переходе к выполнению этих операторов программа ожидает ввода данных и нажатия клавиши Enter. Данные, вводимые в разные переменные, разделяются пробелом. Отличия операторов заключаются в том, что второй оператор после ввода информации (выполнения оператора) переводит курсор на следующую строку, а первый оператор - нет. Пример записи оператора - Readln(k, t, e); Оператор Readln; без списка переменных используется для задержки информации на экране до нажатия на клавишу Enter и ставится в конце программы.
Операторы ВЫВОДА текстовой информации на экран : Write(<список переменных, констант и арифметических выражений>); Writeln(<список переменных, констант и арифметических выражений>); Операторы являются нестандартными, находятся в модуле Sistem, не требующем специального подключения. Например, Write(2+У, Х); Writeln (‘A=’, а); Write(а, с); Отличия операторов заключаются в том, что второй оператор после вывода информации переводит курсор на следующую строку, а первый оператор - нет. Переменные типа Real рекомендуется выводить в форматированном виде. Форматированный вывод - вывод информации с указанием размерности, т. е. после переменной через двоеточие указывается количество символов под все число, а затем, для вещественных переменных, снова через двоеточие число десятичных знаков. Например: Write(а: 5: 2, с: 6: 3); - под а отводится 5 символов, включая точку, знак числа и два десятичных знака величины числа. Знак «+» перед числом при выводе будет опущен. Если в а находится число 2, 5678, то выведется на экран: _2. 56
Оператор ожидания нажатия на клавишу Readkey; Используется для задержки изображения на экране до нажатия на клавишу (Enter). Можно ставить в конце программы, перед end.
Целочисленные арифметические операции Опер ация Операция 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).
Функции, преобразования числовых переменных Функция 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). целый
Получение случайных чисел. Random – получение (генерация) случайных чисел в диапазоне от 0 до 1. Например, Y : = random; (переменной Y присваивается значение равное числу из промежутка от 0 до 1, возможно 0. 45678). Random(X) - Получение случайных целых чисел в диапазоне от 0 до (Х-1). Аргумент Х - целое. Например, Y : = Random(39); (переменной Y присваивается значение равное числу из промежутка от 0 до 38). Randomize - Формирование базы случайных чисел, на основе временного таймера ПК. Обеспечивает генерацию неповторяющихся последовательностей случайных чисел. Используется, чтобы получать разные случайные числа при каждом запуске программы. Должен стоять в программе до первого использования функции Random.
Генерация случайных чисел (А) Что требуется получить Дано Оператор Результат (А) Любое число от 0 до 90 Аргумент - 91 А: = Random(91); Любое число от 0 до 90, например 62. Двухзначные целые положительные числа Числа от 10 до 99, всего: 99 -10+1=90 (числа). А: = Random(90)+10; Любое число от 10 до 99, например 12. Двухзначные целые положительные четные числа Числа 10, 12, 14, … до 98, всего чисел (98 -10) / 2+1=88/2 +1=45. А: =Random(45)*2+10; Получаются число от 0 до 44, умножаются на 2 и увеличиваются на 10. Например, 56 Числа в заданном промежутке с заданным шагом. N - начало проме- А: =Random (((N–M) жутка, div. K)+1)*К+N; M - конец промежутка, К - шаг. Сгенерируем случайное число в промежутке от 0 до (N – M) div k. Умножаем на К и прибавляем N.
Примеры программ: Объявите переменные, необходимых для вычисления значения функции y=x 2. Var x : real, y : real; Объявите переменные, необходимые Var r 1, r 2, s : real; для вычисления площади кольца. Запишите на языке Паскаль Y=-2, 7 x 3+0, 23 x 2 -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.
Объявите переменные и напишите программу для вычисления стоимости покупки нескольких тетрадей и карандашей. 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.
Написать программу вычисления величины стоимости поездки на дачу. Расстояние, расход бензина на 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.
Преобразовать вещественное число в денежный формат. Пример, 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.
Язык программирования ТУРБО ПАСКАЛЬ.ppt