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

Презентация на тему Презентация на тему Программирование на языке Паскаль, предмет презентации: Разное. Этот материал содержит 88 слайдов. Красочные слайды и илюстрации помогут Вам заинтересовать свою аудиторию. Для просмотра воспользуйтесь проигрывателем, если материал оказался полезным для Вас - поделитесь им с друзьями с помощью социальных кнопок и добавьте наш сайт презентаций ThePresentation.ru в закладки!

Слайды и текст этой презентации

Слайд 1
Текст слайда:

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


Введение
Ветвления
Сложные условия
Циклы
Циклы с условием
Оператор выбора



Слайд 2
Текст слайда:

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

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



Слайд 3
Текст слайда:


Алгоритм

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

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


Слайд 4
Текст слайда:


Программа

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

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


Слайд 5
Текст слайда:


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

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


Слайд 6
Текст слайда:


Язык Паскаль

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





разнообразные структуры данных (массивы, структуры, множества)


Слайд 7
Текст слайда:


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

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

begin
… {основная программа}
end.

{ процедуры и функции }

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


Слайд 8
Текст слайда:


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

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


Слайд 9
Текст слайда:


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

Имена могут включать
латинские буквы (A-Z)


цифры


знак подчеркивания _

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

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

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

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


Слайд 10
Текст слайда:


Константы

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

qq = 'Вася'; { строка символов }

L = True; { логическая величина }

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

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

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


Слайд 11
Текст слайда:


Переменные

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

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

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

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


Слайд 12
Текст слайда:


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

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

Оператор присваивания служит для изменения значения переменной.

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

Пример:


Слайд 13
Текст слайда:


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

Общая структура:

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

вызовы функций
круглые скобки ( )

умножение

деление

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

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

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


Слайд 14
Текст слайда:

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.


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

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

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

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



Слайд 15
Текст слайда:


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

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.










Слайд 16
Текст слайда:


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

вычисление выражений в скобках
умножение, деление, 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


Слайд 17
Текст слайда:


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

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

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

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


Слайд 18
Текст слайда:


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

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

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

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


Слайд 19
Текст слайда:


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

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

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

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

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

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


Слайд 20
Текст слайда:


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

program qq;
var i: integer;
x: real;
begin
i := 15;
writeln ( '>', 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<

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

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

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


Слайд 21
Текст слайда:


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

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

это выводит компьютер

это вводит пользователь


Слайд 22
Текст слайда:


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

начало

конец

c := a + b;

ввод a, b

вывод c

блок "начало"

блок "ввод"

блок "процесс"

блок "вывод"

блок "конец"


Слайд 23
Текст слайда:


Задания

"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


Слайд 24
Текст слайда:

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

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



Слайд 25
Текст слайда:


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

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

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


Слайд 26
Текст слайда:


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


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

блок "решение"


Слайд 27
Текст слайда:


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



max := a;

max := b;

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

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

end
else begin

end;
writeln ('Наибольшее число ', max);
end.


Слайд 28
Текст слайда:


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

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

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


Слайд 29
Текст слайда:


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

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

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

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

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

begin

end

begin

end


Слайд 30
Текст слайда:


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


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


Слайд 31
Текст слайда:


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



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

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


Слайд 32
Текст слайда:


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



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

max := a;

a > b


Слайд 33
Текст слайда:


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

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

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

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

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

a := b

end

a := b



if b >= a then
b := a;



Слайд 34
Текст слайда:


Задания

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


Слайд 35
Текст слайда:

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

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



Слайд 36
Текст слайда:


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

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


Слайд 37
Текст слайда:


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

начало

ввод x

'подходит'

конец





да

нет

x >= 25?



да

нет

x <= 40?

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

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




Слайд 38
Текст слайда:


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




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


Слайд 39
Текст слайда:

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

начало

ввод x

'подходит'



да

нет

x >= 25 и
x <= 40?

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



Слайд 40
Текст слайда:


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



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

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


Слайд 41
Текст слайда:


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

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

равно

не равно


Слайд 42
Текст слайда:


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

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

4 1 6 2 5 3

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


Слайд 43
Текст слайда:

Истинно или ложно при 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)


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

