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

Содержание

Слайд 2

Языки программирования

Машинно-ориентированные (низкого уровня) - каждая команда соответствует одной команде процессора (ассемблер)
Языки

Языки программирования Машинно-ориентированные (низкого уровня) - каждая команда соответствует одной команде процессора
высокого уровня – приближены к естественному (английскому) языку, легче воспринимаются человеком, не зависят от конкретного компьютера
для обучения: Бейсик, ЛОГО, Паскаль
профессиональные: Си, Фортран, Паскаль
для задач искусственного интеллекта: Пролог, ЛИСП
для Интернета: JavaScript, Java, Perl, PHP, ASP

Слайд 3

В 1971 году Никлаус Вирт (Швейцария) разработал язык программирования для обучения студентов,

В 1971 году Никлаус Вирт (Швейцария) разработал язык программирования для обучения студентов,
который был назван в честь французского ученого Блеза Паскаля.

Система программирования TURBO PASCAL.

Паскаль – это универсальный язык программирования, позволяющий решать самые разнообразные задачи обработки информации.

Слайд 4

Из чего состоит программа?

program <имя программы>;
const …;{константы}
var …; {переменные}
begin
… {основная программа}
end.

{

Из чего состоит программа? program ; const …;{константы} var …; {переменные} begin
процедуры и функции }

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

Слайд 5

Из чего состоит программа?

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

Из чего состоит программа? Константа – постоянная величина, имеющая имя. Переменная –
имеющая имя (ячейка памяти).
Процедура – вспомогательный алгоритм, описывающий некоторые действия (рисование окружности).
Функция – вспомогательный алгоритм для выполнения вычислений (вычисление квадратного корня, sin).

Слайд 6

Имена программы, констант, переменных

Имена могут включать
латинские буквы (A-Z)
цифры
знак подчеркивания _

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

Имена программы, констант, переменных Имена могут включать латинские буквы (A-Z) цифры знак
буквы не различаются

Имена НЕ могут включать
русские буквы
пробелы
скобки, знаки +, =, !, ? и др.

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

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

Слайд 7

Константы

const
i2 = 45; { целое число }
pi = 3.14; {

Константы const i2 = 45; { целое число } pi = 3.14;
вещественное число }
qq = 'Вася'; { строка символов }
L = True; { логическая величина }

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

можно использовать русские буквы!

может принимать два значения:
True (истина, «да»)
False (ложь, «нет»)

Слайд 8

Переменные

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

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

Типы переменных:
integer { целая }
real { вещественная }
char { один символ }
string { символьная строка }
boolean { логическая }

Объявление переменных (выделение памяти):

var a, b: integer;
Q: real;
s1, s2: string;

Слайд 9

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

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

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

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

program qq;
var a, b: integer;
begin
a := 5;
b := a + 2;
a := (a + 2)*(b – 3);
end.

a

?

5

5

b

?

5+2

7

a

5

7*4

28

Пример:

Слайд 10

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

Арифметическое выражение может включать
константы
имена переменных
знаки арифметических операций:
+ - * /

Оператор присваивания Арифметическое выражение может включать константы имена переменных знаки арифметических операций:
div mod
вызовы функций
круглые скобки ( )

умножение

деление

деление нацело

остаток от деления

<имя переменной> := <выражение>;

Слайд 11

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

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

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

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

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

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

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

Слайд 12

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

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

Ручная прокрутка программы program qq; var a, b: integer; begin a :=
a + 2;
a := (a + 2)*(b – 3);
b := a div 5;
a := a mod b;
a := a + 1;
b := (a + 14) mod 7;
end.

Слайд 13

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

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

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

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

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

2 3 5 4 1 7 8 6 9

2 6 3 4 7 5 1 12 8 11 10 9

Слайд 14

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

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

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

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

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

Слайд 15

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

read ( a ); { ввод значения переменной a}

read ( a,

Оператор ввода read ( a ); { ввод значения переменной a} read
b ); { ввод значений переменных a и b}

Как вводить два числа?
через пробел:
25 30
через Enter:
25
30

Слайд 16

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

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

writeln ( a

Оператор вывода write ( a ); { вывод значения переменной a} writeln
); { вывод значения переменной a и переход на новую строчку}

writeln ( 'Привет!' ); { вывод текста}

writeln ( 'Ответ: ', c ); { вывод текста и значения переменной c}

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

Слайд 17

Форматы вывода

program qq;
var i: integer;
x: real;
begin
i := 15;
writeln (

Форматы вывода program qq; var i: integer; x: real; begin i :=
'>', i, '<' );
writeln ( '>', i:5, '<' );
x := 12.345678;
writeln ( '>', x, '<' );
writeln ( '>', x:10, '<' );
writeln ( '>', x:7:2, '<' );
end.

>15<
> 15<
>1.234568E+001<
> 1.23E+001<
> 12.35<

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

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

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

Слайд 18

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

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

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

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

компьютер

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

Слайд 19

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

начало

конец

c := a + b;

ввод a, b

вывод c

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

блок «ввод»

блок

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

блок «вывод»

блок «конец»