Слайд 2
Язык программирования Pascal
Язык программирования Паскаль был разработан профессором,
директором Института информатики Швейцарской высшей политехнической школы Николаусом Виртом
в 1968-1970 гг. как язык обучения студентов программированию.
Слайд 3
Николаус Вирт
Но думать, что Паскаль- язык исключительно для
обучения, было бы неверно. Вот что говорил об этом
Н. Вирт (1984 г.):
«Утверждалось, что Паскаль был разработан в качестве языка для обучения. Хотя это утверждение справедливо, но его использование при обучении не являлось единственной целью. На самом деле я не верю в успешность применения во время обучения таких инструментов и методик, которые нельзя использовать при решении каких-то практических задач».*
* http://pascal.sources.ru
Слайд 4
Язык программирования Pascal
С тех пор Паскаль становился всё
более и более популярным, причем не только, как язык
для обучения принципам программирования, но и как средство создания достаточно сложного программного обеспечения.
В своем первоначальном виде Паскаль имел довольно ограниченные возможности, но расширенный вариант этого языка – Turbo Pascal является мощным языком программирования.
Слайд 5
Почему PASCAL?
Язык программирования Pascal был назван в честь
французского учёного Блеза Паскаля, который еще в 1642 г.
изобрел первую механическую счётную машину. Она представляла собой систему взаимодействующих зубчатых колёсиков, каждое из которых соответствовало одному разряду десятичного числа и содержало цифры от 0 до 9. Когда колёсико совершало полный оборот, следующее сдвигалось на одну цифру. Машина Паскаля была суммирующей машиной.
Слайд 6
Основные сведения о языках программирования
Язык – система
знаков.
Язык ЭВМ (машинный язык) – двоичная знаковая система.
Поэтому,
чтобы компьютер мог понять написанную программу, она должна быть переведена на язык, понятный компьютеру. Этот процесс перевода называется трансляцией.
Слайд 7
Интерпретаторы и компиляторы
Существует два различных подхода к трансляции
– интерпретация и компиляция:
Интерпретатор переводит и выполняет программу строка
за строкой.
Компилятор переводит программу целиком, а затем выполняет её.
Слайд 8
Интегрированная среда Turbo Pascal-7.0
Огромную роль в массовом распространении
Паскаля сыграла компания Borland International. Она сумела создать знаменитую
Turbo-среду разработки. Это был огромный шаг вперед в облегчении процесса программирования.
Почему Turbo? Turbo в переводе с английского сленга означает ускорение. Компилятор, входящий в состав Turbo Pascal очень быстро переводит программу с языка программирования в машинные коды.
Слайд 9
Интегрированная среда Turbo Pascal-7.0
В состав интегрированной среды входят:
Текстовый
редактор
Компилятор
Отладчик
Справочная система
Среда выполнения программы
Слайд 10
Основные средства языка
Символы языка - это элементарные
знаки, используемые при составлении текстов.
Алфавит языка - набор таких
символов.
Алфавит языка Turbo Pascal 7.0 включает:
все латинские прописные и строчные буквы
арабские цифры (0 – 9)
символы + - * / = < > , . ; : ‘ _ ( ) { } и др.
служебные (зарезервированные) слова
Слайд 11
Для записи команд, имен функций, поясняющих терминов Turbo
Pascal 7.0 существует набор строго определенных слов, которые называются
служебными или зарезервированными (это английские мнемонические сокращения).
Служебные слова делятся на три группы:
операторы (READ, WRITELN и др.)
имена функций (SIN, COS и др.)
ключевые слова (VAR, BEGIN, END и др.)
Основные средства языка
Слайд 12
Именем величины называется её обозначение, это слово из
букв, цифр и знаков подчёркивания, начинающееся с буквы.
Числа: целые,
вещественные: с фиксированной точкой (-1.23; 654.2),
с плавающей точкой (2,473 103, 437,8 10-2).
Шесть операций: + сложение, - вычитание, / деление, * умножение, mod нахождение остатка, div деление нацело.
Слайд 13
Арифметическое выражение конструируется из имён, чисел, знаков арифметических
действий, математических функций.
Для указания порядка действий используются только круглые
скобки.
Для возведения в квадрат используется обозначение sqr(х).
Для извлечения квадратного корня используется обозначение sqrt(х).
Модуль обозначается abs(х).
Слайд 14
Оператор присваивания
Имя переменной := арифметическое выражение.
х:= 3.24 или
х:= х+4.
Тип переменной
Если переменная слева вещественного типа, то арифметическое
выражение может быть как целого, так и вещественного типа.
Если переменная слева целого типа, то арифметическое выражение только целочисленное.
Слайд 15
Структура программы в Паскале
1 часть – описание данных
и операторов.
2 часть – программный блок.
Общий вид программы:
Program
(имя программы)
label (список меток)
const (список постоянных значений)
type (описания сложных типов данных)
var (описания данных программы)
begin (начало программного блока)
(алгоритм)
end. (конец программы)
Слайд 16
Имя программы: не более 8 знаков, начинается с
буквы.
end c точкой.
Описательная часть состоит из 4 разделов: меток,
констант, имён и типов переменных.
var имя и тип переменной: integer (целый), real (вещественный). Например: var i, j: integer; x: real;
Описание каждого типа заканчивается точкой с запятой.
Программный блок содержит операторы, описывающие алгоритм решения задачи.
Слайд 17
Операторы ввода и вывода:
read (список имён) – останавливает
работу программы и ждёт, пока пользователь наберёт на клавиатуре
числа (через пробел) и нажмёт ENTER. Например: read (i, j); После работы этого оператора курсор располагается за последним числом но не переводится на новую строку. Для перевода курсора на новую строку после ввода данных надо использовать оператор readln(список имён).
write (список вывода) – выводит данные на экран. Список вывода - перечисленные через запятую имена результатов вычисления и пояснительные тексты в апострофах. Например: write(‘х=‘, х); На экране напечатается число с фиксированной точкой. Например: write(‘х=‘, х:6:2); на экране будет выдано число из 6 знаков из них два после запятой, (х = -23.57 ).
Перевод курсора на новую строку осуществляется оператором пустого вывода writeln. Оператор пустого ввода readln
Слайд 18
начало
ввод а, в
а+в, a*b, a-b
вывод
а+в, a*b, a-b
конец
Задача:
для двух вещественных чисел найдите сумму, произведение и разность
Слайд 19
Program E1;
var a,b: real;
begin
write (‘введите
два числа через пробел, затем нажмите ’);
readln (a,b);
write (‘a + b = ‘ , a + b , ‘ a * b = ‘ , a * b , ‘a - b = ‘ , a – b);
readln
end.
Слайд 20
Работа в системе Турбо Паскаль
Alt + F10 –
меню
File – New – создать новый файл
Enter – следует
поставить в конце каждой строки
Сtrl + Y – удалить строку
Enter – вставить строку
Для выполнения программы надо в меню выбрать Run
Транслятор – переводит программу с языка Паскаль на машинный язык и ищет синтаксические ошибки.
Если ошибки найдены, то произойдёт возврат в редактор, курсор укажет на ошибку.
Если ошибки не найдены, программа выполняется
Слайд 21
Для выхода из программы выберите файл – exit
или
нажмите Alt+x
Для сохранения программы наберите путь и наберите имя
файла
Слайд 22
Program E2;
var a,b,x,y,z: real;
begin
write (‘введите
два числа через пробел, затем нажмите ’);
readln (a,b);
x := a + b
y := a * b
z := a - b
write (‘a + b = ‘ , x , ‘ a * b = ‘ , y , ‘a - b = ‘ , z);
readln
end.
Слайд 23
Команда ветвления
неполная форма условного оператора
IF условие
THEN
оператор;
Слайд 24
Команда ветвления
полная форма условного оператор
IF условие
THEN
оператор 1
ELSE оператор 2;
Слайд 25
Иногда после слов THEN и ELSE надо выполнить
не один, а несколько операторов. Тогда эти операторы заключаются
в операторные скобки.
Открывающая скобка – слово BEGIN,
закрывающая скобка – слово END.
Перед словом ELSE точка с запятой не ставится.
Рекомендуется каждую пару BEGIN – END записывать в одном столбце.
IF условие
THEN
begin
оператор 1;
оператор 2; оператор N
end
ELSE
begin
оператор 1;
оператор 2;
оператор M
end ;
Слайд 26
Команда ветвления
IF условие THEN оператор; - неполный
условный оператор,
IF условие THEN оператор 1 ELSE оператор 2;
- полный условный оператор.
Задание
Для двух чисел определите являются ли они чётными?
Слайд 27
Program E3;
var a,b: integer;
begin
write (‘введите
два целых числа через пробел, затем нажмите ’);
readln (a,b);
if a mod 2 = 0 then writeln (‘а – чётное’)
else writeln (‘а – нечётное’);
if b mod 2 = 0 then writeln (‘b – чётное’)
else writeln (‘b – нечётное’);
readln
end.
6, если a< =0
Составьте программу для вычисления
Y и назовите её Е31
Y=
Слайд 29
Program E31;
var a,y: real;
begin
write (‘введите
число затем нажмите ’);
readln (a);
if a >0 then y:=3 else y:=6;
write (‘y=‘,y);
readln
end.
a*b, если a< =b
Составьте программу для вычисления
X и назовите её Е32, а и b –вещественные числа.
X=
Слайд 31
Program E32;
var a,b,x: real;
begin
write (‘введите
два числа через пробел затем нажмите ’);
readln (a);
if a >b then x:=a+b else x:=a*b;
write (‘x=‘,x);
readln
end.
Слайд 33
Организация циклов
Повторяющиеся действия в программировании называются
циклом
Оператор безусловного перехода
goto n, n - целое число
(не более 4-х символов), метка.
Метка повторяется 3 раза:
В разделе Label;
В операторе goto;
Перед оператором на который осуществляется безусловный переход.
Слайд 34
Организация циклов с помощью операторов условного и безусловного
переходов.
Задача.
Найти сумму первых двадцати чисел. (1+2+3….+20).
а
1 2 3 4 5……………20
S 0 1 3 6 10 15………….
Слайд 35
Program E4;
label 2,1;
var
а, b, s: integer;
begin
write (‘введите два целых числа
через пробел, затем нажмите ’);
readln (a,b);
s:=0;
1: if a else goto 2;
a:=a+1;
goto 1;
2: write (‘s=‘,s);
readln; end.
Слайд 36
Оператор цикла пока
While условие do оператор
Оператор повторяется пока
выполняется условие
Оператор может быть простым и составным
begin……… end –
операторные скобки
Задача.
Вычислить наибольший общий делитель двух натуральных чисел а и b.
Слайд 37
Алгоритм Евклида:
будем уменьшать каждый раз большее из
чисел на величину меньшего до тех пор, пока оба
числа не станут равными.
Например:
Исходные 1 шаг 2 шаг 3 шаг
а= 25
b=15
1015
105
5 5
НОД(а,b)=5
Слайд 38
Program E5;
var а, b: integer;
begin
write (‘НОД=‘,а);
readln;
end.
write (‘Введите два натуральных числа
через пробел’);
readln (a,b);
while a<>b do
if a>b then a:=a-b
else b:=b-a;
Слайд 39
Оператор цикла до
repeat оператор until условие
Между словами
repeat и until может быть любое количество операторов без
использования операторных скобок.
Задача.
Вычислить наибольший общий делитель двух натуральных чисел а и b.
Слайд 40
Program E6;
var а, b: integer;
begin
write (‘НОD=‘,а);
readln;
end.
repeat
until a=b;
if a>b then a:=a-b;
if
b>a then b:=b-a
write (‘Введите два натуральных числа через пробел’);
readln (a,b);
Слайд 41
Операторы циклов пересчёт
for i:=n1 to n2 do оператор;
«Для
i начиная с n1 до n2 выполнить оператор»
i –
переменная цикла;
Если i+1<= n1, то оператор выполняется, если нет, то происходит выход из цикла и выполнение следующего по порядку оператора.
Оператор может быть простым и составным
begin……… end – операторные скобки
Слайд 42
Задача.
Вычислите P = n! (n факториал).
По определению n!
= 1*2*3*4*5…..n.
2
2
3
6
4
24
1
1
i
P
5
120
5! = 120