True

True

FALSE

(-∞, 6)


(6, 10)

(10, ∞)

(-∞, 10)

(-∞, 6) ∪ (10,∞)

(-∞, ∞)

(6, ∞)

x < 6

x > 10

x < 10

x > 6

True

True


Слайд 44
Текст слайда:


Задания

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


Слайд 45
Текст слайда:

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

Тема 4. Циклы



Слайд 46
Текст слайда:


Циклы

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


Слайд 47
Текст слайда:


Алгоритм


начало

i, i2, i3

конец

нет

да

i <= 8?


i := 1;

i := i + 1;


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

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

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

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

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

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


Слайд 48
Текст слайда:


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


начало

i, i2, i3

конец


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

i := 1,8

блок "цикл"

тело цикла


Слайд 49
Текст слайда:


Программа



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.

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

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

конечное значение


Слайд 50
Текст слайда:


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

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

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

downto


Слайд 51
Текст слайда:


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

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

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

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

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


Слайд 52
Текст слайда:


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

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

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


Слайд 53
Текст слайда:


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

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

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

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


Слайд 54
Текст слайда:


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

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

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

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

i=9

i=0

НЕ ДОКУМЕНТИРОВАНО


Слайд 55
Текст слайда:


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

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


Слайд 56
Текст слайда:

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;


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

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

i mod 2 = 1

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

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


Слайд 57
Текст слайда:


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

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

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

i := i + 2;

i := 1;


Слайд 58
Текст слайда:


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

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


Решение:

i = 2k-1

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;


Слайд 59
Текст слайда:


Задания

"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


Слайд 60
Текст слайда:

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

Тема 5. Циклы с условием



Слайд 61
Текст слайда:


Цикл с неизвестным числом шагов

Пример: Отпилить полено от бревна. Сколько раз надо сделать движения пилой?
Задача: Ввести целое число (<2000000) и определить число цифр в нем.
Идея решения: Отсекаем последовательно последнюю цифру, увеличиваем счетчик.




Проблема: Неизвестно, сколько шагов надо сделать.
Решение: Надо остановиться, когда n = 0, т.е. надо делать "пока n <> 0".


Слайд 62
Текст слайда:



Алгоритм


начало

count

конец

нет

да

n <> 0?


count := 0;


count := count + 1;
n := n div 10;

обнулить счетчик цифр

ввод n


выполнять "пока n <> 0"


Слайд 63
Текст слайда:

Программа

program qq;
var n, count: integer;
begin
writeln('Введите целое число');
read(n);
count := 0;
while n <> 0 do begin
count := count + 1;
n := n div 10;
end;
writeln('В числе ', n, ' нашли ',
count, ' цифр');
end.

while n <> 0 do begin
count := count + 1;
n := n div 10;
end;

, n1: integer;

n1 := n;

n1,

выполнять "пока n <> 0"


Слайд 64
Текст слайда:


Цикл с условием

while <условие> do begin
{тело цикла}
end;

Особенности:
можно использовать сложные условия:
если в теле цикла только один оператор, слова begin и end можно не писать:

