Слайд 2
![Все эти записи эквивалентны! b:=5; a:=sin(b); или b:=5; a:=sin(b); или b :=5; a:=sin( b );](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-1.jpg)
Все эти записи эквивалентны!
b:=5;
a:=sin(b);
или
b:=5; a:=sin(b);
или
b
:=5; a:=sin(
b );
Слайд 3
![Простейшие примеры программ program Hello; begin writeln('Hello, world!'); readln; end.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-2.jpg)
Простейшие примеры программ
program Hello;
begin
writeln('Hello, world!');
readln;
end.
Действия, из которых состоит
программа, называются операторами, они отделяются друг от друга точкой с запятой. Этот знак служит в Паскале для разделения последовательных инструкций.
Слайд 4
![program AxB; var a,b: integer; begin writeln('Введите a и b');](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-3.jpg)
program AxB;
var a,b: integer;
begin
writeln('Введите a и b');
readln(a,b);
writeln('Произведение равно
', a*b);
readln;
end.
Слайд 5
![Структура программы в общем виде Блок объявлений: program ... (название](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-4.jpg)
Структура программы в общем виде
Блок объявлений:
program ... (название программы)
uses ... (используемые
программой внешние модули)
const ... (объявления констант)
type ... (объявления типов)
var ... (объявления переменных)
Блок описания процедур и функций:
procedure (function)
begin
...
end;
Блок основной программы:
begin
... (операторы основной программы) ...
end.
Слайд 6
![Заголовок программы Под заголовком программы понимается имя, помогающее определить её](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-5.jpg)
Заголовок программы
Под заголовком программы понимается имя, помогающее определить её назначение.
Имя, или идентификатор, строится по следующим правилам:
- Имя может начинаться с большой или малой буквы латинского алфавита или знака «_»
- далее могут следовать буквы, цифры или знак «_»
- внутри идентификатора не может стоять пробел
- После имени программы следует поставить «;»
- Имя программы может не совпадать с именем соответствующего файла на диске.
Слайд 7
![блок const ... объявления констант После слова const помещаются описания](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-6.jpg)
блок const ... объявления констант
После слова const помещаются описания постоянных,
которые будут использованы в программе, например:
const Zero = 0;
pi = 3.1415926;
my_const = -1.5;
Hello = 'Привет !';
Слайд 8
![Блок var ... (объявления переменных) За словом var следуют объявления](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-7.jpg)
Блок var ... (объявления переменных)
За словом var следуют объявления переменных,
которые понадобятся нам при написании программы. Переменные Паскаля могут хранить данные различной природы: числа, строки текста, отдельные символы и т. п.
Слайд 9
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-8.jpg)
Слайд 10
![форма записи объявления переменных: var : ; Примеры объявления: var](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-9.jpg)
форма записи объявления переменных:
var <переменная> : <тип>;
Примеры объявления:
var Number: integer;
d,l: real;
Name: string[20];
Line: string;
Key1,Key2: char;
Слайд 11
![Блок основной программы. простейшие типы операторов: program First; const a2](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-10.jpg)
Блок основной программы.
простейшие типы операторов:
program First;
const a2 = 3;
a1
= -2;
a0 = 5;
var x,f: real;
begin
write(‘Введите значение х ’);
readln(x);
f := a2*x*x+a1*x+a0;
writeln(‘Значение квадратного уравнения: ’,f);
еnd.
Использование выражения:
writeln('Значение квадр. уравнения: ', a2*x*x+a1*x+a0);
Слайд 12
![В арифметических выражениях на Паскале используются следующие знаки для обозначения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-11.jpg)
В арифметических выражениях на Паскале используются следующие знаки для обозначения операций:
+, -, *, /.
Для определения порядка действий используются круглые скобки согласно общепризнанным математическим правилам.
Замечание об именах. Для обозначения переменных запрещается использование ряда слов, называемых зарезервированными: program, begin, end, string, const, var, и т.п.
Слайд 13
![Язык программирования Паскаль. Процедуры ввода-вывода. Некоторые встроенные функции](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-12.jpg)
Язык программирования Паскаль.
Процедуры ввода-вывода. Некоторые встроенные функции
Слайд 14
![Процедуры ввода-вывода. write(p1,p2,... pn); – выводит на экран значения выражений](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-13.jpg)
Процедуры ввода-вывода.
write(p1,p2,... pn); – выводит на экран значения выражений p1,p2,...
pn, количество которых (n) неограничено.
Форматный вывод:
Для вещественных типов: write(p1+p2:10:5); – вывести значение выражения p1+p2 с выделением для этого 10 позиций, из них 5 – после запятой.
Для других типов: write(p:10); – вывести значение выражения p, выделив под это 10 позиций.
Слайд 15
![Формат вывода числа Число (n) Тип Формат вывода Результат вывода](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-14.jpg)
Формат вывода числа
Число (n) Тип Формат вывода Результат вывода
16
integer write(n) 16
16 integer write(n:2) 16
16 integer write(n:5) 16
16.32 real write(n) 1.6320000000E+01
16.32 real write(n:12) 1.63200E+01
16.32 real write(n:5:2) 16.32
16.32 real write(n:10:4) 16.3200
Если число длиннее, чем отведённое под него пространство,
количество позиций будет автоматически увеличено. Если же
выводимое число короче заданного формата, то спереди к нему
припишутся несколько пробелов.
Слайд 16
![Процедуры ввода-вывода. writeln(p1,p2,... pn); – аналогично write, выводит значения p1,p2,...](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-15.jpg)
Процедуры ввода-вывода.
writeln(p1,p2,... pn); – аналогично write, выводит значения p1,p2,... pn,
после чего переводит курсор на новую строку.
writeln; (без параметров), что означает лишь перевод курсора на начало новой строки.
readln(v1,v2,...vn); – ввод с клавиатуры значений переменных v1,...vn. При вводе следует разделять значения пробелами, символами табуляции или перевода строки (т.е., нажимая Enter).
read(v1,v2,...vn); – по назначению сходно с readln; отличие состоит в том, что символ перевода строки (Enter), нажатый при завершении ввода, не «проглатывается», а ждет следующего оператора ввода.
Слайд 17
![Процедуры ввода-вывода. Пример. Программа просит пользователя ввести с клавиатуры два](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-16.jpg)
Процедуры ввода-вывода.
Пример. Программа просит пользователя ввести с клавиатуры два целых
числа и печатает на экране их сумму:
program PrintSum;
var a,b: integer;
begin
write('Введите два числа:');
readln(a,b);
writeln('Сумма a и b равна ',a+b);
readln;
end.
Слайд 18
![Пример форматированного вывода данных на экран](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-17.jpg)
Пример форматированного вывода данных на экран
Слайд 19
![Примеры вывода параметров на экран](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-18.jpg)
Примеры вывода параметров на экран
Слайд 20
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-19.jpg)
Слайд 21
![Пример введения параметра и вывода его на экран](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-20.jpg)
Пример введения параметра и вывода его на экран
Слайд 22
![Пример введения множества параметров](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-21.jpg)
Пример введения множества параметров
Слайд 23
![Функции числовых параметров.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-22.jpg)
Функции числовых параметров.
Слайд 24
![… Write(frac(3.14159):8:3); {0.142} Write(int(3.14159):8:3); {3.000} Write(round(3.14159):8); {3} Write(round(3.74159):8); {4} Write(trunc(3.74159):8); {3} Примеры](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-23.jpg)
…
Write(frac(3.14159):8:3); {0.142}
Write(int(3.14159):8:3); {3.000}
Write(round(3.14159):8); {3}
Write(round(3.74159):8); {4}
Write(trunc(3.74159):8); {3}
Примеры
Слайд 25
![Язык программирования Паскаль. Операторы условного выполнения.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-24.jpg)
Язык программирования Паскаль.
Операторы условного выполнения.
Слайд 26
![1. Оператор if. if then else ; перед else не](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-25.jpg)
1. Оператор if.
if <условие> then <оператор1> else <оператор2>; перед else
не ставится точка с запятой! Часть else может и отсутствовать.
Пример 1: пусть требуется найти число m=max(a,b). if a>b then m:=a else m:=b;
Пример 2: (без else) пусть дано целое число i. Требуется оставить его без изменения, если оно делится на 2, и вычесть из него 1, если это не так. if i mod 2 = 1 then i:=i-1; {else - ничего не делать}
(mod) - операция нахождения остатка от деления (div) - операция нахождения неполного частного
Слайд 27
![Пример 3:(с использованием составного оператора). Пусть даны две переменные типа](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-26.jpg)
Пример 3:(с использованием составного оператора). Пусть даны две переменные типа real.
Требуется поменять местами значения этих переменных, если a1>a2.
var a1,a2,buf :real;
.........
if a1>a2 then begin
buf:=a1;
a1:=a2;
a2:=buf;
end;
Слайд 28
![Добавить примеры по if (x>0) and (y>0) then if (x>0)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-27.jpg)
Добавить примеры по if (x>0) and (y>0) then
if (x>0) or
(y>0) then
Посмотреть что еще есть
Слайд 29
![Использование вложенного оператора if. Пример 4: Поиск корней квадратного уравнения.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-28.jpg)
Использование вложенного оператора if.
Пример 4: Поиск корней квадратного уравнения.
program SqEquation;
var
a,b,c,d: real;
begin
write('Введите коэффициенты a,b,c квадр. уравнения : ');
readln(a,b,c);
d:=sqr(b)-4*a*c;
if d>=0 then
if d=0 then writeln(‘Один корень: x=',-b/(2*a):8:3)
else writeln('Два корня : x1=',(-b+sqrt(d))/(2*a):8:3,
', x2=',(-b-sqrt(d))/(2*a):8:3)
else {d<0} writeln('Корней нет');
readln;
end.
else всегда относится к последнему оператору if !
Слайд 30
![Составной оператор: Пример 5: пользователь вводит натуральное число, задача программы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-29.jpg)
Составной оператор:
Пример 5: пользователь вводит натуральное число, задача программы
— поставить слово «ученик» в нужную форму в сочетании с числительным (например: 1 ученик, 2…5 ученика, 6…20 учеников)
begin
write('Число учеников (1..20) --> ');
readln(n);
write(n,' ученик');
if n<5 then begin
if n>1 then writeln('а');
end
else
writeln('ов');
readln;
end.
В этом примере пришлось использовать составной оператор (begin ... end;) для того чтобы часть else относилась не к оператору if n>1, а к if n<5.
Слайд 31
![2. Оператор выбора (case) Усложнённый оператор if. Позволяет программе выполняться](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-30.jpg)
2. Оператор выбора (case)
Усложнённый оператор if. Позволяет программе выполняться не
двумя способами, в зависимости от выполнения условия, а несколькими, в зависимости от значения некоторого выражения.
Case Выражение of Вариант1: Оператор1; Вариант2: Оператор2; ... ВариантN: ОператорN; [else ОператорN1;] выражение может отсутствовать end;
Слайд 32
![Выражение в простейших случаях может быть целочисленным или символьным. В](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-31.jpg)
Выражение в простейших случаях может быть целочисленным или символьным.
В качестве вариантов можно применять:
1. Константное выражение такого же типа, как и выражение после case. Константное выражение отличается от обычного тем, что не содержит переменных и вызовов функций, тем самым оно может быть вычислено на этапе компиляции программы, а не во время выполнения.
2. Интервал, например: 1..5, 'a'..'z'.
3. Список значений или интервалов, например: 1,3,5..8,10,12.
Слайд 33
![Выполняется оператор case следующим образом: Вычисляется выражение после слова case](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-32.jpg)
Выполняется оператор case следующим образом:
Вычисляется выражение после слова
case и по порядку проверяется, подходит полученное значение под какой-либо вариант, или нет. Если подходит, то выполняется соответствующий этому варианту оператор, иначе — есть два варианта.
Если в операторе case записана часть else, то выполняется оператор после else, если же этой части нет, то не происходит вообще ничего.
Слайд 34
![Пример. Пусть пользователь вводит целое число от 1 до 10,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/36159/slide-33.jpg)
Пример. Пусть пользователь вводит целое число от 1 до 10, программа
должна приписать к нему слово «ученик» с необходимым окончанием (нулевое, «а» или «ов»).
program SchoolChildren;
var n: integer;
begin
write('Число учеников --> '); readln(n);
write(n,' ученик');
case n of
2..4: write('а');
5..10: write('ов');
end;
readln;
end.