Программирование на языке Паскаль

Содержание

Слайд 2

Программирование на языке Паскаль Тема 1. Введение © К.Ю. Поляков, 2006-2009

Программирование на языке Паскаль

Тема 1. Введение

© К.Ю. Поляков, 2006-2009

Слайд 3

Алгоритм Свойства алгоритма дискретность: состоит из отдельных шагов (команд) понятность: должен

Алгоритм

Свойства алгоритма
дискретность: состоит из отдельных шагов (команд)
понятность: должен включать только команды,

известные исполнителю (входящие в СКИ)
определенность: при одинаковых исходных данных всегда выдает один и тот же результат
конечность: заканчивается за конечное число шагов
массовость: может применяться многократно при различных исходных данных
корректность: дает верное решение при любых допустимых исходных данных

Алгоритм – это четко определенный план действий для исполнителя.

Слайд 4

Программа Программа – это алгоритм, записанный на каком-либо языке программирования набор

Программа

Программа – это
алгоритм, записанный на каком-либо языке программирования
набор команд для

компьютера

Команда – это описание действий, которые должен выполнить компьютер.
откуда взять исходные данные?
что нужно с ними сделать?

1970 – язык Паскаль (Н. Вирт)

Оператор – это команда языка программирования высокого уровня.

Слайд 5