while (a {тело цикла}
end;

while a < b do
a := a + 1;


Слайд 65
Текст слайда:


Цикл с условием

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

a := 4; b := 6;
while a > b do
a := a – b;

a := 4; b := 6;
while a < b do
d := a + b;


Слайд 66
Текст слайда:


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

a := 4; b := 6;
while a < b do a := a + 1;

2 раза
a = 6

a := 4; b := 6;
while a < b do a := a + b;

1 раз
a = 10

a := 4; b := 6;
while a > b do a := a + 1;

0 раз
a = 4

a := 4; b := 6;
while a < b do b := a - b;

1 раз
b = -2

a := 4; b := 6;
while a < b do a := a - 1;

зацикливание


Слайд 67
Текст слайда:


Замена for на while и наоборот

for i:=1 to 10 do begin
{тело цикла}
end;

i := 1;
while i <= 10 do begin
{тело цикла}
i := i + 1;
end;

for i:=a downto b do
begin
{тело цикла}
end;

i := a;
while i >= b do begin
{тело цикла}
i := i - 1;
end;

Замена while на for возможна только тогда, когда можно заранее рассчитать число шагов цикла.

Замена цикла for на while возможна всегда.


Слайд 68
Текст слайда:


Задания

"4": Ввести целое число и найти сумму его цифр.
Пример:
Введите целое число:
1234
Сумма цифр числа 1234 равна 10.
"5": Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры.
Пример:
Введите целое число: Введите целое число:
1234 1224
Нет. Да.


Слайд 69
Текст слайда:


Последовательности

Примеры:
1, 2, 3, 4, 5, …
1, 2, 4, 7, 11, 16, …
1, 2, 4, 8, 16, 32, …

an = n

a1 = 1, an+1 = an+1

a1 = 1, an+1 = an + n

an = 2n-1

a1 = 1, an+1 = 2an

b1 = 1, bn+1 = bn+1

c1 = 2, cn+1 = 2cn


Слайд 70
Текст слайда:


Последовательности

Задача: найти сумму всех элементов последовательности,
которые по модулю больше 0,001:

Элемент последовательности (начиная с №2):

b := b+1;

c := 2*c;

z := -z;


Слайд 71
Текст слайда:


Алгоритм


начало

S

конец

нет

да

|a| > 0.001?



S := S + a;


S := 0; b := 1; c := 2; z := -1; a := 1;

начальные значения

a := z*b/c;
b := b + 1; c := 2*c; z := -z;

первый элемент

a := 1;

S := 0;

новый элемент

изменение


Слайд 72
Текст слайда:


Программа

program qq;
var b, c, z: integer;
S, a: real;
begin
S := 0; z := -1;
b := 1; c := 2; a := 1;
while abs(a) > 0.001 do begin
S := S + a;
a := z * b / c;
z := - z;
b := b + 1;
c := c * 2;
end;
writeln('S =', S:10:3);
end.

z := - z;
b := b + 1;
c := c * 2;

переход к следующему слагаемому

S := 0; z := -1;
b := 1; c := 2; a := 1;

начальные значения

увеличение суммы

расчет элемента последовательности


Слайд 73
Текст слайда:


Задания

"4": Найти сумму элементов последовательности с точностью 0,001:


Ответ:
S = 1.157
"5": Найти сумму элементов последовательности с точностью 0,001:
Ответ:
S = 1.220


Слайд 74
Текст слайда:


Цикл с постусловием

Задача: Ввести целое положительное число (<2000000) и определить число цифр в нем.
Проблема: Как не дать ввести отрицательное число или ноль?
Решение: Если вводится неверное число, вернуться назад к вводу данных (цикл!).
Особенность: Один раз тело цикла надо сделать в любом случае => проверку условия цикла надо делать в конце цикла (цикл с постусловием).

Цикл с постусловием – это цикл, в котором проверка условия выполняется в конце цикла.


Слайд 75
Текст слайда:


Цикл с постусловием: алгоритм


начало

конец

да

нет

n > 0?



тело цикла

условие ВЫХОДА

блок "типовой процесс"

ввод n

основной алгоритм


Слайд 76
Текст слайда:


Программа

program qq;
var n: integer;
begin
repeat
writeln('Введите положительное число');
read(n);
until n > 0;
... { основной алгоритм }
end.

repeat
writeln('Введите положительное число');
read(n);
until n > 0;

until n > 0;

условие ВЫХОДА

Особенности:
тело цикла всегда выполняется хотя бы один раз
после слова until ("до тех пор, пока не…") ставится условие ВЫХОДА из цикла


Слайд 77
Текст слайда:


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

a := 4; b := 6;
repeat a := a + 1; until a > b;

3 раза
a = 7

a := 4; b := 6;
repeat a := a + b; until a > b;

1 раз
a = 10

a := 4; b := 6;
repeat a := a + b; until a < b;

зацикливание

a := 4; b := 6;
repeat b := a - b; until a < b;

2 раза
b = 6

a := 4; b := 6;
repeat a := a + 2; until a < b;

зацикливание


Слайд 78
Текст слайда:


Задания (с защитой от неверного ввода)

"4": Ввести натуральное число и определить, верно ли, что сумма его цифр равна 10.
Пример:
Введите число >= 0: Введите число >= 0:
-234 1233
Нужно положительное число. Нет
Введите число >= 0:
1234
Да
"5": Ввести натуральное число и определить, какие цифры встречаются несколько раз.
Пример:
Введите число >= 0: Введите число >= 0:
2323 1234
Повторяются: 2, 3 Нет повторов.


Слайд 79
Текст слайда:

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

Тема 6. Оператор выбора



Слайд 80
Текст слайда:


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

Задача: Ввести номер месяца и вывести количество дней в этом месяце.
Решение: Число дней по месяцам:
28 дней – 2 (февраль)
30 дней – 4 (апрель), 6 (июнь), 9 (сентябрь), 11 (ноябрь)
31 день – 1 (январь), 3 (март), 5 (май), 7 (июль), 8 (август), 10 (октябрь), 12 (декабрь)
Особенность: Выбор не из двух, а из нескольких вариантов в зависимости от номера месяца.


Слайд 81
Текст слайда:

Алгоритм

начало

конец


оператор выбора

ни один вариант не подошел

ввод M


да

нет

M = 1?

D := 31;

нет

M = 2?

D := 28;

да

нет

M = 12?

D := 31;

да

вывод D

ошибка





Слайд 82
Текст слайда:


Программа

program qq;
var M, D: integer;
begin
writeln('Введите номер месяца:');
read ( M );
case M of
2: begin D := 28; end;
4,6,9,11: begin D := 30; end;
1,3,5,7,8,10,12: D := 31;
else D := -1;
end;
if D > 0 then
writeln('В этом месяце ', D, ' дней.')
else
writeln('Неверный номер месяца');
end.

case M of
2: begin D := 28; end;
4,6,9,11: begin D := 30; end;
1,3,5,7,8,10,12: D := 31;
else D := -1;
end;

ни один вариант не подошел


Слайд 83
Текст слайда:


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

Особенности:
после case может быть имя переменной или арифметическое выражение целого типа (integer)
или символьного типа (char)

case i+3 of
1: begin a := b; end;
2: begin a := c; end;
end;

var c: char;
...
case c of
'а': writeln('Антилопа');
'б': writeln('Барсук');
else writeln('Не знаю');
end;


Слайд 84
Текст слайда:


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

Особенности:
если нужно выполнить только один оператор, слова begin и end можно не писать
нельзя ставить два одинаковых значения

case i+3 of
1: a := b;
1: a := c;
end;

case i+3 of
1: a := b;
2: a := c;
end;


Слайд 85
Текст слайда:


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

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

case i of
1: a := b;
2,4,6: a := c;
10..15: a := d;
20,21,25..30: a := e;
else writeln('Ошибка');
end;

перечисление

диапазон

смесь


Слайд 86
Текст слайда:


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

case a of
2: begin a := b;
4: a := c;
end;

case a of
2: a := b
4: a := c
end;

;

case a of
2..5: a := b;
4: a := c;
end;

case a of
0..2: a := b;
6..3: a := c;
end;

3..6:

case a+c/2 of
2: a := b;
4: a := c;
end;

case a of
2: a := b; d := 0;
4: a := c;
end;

begin

end;



Слайд 87
Текст слайда:


Задания (с защитой от неверного ввода)

"4": Ввести номер месяца и вывести количество дней в нем, а также число ошибок при вводе.
Пример:
Введите номер месяца: Введите номер месяца:
-2 2
Введите номер месяца: В этом месяце 28 дней.
11 Вы вводили неверно 0 раз.
В этом месяце 30 дней.
Вы вводили неверно 1 раз.
"5": Ввести номер месяца и номер дня, вывести число дней, оставшихся до Нового года.
Пример:
Введите номер месяца:
12
Введите день:
25
До Нового года осталось 6 дней.


Слайд 88
Текст слайда:


Текст

TextColor (0, 0, 255);
Brush (1, 255, 255, 0);
Font (20, 30, 600);
MoveTo (x, y);
writeln ('Привет!');

Привет!

(x, y)


размер
10 пикселей

угол
поворота

насыщенность:
400 – нормальный
600 – жирный


30о


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика