Языки программирования
<<  Языки программирования Программирование на языке Паскаль  >>
Программирование на языке Паскаль
Программирование на языке Паскаль
Алгоритм
Алгоритм
Программа
Программа
Простейшая программа
Простейшая программа
Вывод текста на экран
Вывод текста на экран
Задания
Задания
Переменные
Переменные
Программа
Программа
a
a
Имена переменных
Имена переменных
Переменные
Переменные
Как записать значение в переменную
Как записать значение в переменную
Блок-схема линейного алгоритма
Блок-схема линейного алгоритма
Как ввести значение с клавиатуры
Как ввести значение с клавиатуры
Ввод значений двух переменных
Ввод значений двух переменных
Оператор вывода
Оператор вывода
Сложение двух чисел
Сложение двух чисел
Полное решение
Полное решение
Как изменить значение переменной
Как изменить значение переменной
+ Сложение – вычитание * умножение / деление div деление нацело
+ Сложение – вычитание * умножение / деление div деление нацело
Какие операторы неправильные
Какие операторы неправильные
Вычисление выражений в скобках умножение, деление, div, mod слева
Вычисление выражений в скобках умножение, деление, div, mod слева
Ручная прокрутка программы
Ручная прокрутка программы
program qq; var a, b: integer; begin a := 15; b := 45; writeln ( a, b
program qq; var a, b: integer; begin a := 15; b := 45; writeln ( a, b
program qq; var x: real; begin x := 12
program qq; var x: real; begin x := 12
Задания
Задания
Программирование на языке Паскаль
Программирование на языке Паскаль
Разветвляющиеся алгоритмы
Разветвляющиеся алгоритмы
Вариант 1. Блок-схема
Вариант 1. Блок-схема
Вариант 1. Программа
Вариант 1. Программа
Условный оператор
Условный оператор
Что неправильно
Что неправильно
Вариант 2. Блок-схема
Вариант 2. Блок-схема
Вариант 2. Программа
Вариант 2. Программа
Вариант 2Б
Вариант 2Б
Что неправильно
Что неправильно
Задания
Задания
Программирование на языке Паскаль
Программирование на языке Паскаль
Сложные условия
Сложные условия
Вариант 1. Алгоритм
Вариант 1. Алгоритм
Вариант 1. Программа
Вариант 1. Программа
Вариант 2. Алгоритм
Вариант 2. Алгоритм
Вариант 2. Программа
Вариант 2. Программа
Сложные условия
Сложные условия
Сложные условия
Сложные условия
Сложные условия
Сложные условия
Задания
Задания
Программирование на языке Паскаль
Программирование на языке Паскаль
Циклы
Циклы
Циклы
Циклы
Циклы
Циклы
Алгоритм
Алгоритм
Циклы
Циклы
Циклы
Циклы
Алгоритм
Алгоритм
Алгоритм (с блоком «цикл»)
Алгоритм (с блоком «цикл»)
Программа
Программа
Цикл с уменьшением переменной
Цикл с уменьшением переменной
Цикл с переменной
Цикл с переменной
Цикл с переменной
Цикл с переменной
Цикл с переменной
Цикл с переменной
Цикл с переменной
Цикл с переменной
Сколько раз выполняется цикл
Сколько раз выполняется цикл
Как изменить шаг
Как изменить шаг
Как изменить шаг
Как изменить шаг
Как изменить шаг
Как изменить шаг
Задания
Задания

Презентация: «Программирование на языке Паскаль». Автор: kp. Файл: «Программирование на языке Паскаль.ppt». Размер zip-архива: 606 КБ.

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

содержание презентации «Программирование на языке Паскаль.ppt»
СлайдТекст
1 Программирование на языке Паскаль

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

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

1

2 Алгоритм

Алгоритм

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

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

2

3 Программа

Программа

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

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

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

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

3

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

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

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

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

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

4

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

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

program qq; begin write('2+'); { без перехода } writeln('2=?'); { на новую строку} writeln('Ответ: 4'); end.

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

5

6 Задания

Задания

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

6

7 Переменные

Переменные

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

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

Компьютер

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

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

7

8 Программа

Программа

Program qq; begin { ввести два числа } { вычислить их сумму } { вывести сумму на экран } end.

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

8

9 a

a

Переменные

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

Значение

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

Имя

9

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

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

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

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

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

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

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

10

11 Переменные

Переменные

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

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

var a, b, c: integer;

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

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

Тип – целые

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

11

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

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

a := 5;

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

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

5

12

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

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

Начало

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

Ввод a, b

Блок «ввод»

c := a + b;

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

Вывод c

Блок «вывод»

Конец

Блок «конец»

13

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

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

read ( a );

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

5

14

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

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

read ( a, b );

Через пробел: 25 30 через enter: 25 30

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

15

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

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

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

write( a );

writeln( a );

{ Вывод значения переменной a и переход на новую строчку}

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

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

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

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

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

16

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

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

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

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

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

17

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

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

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

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

Компьютер

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

18

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

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

Пример:

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

a

b

a

b

5

?

5

?

7

5+2

5

28

7*4

7

8

7+1

19

20 + Сложение – вычитание * умножение / деление 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.

20

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

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

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.

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

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

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

21

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

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

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

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

1 2 4 5 3 6

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

2 3 5 4 1 10 6 9 8 7

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

22

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

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

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.

a

b

5

7

28

5

3

4

4

?

?

23

24 program qq; var a, b: integer; begin a := 15; b := 45; writeln ( a, b

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

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

1545

15 45

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

24

25 program qq; var x: real; begin x := 12

program qq; var x: real; begin x := 12

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

1,234568?101

1.234568E+001

1.23E+001

12.35

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

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

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

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

25

26 Задания

Задания

«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

26

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

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

Тема 2. Ветвления

27

28 Разветвляющиеся алгоритмы

Разветвляющиеся алгоритмы

Задача. Ввести два целых числа и вывести на экран наибольшее из них. Идея решения: надо вывести на экран первое число, если оно больше второго, или второе, если оно больше первого. Особенность: действия исполнителя зависят от некоторых условий (если … иначе …).

Алгоритмы, в которых последовательность шагов зависит от выполнения некоторых условий, называются разветвляющимися.

28

29 Вариант 1. Блок-схема

Вариант 1. Блок-схема

Блок «решение»

Полная форма ветвления

29

30 Вариант 1. Программа

Вариант 1. Программа

program qq; var a, b, max: integer; begin writeln('Введите два целых числа'); read ( a, b ); if a > b then begin end else begin end; writeln ('Наибольшее число ', max); end.

Полная форма условного оператора

max := a;

max := b;

30

31 Условный оператор

Условный оператор

Особенности: перед else НЕ ставится точка с запятой вторая часть (else …) может отсутствовать (неполная форма) если в блоке один оператор, можно убрать слова begin и end

If <условие> then begin {что делать, если условие верно} end else begin {что делать, если условие неверно} end;

31

32 Что неправильно

Что неправильно

if a > b then begin a := b; end else b := a; end;

if a > b then begin a := b; else begin b := a; end;

end

begin

if a > b then begin a := b; end else b > a begin b := a; end;

if a > b then begin a := b; end; else begin b := a; end;

end

begin

32

33 Вариант 2. Блок-схема

Вариант 2. Блок-схема

Неполная форма ветвления

33

34 Вариант 2. Программа

Вариант 2. Программа

program qq; var a, b, max: integer; begin writeln('Введите два целых числа'); read ( a, b ); max := a; if b > a then max := b; writeln ('Наибольшее число ', max); end.

Неполная форма условного оператора

34

35 Вариант 2Б

Вариант 2Б

Программа

program qq; var a, b, max: integer; begin writeln('Введите два целых числа'); read ( a, b ); max := b; if ??? then ??? writeln ('Наибольшее число ', max); end.

a > b

max := a;

35

36 Что неправильно

Что неправильно

if a > b then begin a := b; end; else b := a;

if a > b then begin a := b; else b := a;

a := b

end

if a > b then a := b; else b := a; end;

if a > b then else begin b := a; end;

if b >= a then b := a;

a := b

36

37 Задания

Задания

«4»: Ввести три числа и найти наибольшее из них. Пример: Введите три числа: 4 15 9 Наибольшее число 15 «5»: Ввести пять чисел и найти наибольшее из них. Пример: Введите пять чисел: 4 15 9 56 4 Наибольшее число 56

37

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

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

Тема 3. Сложные условия

38

39 Сложные условия

Сложные условия

Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ «подходит» или «не подходит»). Особенность: надо проверить, выполняются ли два условия одновременно.

39

40 Вариант 1. Алгоритм

Вариант 1. Алгоритм

Начало

Ввод x

x >= 25?

x <= 40?

'Не подходит'

'Подходит'

'Не подходит'

Конец

Да

Нет

Да

Нет

40

41 Вариант 1. Программа

Вариант 1. Программа

program qq; var x: integer; begin writeln('Введите возраст'); read ( x ); if x >= 25 then if x <= 40 then writeln ('Подходит') else writeln ('Не подходит') else writeln ('Не подходит'); end.

41

42 Вариант 2. Алгоритм

Вариант 2. Алгоритм

Начало

Ввод x

X >= 25 и x <= 40?

'Подходит'

'Не подходит'

Нет

Да

42

43 Вариант 2. Программа

Вариант 2. Программа

program qq; var x: integer; begin writeln('Введите возраст'); read ( x ); if (x >= 25) and (x <= 40) then writeln ('Подходит') else writeln ('Не подходит') end.

Сложное условие

43

44 Сложные условия

Сложные условия

Простые условия (отношения) < <= > >= = <> Сложное условие – это условие, состоящее из нескольких простых условий (отношений), связанных с помощью логических операций: not – НЕ (отрицание, инверсия) and – И (логическое умножение, конъюнкция, одновременное выполнение условий) or – ИЛИ (логическое сложение, дизъюнкция, выполнение хотя бы одного из условий) xor – исключающее ИЛИ (выполнение только одного из двух условий, но не обоих)

Равно

Не равно

44

45 Сложные условия

Сложные условия

Порядок выполнения (приоритет = старшинство) выражения в скобках not and or, xor <, <=, >, >=, =, <> Особенность – каждое из простых условий обязательно заключать в скобки. Пример

4 1 6 2 5 3

if not (a > b) or (c <> d) and (b <> a) then begin ... end

45

46 Сложные условия

Сложные условия

Истинно или ложно при a := 2; b := 3; c := 4; not (a > b) (a < b) and (b < c) not (a >= b) or (c = d) (a < c) or (b < c) and (b < a) (a < b) xor not (b > c) Для каких значений x истинны условия: (x < 6) and (x < 10) (x < 6) and (x > 10) (x > 6) and (x < 10) (x > 6) and (x > 10) (x < 6) or (x < 10) (x < 6) or (x > 10) (x > 6) or (x < 10) (x > 6) or (x > 10)

(-?; 6)

x < 6

?

(6; 10)

x > 10

(10; ?)

(-?; 10)

x < 10

(-?; 6) ? (10;?)

(-?; ?)

x > 6

(6; ?)

FALSE

46

True

True

True

True

47 Задания

Задания

«4»: Ввести номер месяца и вывести название времени года. Пример: Введите номер месяца: 4 весна «5»: Ввести возраст человека (от 1 до 150 лет) и вывести его вместе с последующим словом «год», «года» или «лет». Пример: Введите возраст: Введите возраст: 24 57 Вам 24 года Вам 57 лет

47

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

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

Тема 4. Циклы

48

49 Циклы

Циклы

Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов цикл с неизвестным числом шагов (цикл с условием) Задача. Вывести на экран 5 раз слово «Привет». Особенность: одинаковые действия выполняются 5 раз.

49

50 Циклы

Циклы

program qq; begin writeln('Привет'); writeln('Привет'); writeln('Привет'); writeln('Привет'); writeln('Привет'); end.

50

51 Циклы

Циклы

program qq; begin { сделай 5 раз } writeln('Привет'); end.

i := i + 1;

51

52 Алгоритм

Алгоритм

Начало

i = 5?

Конец

Привет!

Еще не сделали ни одного раза

Проверить, все ли сделали

Вывод на экран

Считаем очередной шаг

i := 0;

Да

Нет

i := i + 1;

52

53 Циклы

Циклы

program qq; var i: integer; begin for i:=1 to 5 do writeln('Привет'); end.

for i:=1 to 5 do

begin

for i:=1 to 5 do begin write('Привет'); writeln(', Вася!'); end;

end;

«Для всех i от 1 до 5 делай …»

Если в цикле более одного оператора:

53

54 Циклы

Циклы

I := 1; { очередное число } i2 := i*i; { его квадрат } i3 := i2*i; { куб } writeln(i:4, i2:4, i3:4); i := 2; ...

Задача. Вывести на экран квадраты и кубы целых чисел от 1 до 8 (от a до b). Особенность: одинаковые действия выполняются 8 раз.

54

55 Алгоритм

Алгоритм

Начало

i <= 8?

Конец

i, i2, i3

Задать начальное значение переменной цикла

Проверить, все ли сделали

Вычисляем квадрат и куб

Вывод результата

Перейти к следующему i

i := 1;

Нет

Да

i2 := i * i; i3 := i2 * i;

i := i + 1;

55

56 Алгоритм (с блоком «цикл»)

Алгоритм (с блоком «цикл»)

Блок «цикл»

Тело цикла

Начало

Конец

i, i2, i3

i := 1,8

i2 := i * i; i3 := i2 * i;

56

57 Программа

Программа

program qq; var i, i2, i3: integer; begin for i:=1 to 8 do begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end; end.

Начальное значение

Переменная цикла

Конечное значение

57

58 Цикл с уменьшением переменной

Цикл с уменьшением переменной

for i:=8 1 do begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end;

downto

Задача. Вывести на экран квадраты и кубы целых чисел от 8 до 1 (в обратном порядке). Особенность: переменная цикла должна уменьшаться. Решение:

58

59 Цикл с переменной

Цикл с переменной

Увеличение переменной на 1:

For <переменная> := <начальное значение> to <конечное значение> do begin {тело цикла} end;

Уменьшение переменной на 1:

For <переменная> := <начальное значение> downto <конечное значение> do begin {тело цикла} end;

59

60 Цикл с переменной

Цикл с переменной

Особенности: переменная цикла может быть только целой (integer) шаг изменения переменной цикла всегда равен 1 (to) или -1 (downto) если в теле цикла только один оператор, слова begin и end можно не писать: если конечное значение меньше начального, цикл (to) не выполняется ни разу (проверка условия в начале цикла, цикл с предусловием)

for i:=1 to 8 do writeln('Привет');

60

61 Цикл с переменной

Цикл с переменной

n := 8; for i:=1 to n do begin writeln('Привет'); n := n + 1; end;

Особенности: в теле цикла не разрешается изменять переменную цикла (почему?) при изменении начального и конечного значения внутри цикла количество шагов не изменится:

Нет зацикливания

61

62 Цикл с переменной

Цикл с переменной

for i:=1 to 8 do writeln('Привет'); writeln('i=', i);

i=9

for i:=8 downto 1 do writeln('Привет'); writeln('i=', i);

i=0

Особенности: после выполнения цикла во многих системах устанавливается первое значение переменной цикла, при котором нарушено условие:

Не документировано

62

63 Сколько раз выполняется цикл

Сколько раз выполняется цикл

a := 1; for i:=1 to 3 do a := a+1;

a = 4

a := 1; for i:=3 to 1 do a := a+1;

a = 1

a := 1; for i:=1 downto 3 do a := a+1;

a = 1

a := 1; for i:=3 downto 1 do a := a+1;

a = 4

63

64 Как изменить шаг

Как изменить шаг

Выполняется только для нечетных i

Задача. Вывести на экран квадраты и кубы нечётных целых чисел от 1 до 9. Особенность: переменная цикла должна увеличиваться на 2. Проблема: в Паскале шаг может быть 1 или -1. Решение:

for i:=1 to 9 do begin if ??? then begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end; end;

i mod 2 = 1

i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4);

64

65 Как изменить шаг

Как изменить шаг

– II

Идея: Надо вывести всего 5 чисел, переменная k изменяется от 1 до 5. Начальное значение i равно 1, с каждым шагом цикла i увеличивается на 2. Решение:

i := 1;

??? for k:=1 to 5 do begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); ??? end;

i := i + 2;

65

66 Как изменить шаг

Как изменить шаг

– III

i = 2k-1

Идея: Надо вывести всего 5 чисел, переменная k изменяется от 1 до 5. Зная k, надо рассчитать i. Решение:

k

1

2

3

4

5

i

1

3

5

7

9

for k:=1 to 5 do begin ??? i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end;

i := 2*k – 1;

66

67 Задания

Задания

«4»: Ввести a и b и вывести квадраты и кубы чисел от a до b. Пример: Введите границы интервала: 4 6 4 16 64 5 25 125 6 36 216 «5»: Вывести квадраты и кубы 10 чисел следующей последовательности: 1, 2, 4, 7, 11, 16, … Пример: 1 1 1 2 4 8 4 16 64 ... 46 2116 97336

67

«Программирование на языке Паскаль»
http://900igr.net/prezentacija/informatika/programmirovanie-na-jazyke-paskal-239876.html
cсылка на страницу
Урок

Информатика

130 тем
Слайды
900igr.net > Презентации по информатике > Языки программирования > Программирование на языке Паскаль