Язык программирования Паскаль (Pascal)
комплекс опорных конспектов и практических занятий
г. Новокузнецк,
МБНОУ «Гимназия № 59»
Дымович Е.Е.
Содержание
- Структура программы ( опорный конспект: типы данных, процедуры ввода-вывода )
- Процедуры ввода-вывода ( пример учебной программы )
- Ветвление ( опорный конспект )
- Циклы с условием ( опорный конспект )
- Циклы с пред- и постусловием ( пример учебной программы )
ESC
Опорный конспект
Типы данных
Структура программы
Program имя_программы ;
Целый: Integer
Uses Crt ;
Вещественный: Real
Const … ; {раздел констант}
Var … ; {раздел переменных}
Объявление переменных
Begin
Var x, y : Integer ;
Clrscr;
k, z : Real ;
... {Операторы –
команды основной программы}
Readkey;
End .
Оператор присваивания
имя_переменной := ;
Пример: p:=2*(a+b);
Процедура ввода (с подсказкой)
Write(‘Zadaite a: ’);
Readln(a);
/ вывода
Writeln(‘Perimetr= ’, p);
Работа с экраном
ClrScr – очистка текущего окна GotoXY (20, 4)– перемещение курсора в позицию: 20 ый столбец [1 80] и 4 ая строка [1 25] экрана.
СОДЕРЖАНИЕ
Язык программирования Паскаль (Pascal)
Пример учебной программы
«Процедуры ввода-вывода. Работа с экраном»
Составить программу вычисления среднего значения. Цифры для текста подсказок задать const, значения заданий задать с клавиатуры. Вывод оформить в виде:
Лабораторная работа № 1
Ученика(цы) 9 класса …
Ф амилия
И мя
Задание 1 (баллов): _
Задание 2 (баллов): _
Задание 3 (баллов): _
Средний балл: …
Конспект
Математическое описание
{Описание входных переменных} r – номер работы (const)
kl – номер класса (const)
b1 – балл 1 задания
b2 – балл 2 задания
b3 – балл 3 задания
{Формулы} sr = (b1+b2+b3) / 3
{Описание выходных переменных} sr – среднее арифметическое баллов
Пример программы ( без оформления )
Program Lr1; Uses Crt;
Const r = 1; kl = 9; Var b1, b2, b3: Integer;
sr: Real;
Begin
Clrscr;
Writeln (‘Лабораторная работа № ’, r);
Writeln (‘Ученика ’, kl, ‘ класса …’);
Writeln (‘Фамилия’);
Writeln (‘Имя’);
Write (‘Задание 1 (баллов): ’); Readln(b1);
Write (‘Задание 2 (баллов): ’); Readln(b2);
Write (‘Задание 3 (баллов): ’); Readln(b3);
sr := (b1+b2+b3) / 3;
Writeln (‘Средний балл: ’, sr:0:2);
Readkey;
End.
Переписать текст программы в тетрадь
Пример программы ( с оформлением )
Program Lr1; Uses Crt;
Const r = 1; kl = 9; Var b1, b2, b3: Integer;
sr: Real;
Begin
Clrscr;
GotoXY(30,2); Writeln (‘Лабораторная работа № ’, r);
GotoXY(30,4); Writeln (‘Ученика ’, kl, ‘ класса …’);
GotoXY(35,6); Writeln (‘Фамилия’);
GotoXY(45,8); Writeln (‘Имя’);
GotoXY(15, 11); Write (‘Задание 1 (баллов): ’); Readln(b1);
GotoXY(15, 13); Write (‘Задание 2 (баллов): ’); Readln(b2);
GotoXY(15, 15); Write (‘Задание 3 (баллов): ’); Readln(b3);
sr := (b1+b2+b3) / 3;
GotoXY(20, 22); Writeln (‘Средний балл: ’, sr:0:2);
Readkey;
End.
Набрать программу в среде Pascal
Задача : Напишите программу, запрашивающую высоту дома h (в метрах), и вычисляющую время падения кирпича t (в секундах) с крыши этого дома по формуле: g=9,81 задать const
Блок-схема
Программа
блок "начало"
начало
program Lr2;
uses Crt ;
const g=9.81 ;
var …………… : real;
Begin
clrscr;
Write(‘ Zadaite visoty doma ’);
Readln (……);
t := ……………………………… ;
Writeln ( 'Kirpich padaet ', …., ' c' );
readkey;
End.
блок "ввод"
{что Дано}
ввод g , h
h , t
t := sqrt((2*h)/g)
блок "процесс"
{вычисления}
h
Sqrt(2 * h/g)
вывод t
t
блок "вывод“ {результат}
конец
Вместо многоточия впишите необходимые имена переменных и формулу вычисления
блок "конец"
Блок-схему и текст программы переписать в тетрадь
СОДЕРЖАНИЕ
Язык программирования Паскаль (Pascal)
Опорный конспект
«Ветвление»
Ветвление
Ветвление – процесс, который реализуется по одному из двух направлений, в зависимости от выполнения определенного условия .
Различают два вида оператора:
- полный условный оператор; неполный условный оператор.
- полный условный оператор;
- неполный условный оператор.
0 then s:=a*2 else s:=a*5; Writeln (y); (если) (тогда) (иначе) end Else begin операторы ; end ; операторы ; " width="640"
Ветвление
Конспект
Формат неполного условного перехода:
Представление в виде блок–схемы:
да
нет
условие
условие
оператор1
оператор2
Формат оператора:
линейная форма
IF условие Then оператор1 Else оператор2 ;
блочная форма
IF условие Then
Пример записи:
begin
Если заданное число положительно, то удвоить его, иначе увеличить в пять раз.
y:=sqr(a);
If a0 then s:=a*2 else s:=a*5;
Writeln (y);
(если) (тогда) (иначе)
end
Else begin
операторы ;
end ;
операторы ;
Конспект
Ветвление
Формат полного условного оператора:
Представление в виде блок–схемы:
да
нет
условие
оператор
Формат оператора:
IF условие Then оператор ;
{ выполняется только истинность условия }
– больше; – неравно (возможен вариант = – меньше; – больше или равно; – меньше или равно. Помимо простых условий можно в программе использовать и составные ( сложные ) условия. Д ля их записи используются связки: AND – и; OR – или; NOT – нет. Пример: условие –6 – 6 и x ≤ 2; на языке Pascal : IF ( –6 ) and ( x ) Then … в математике : x или x 2; на языке Pascal : IF ( x ) or ( x 2 ) Then … " width="640"
Ветвление
Конспект
Для записи условий используются следующие знаки отношений:
=
– равно;
– больше;
– неравно (возможен вариант
=
– меньше;
– больше или равно;
– меньше или равно.
Помимо простых условий можно в программе использовать и составные
( сложные ) условия.
Д ля их записи используются связки:
AND – и; OR – или; NOT – нет.
Пример:
условие –6
– 6 и x ≤ 2;
на языке Pascal : IF ( –6 ) and ( x ) Then …
в математике : x или x 2;
на языке Pascal : IF ( x ) or ( x 2 ) Then …
Выбор
Для ситуаций, где имеется несколько ( три и более ) альтернатив
Формат оператора выбора :
Case переменная of
Значение 1: оператор1 ;
Значение 2: оператор2 ;
…
Else оператор4 ;
end ;
Пример записи:
Задать число (от 1 до 4-х). По порядковому номеру числа, определить , какое время года. (1-зима; 2-весна; 3-лето; 4-осень).
Case x of
1: writeln (‘Зима’) ;
2: writeln (‘Весна’) ;
3: writeln (‘Лето’) ;
4: writeln (‘Осень’) ;
end;
СОДЕРЖАНИЕ
Язык программирования Паскаль (Pascal)
Опорный конспект
«Циклы с условием»
Конспект
Цикл с предусловием
while условие do begin
{тело цикла}
end;
- можно использовать сложные условия: если в теле цикла только один оператор, слова begin и end можно не писать:
- можно использовать сложные условия:
- если в теле цикла только один оператор, слова begin и end можно не писать:
while (a and (b do begin
{тело цикла}
end;
while a do a:= a + 1 ;
Конспект
Цикл с предусловием
Блок-схема
начало
Ввод неизменяющихся переменных
(при наличии в исходных данных)
параметр = нач_знач
Сравнение параметра с конечным
значением
нет
условие
вычисления
да
Тело цикла
вывод
изменение параметра
конец
b do a:= a – b; a:= 4; b:= 6; while a " width="640"
Цикл с предусловием
Особенности :
- условие пересчитывается каждый раз при входе в цикл если условие на входе в цикл ложно, цикл не выполняется ни разу если условие никогда не станет ложным, программа зацикливается
- условие пересчитывается каждый раз при входе в цикл
- если условие на входе в цикл ложно, цикл не выполняется ни разу
- если условие никогда не станет ложным, программа зацикливается
a:= 4; b:= 6;
while a b do a:= a – b;
a:= 4; b:= 6;
while a
b do a:= a + 1; 0 раз a = 4 a:= 4; b:= 6; while a 1 раз b = -2 a:= 4; b:= 6; while a зацикливание " width="640"
Сколько раз выполняется цикл, определите значение а или b ?
2 раза
a = 6
a:= 4; b:= 6;
while a
1 раз
a = 10
a:= 4; b:= 6;
while a
a:= 4; b:= 6;
while a b do a:= a + 1;
0 раз
a = 4
a:= 4; b:= 6;
while a
1 раз
b = -2
a:= 4; b:= 6;
while a
зацикливание
= b do begin {тело цикла} i:= i - 1; end; for i:=a downto b do begin {тело цикла} end; Замена цикла for на while возможна всегда . Замена while на for возможна только тогда, когда можно заранее рассчитать число шагов цикла . " width="640"
Замена for на while
i:= 1;
while i
{тело цикла}
i:= i + 1;
end;
for i:=1 to 10 do
begin
{тело цикла}
end;
i:= a;
while i = b do begin
{тело цикла}
i:= i - 1;
end;
for i:=a downto b do
begin
{тело цикла}
end;
Замена цикла for на while возможна всегда .
Замена while на for возможна только тогда, когда можно заранее рассчитать число шагов цикла .
0; условие ВЫХОДА " width="640"
Конспект
Цикл с постусловием
Цикл с постусловием – это цикл, в котором проверка условия выполняется в конце цикла.
repeat
{тело цикла}
until условие ;
Особенности :
- тело цикла всегда выполняется хотя бы один раз после слова until ("до тех пор, пока не…") ставится условие ВЫХОДА из цикла
- тело цикла всегда выполняется хотя бы один раз
- после слова until ("до тех пор, пока не…") ставится условие ВЫХОДА из цикла
repeat
writeln('Введите положительное число');
read(n);
until n 0;
условие ВЫХОДА
Конспект
Цикл с постусловием
Блок-схема
начало
Ввод неизменяющихся переменных
(при наличии в исходных данных)
параметр = нач_знач
вычисления
Тело цикла
вывод
Сравнение параметра с конечным значением
нет
изменение параметра
условие
да
конец
b; 1 раз a = 10 a:= 4; b:= 6; repeat a:= a + b; until a b; a:= 4; b:= 6; repeat a:= a + b; until a зацикливание a:= 4; b:= 6; repeat b:= a - b; until a 2 раза b = 6 a:= 4; b:= 6; repeat a:= a + 2; until a зацикливание СОДЕРЖАНИЕ " width="640"
Сколько раз выполняется цикл, определите значение а или b ?
3 раза
a = 7
a:= 4; b:= 6;
repeat a:= a + 1; until a b;
1 раз
a = 10
a:= 4; b:= 6;
repeat a:= a + b; until a b;
a:= 4; b:= 6;
repeat a:= a + b; until a
зацикливание
a:= 4; b:= 6;
repeat b:= a - b; until a
2 раза
b = 6
a:= 4; b:= 6;
repeat a:= a + 2; until a
зацикливание
СОДЕРЖАНИЕ
Язык программирования Паскаль (Pascal)
Пример учебной программы
«Циклы с пред- и постусловием»
Вычислить значение : , если х изменяется от 5 до 15 с шагом 0,5. Цикл с предусловием
Блок-схема
Программа
начало
program Lr9;
uses Crt ;
var x, y: real;
Begin
clrscr;
x:= 5 ;
While x
begin
y = sqrt(x);
Writeln ( ‘Pri x= ‘, x:0:1, ‘ y= ‘, y:0:3 );
x:= x + 0.5 ;
end ;
readkey;
End.
x := 5
нет
x 15
конец
да
выв x, y
x := x + 0,5
15; readkey; End. x := 5 выв x, y x := x + 0,5 нет x 15 да конец СОДЕРЖАНИЕ " width="640"
Вычислить значение : , если х изменяется от 5 до 15 с шагом 0,5. Цикл с постусловием
Блок-схема
начало
Программа
program Lr10;
uses Crt ;
var x, y: real;
Begin
clrscr;
x:= 5 ;
Repeat
y = sqrt(x);
Writeln ( ‘Pri x= ‘, x:0:1, ‘ y= ‘, y:0:3 );
x:= x + 0.5 ;
Until x15;
readkey;
End.
x := 5
выв x, y
x := x + 0,5
нет
x 15
да
конец
СОДЕРЖАНИЕ