Простейшая программа program qq; begin { начало программы } end. {

Простейшая программа

program qq;
begin { начало программы }
end. { конец программы }

комментарии

в фигурных скобках не обрабатываются

название программы

Слайд 6

Переменные Задача. Ввести с клавиатуры два числа и найти их сумму.

Переменные

Задача. Ввести с клавиатуры два числа и найти их сумму.

Протокол:
Введите

два целых числа
25 30
25+30=55

компьютер

пользователь

компьютер считает сам!

Слайд 7

Программа program qq; begin { ввести два числа } { вычислить

Программа

program qq;
begin
{ ввести два числа }
{ вычислить их сумму

}
{ вывести сумму на экран }
end.

Псевдокод: алгоритм на русском языке с элементами Паскаля.

Слайд 8

Программа program qq; var a, b, c: integer; begin read (

Программа

program qq;
var a, b, c: integer;
begin
read ( a, b );

c := a + b;
writeln ( c );
end.

Раздел описания переменных

Тело программы

{ ввести два числа }
{ вычислить их сумму }
{ вывести сумму на экран }

Слайд 9

Программа на Паскале состоит из двух частей (разделов): описания используемых данных

Программа на Паскале состоит из двух частей (разделов): описания используемых данных

и операторов по их преобразованию. Вторая часть (раздел) также называется программным блоком (или телом программы).
Слайд 10

Переменные Переменная – это величина, имеющая имя, тип и значение. Значение

Переменные

Переменная – это величина, имеющая имя, тип и значение. Значение переменной

можно изменять во время работы программы.

a

Значение

Имя

Другой тип данных

Слайд 11

Имена переменных В именах МОЖНО использовать латинские буквы (A-Z) цифры знак

Имена переменных

В именах МОЖНО использовать
латинские буквы (A-Z)
цифры
знак подчеркивания _

заглавные и строчные

буквы не различаются

В именах НЕЛЬЗЯ использовать
русские буквы
пробелы
скобки, знаки +, =, !, ? и др.

имя не может начинаться с цифры

Какие имена правильные??
AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B

Слайд 12

Переменные Типы переменных: integer { целая } real { вещественная }

Переменные

Типы переменных:
integer { целая }
real { вещественная }
и другие…

Объявление переменных:

var a, b, c:

integer;

Выделение места в памяти

variable – переменная

тип – целые

список имен переменных

program qq;
var a, b, c: integer;
begin
read ( a, b );
c := a + b;
writeln ( c );
end.

Слайд 13

Как записать значение в переменную? a := 5; Оператор присваивания 5

Как записать значение в переменную?

a := 5;

Оператор присваивания

5

Оператор – это команда

языка программирования (инструкция).
Оператор присваивания – это команда для записи нового значения в переменную.
Слайд 14

Переменная := Выражение; A:=3*4.8; Su:=X+X*4.78; C:=C+1; Между всеми элементами выражения должны


Переменная := Выражение;

A:=3*4.8;
Su:=X+X*4.78;
C:=C+1;

Между всеми элементами выражения должны быть знаки операций.

⇨ 3*х
Аргументы функций должны быть заключены в ():
sinx ⇨ sin(x)
Сложные арифметические выражения записываются в строчку.
Слайд 15

Арифметические выражения

Арифметические выражения

Слайд 16

Задание Запишите арифметические выражения по правилам языка Паскаль ; ; ; ;

Задание Запишите арифметические выражения по правилам языка Паскаль

; ; ;
;

Слайд 17

Блок-схема линейного алгоритма начало конец c := a + b; ввод

Блок-схема линейного алгоритма

начало

конец

c := a + b;

ввод a, b

вывод c

блок «начало»

блок

«ввод»

блок «процесс»

блок «вывод»

блок «конец»

program qq;
var a, b, c: integer;
begin
read ( a, b );
c := a + b;
writeln ( c );
end.

Слайд 18

Как ввести значение с клавиатуры read ( a ); Оператор ввода

Как ввести значение с клавиатуры

read ( a );

Оператор ввода

5

program qq;
var a,

b, c: integer;
begin
read ( a, b );
c := a + b;
writeln ( c );
end.
Слайд 19

Оператор ввода Read (Список переменных); - читать данные с клавиатуры. Readln

Оператор ввода

Read (Список переменных);
- читать данные с клавиатуры.
Readln (Список переменных);

При выполнении

команды Read или Readln выполнение программы останавливается и компьютер ждет, пока пользователь не введет с клавиатуры нужное количество значений для переменных.
Вводятся только значения для переменных.
Ввод заканчивается нажатием клавиши ENTER.
Readln отличается от Read тем, что после его выполнения автоматически осуществляется переход на следующую строку.

Примеры:
Read (I, j);
Readln (k);

Слайд 20

Ввод значений двух переменных через пробел: 25 30 через Enter: 25

Ввод значений двух переменных

через пробел:
25 30
через Enter:
25
30

read ( a, b

);

Ввод значений двух переменных (через пробел или Enter).

Слайд 21

Оператор вывода { вывод значения переменной a} { вывод значения переменной

Оператор вывода

{ вывод значения переменной a}

{ вывод значения переменной a и

переход на новую строчку}

{ вывод текста }

{вывод текста и значения переменной c}

write( a );

writeln( a );

writeln( 'Привет!' );

writeln( 'Ответ: ', c );

writeln ( a, '+', b, '=', c );

Слайд 22

Оператор вывода Write (Список выражений); Writeln (Список выражений); Значения выражений сначала

Оператор вывода

Write (Список выражений);
Writeln (Список выражений);

Значения выражений сначала вычисляются, затем выводятся

на экран. После выполнения команды Writeln следующая команда ввода или вывода начинает свою работу с новой строки.

Примеры:
Пусть
i=1, j=2, k=3
l=4, m=5, n=6

После выполнения команд:
Write (i, j);
Writeln (k);
Write (l, m, n)

На экране получим:
123
456

Слайд 23

Вывод текста на экран program qq; begin write('2+'); { без перехода

Вывод текста на экран

program qq;
begin
write('2+'); { без перехода }
writeln('2=?’);

{ на новую строку}
writeln('Ответ: 4');
end.

Протокол:
2+2=?
Ответ: 4

Слайд 24

Сложение двух чисел Задача. Ввести два целых числа и вывести на

Сложение двух чисел

Задача. Ввести два целых числа и вывести на экран

их сумму.

Простейшее решение:

program qq;
Uses crt;
var a, b, c: integer;
begin
read ( a, b );
c := a + b;
writeln ( c );
end.

Слайд 25

Полное решение program qq; var a, b, c: integer; begin writeln('Введите

Полное решение

program qq;
var a, b, c: integer;
begin
writeln('Введите два целых числа');

read ( a, b );
c := a + b;
writeln ( a, '+', b, '=', c );
end.

Протокол:
Введите два целых числа
25 30
25+30=55

компьютер

пользователь

Слайд 26

Команда вывода Формат вывода Для того, чтобы числа не «слипались при

Команда вывода

Формат вывода
Для того, чтобы числа не «слипались при выводе на

экран, можно указать компьютеру сколько позиций необходимо выделить для данной переменной. Это делается так:
Writeln (x:8,y:5)
Слайд 27

Вывод текста со смещением program qq; begin write(‘k’); { без перехода

Вывод текста со смещением

program qq;
begin
write(‘k’); { без перехода }
writeln(‘a’:5);


writeln(‘ток’:10);
end.

{вывод текста со смещением
вправо на 5 позиций
и переход на новую строчку}

Протокол:
к а
ток

Слайд 28

Задание Определите, что будет выведено на экран после выполнения следующих команд:

Задание

Определите, что будет выведено на экран после выполнения следующих команд:
a:=4;
write(a);
writeln(‘a’);
2. Что

будет выведено на экран после выполнения команд? Переменная а имеет значение, равное 5, а переменная b – значение 2.
Writeln(‘Сумма а и b= ’,a+b);
3. Определите, что будет выведено на экран после выполнения aфрагмента программы:
a:=12;
B:=7;
Writeln(‘Разность ’,a,’ и ’,b,’ равна ’, a-b);
4. Указать ошибку, допущенную в использовании команды:
Read(x+y,i);
5. Написать программу для вывода на экран трех строк: «Я учусь программировать», «программировать – очень интересно», «я стану программистом».
6. Дано трехзначное число N. Составить программу, которая выводит числа N, N+1,N+2 лесенкой. Например:
150
151
152
Слайд 29

Задания «4»: Вывести на экран текст "лесенкой" Вася пошел гулять «5»:

Задания

«4»: Вывести на экран текст "лесенкой"
Вася
пошел
гулять
«5»: Вывести на

экран рисунок из букв
Ж
ЖЖЖ
ЖЖЖЖЖ
ЖЖЖЖЖЖЖ
HH HH
ZZZZZ
Слайд 30

Как изменить значение переменной? program qq; var a, b: integer; begin

Как изменить значение переменной?

program qq;
var a, b: integer;
begin
a := 5;

b := a + 2;
a := (a + 2)*(b – 3);
b := b + 1;
end.

a

?

5

5

b

?

5+2

7

a

5

7*4

28

Пример:

b

7

7+1

8

Слайд 31

Арифметические операции + сложение – вычитание * умножение / деление div

Арифметические операции

+ сложение – вычитание
* умножение / деление
div деление нацело (остаток

отбрасывается)
mod остаток от деления

var a, b: integer;
begin
a := 7*3 - 4; { 17 }
a := a * 5; { 85 }
b := a div 10; { 8 }
a := a mod 10; { 5 }
end.

Слайд 32

program qq; var a, b: integer; x, y: real; begin a

program qq;
var a, b: integer;
x, y: real;
begin
a :=

5;
10 := x;
y := 7,8;
b := 2.5;
x := 2*(a + y);
a := b + x;
end.

Какие операторы неправильные?

имя переменной должно быть слева от знака :=

целая и дробная часть отделяются точкой

нельзя записывать вещественное значение в целую переменную

Слайд 33

Порядок выполнения операций вычисление выражений в скобках умножение, деление, div, mod

Порядок выполнения операций

вычисление выражений в скобках
умножение, деление, div, mod слева направо
сложение

и вычитание слева направо

z := (5*a+c)/a*(b-c)/ b;

x:=(5*c*c-d*(a+b))/((c+d)*(d-2*a));

1 2 4 5 3 6

2 3 5 4 1 10 6 9 8 7

Слайд 34

Ручная прокрутка программы program qq; var a, b: integer; begin a

Ручная прокрутка программы

program qq;
var a, b: integer;
begin
a := 5;
b

:= a + 2;
a := (a + 2)*(b – 3);
b := a div 5;
a := a mod b;
a := a + 1;
b := (a + 14) mod 7;
end.
Слайд 35

Вывод целых чисел program qq; var a, b: integer; begin a

Вывод целых чисел

program qq;
var a, b: integer;
begin
a := 15;
b

:= 45;
writeln ( a, b );
writeln ( a:4, b:4 );
end.

15 45

1545

Слайд 36

Вывод вещественных чисел program qq; var x: real; begin x :=

Вывод вещественных чисел

program qq;
var x: real;
begin
x := 12.345678;
writeln (

x );
writeln ( x:10 );
writeln ( x:7:2 );
end.

12.35

всего символов

всего символов

в дробной части

1.23E+001

1.234568E+001

1,234568∙101

Слайд 37

Задания «4»: Ввести три числа, найти их сумму и произведение. Пример:

Задания

«4»: Ввести три числа, найти их сумму и произведение.
Пример:
Введите

три числа:
4 5 7
4+5+7=16
4*5*7=140
«5»: Ввести три числа, найти их сумму, произведение и среднее арифметическое.
Пример:
Введите три числа:
4 5 7
4+5+7=16
4*5*7=140
(4+5+7)/3=5.33
Слайд 38

Задачи: Составить программу нахождения периметра прямоугольника, если А=5, В=7. Составить программу

Задачи:

Составить программу нахождения периметра прямоугольника, если А=5, В=7.
Составить программу нахождения длины

окружности и площади круга радиусом 5,4см.
Составить программу нахождения значения выражения:
при a=10, b=5
Слайд 39

Задачи: Составить программу нахождения длины гипотенузы прямоугольного треугольника (с), если известны

Задачи:

Составить программу нахождения длины гипотенузы прямоугольного треугольника (с), если известны длины

его катетов(а,в).
Составить программу нахождения среднего арифметического любых трех чисел а,в,с.
Д/З
Дано ребро куба. Составить программу нахождения площади грани, площади полной поверхности и объем куба.