Разделы презентаций


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

Содержание

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

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

Слайд 1Программирование на языке Паскаль
Тема 1. Введение

Программирование  на языке ПаскальТема 1. Введение

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

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

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

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

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

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

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

откуда взять исходные данные?
что нужно с ними сделать?

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

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

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

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

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

Простейшая программаprogram qq;begin { начало программы }end. { конец программы }комментарии в фигурных скобках не обрабатываютсяназвание программы

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

}
writeln('2=?'); { на новую строку}
writeln('Ответ: 4');
end.
Протокол:
2+2=?

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

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

Введите два целых числа
25 30
25+30=55
компьютер
пользователь
компьютер считает сам!

ПеременныеЗадача. Ввести с клавиатуры два числа и найти их сумму.Протокол: Введите два целых числа 25 30 25+30=55компьютерпользователькомпьютер

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

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

алгоритм на русском языке с элементами Паскаля.
Программаprogram qq;begin { ввести два числа } { вычислить их сумму } { вывести сумму на экран

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

переменной можно изменять во время работы программы.
a
Значение
Имя
Другой тип данных

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

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


цифры


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

строчные буквы не различаются
В именах НЕЛЬЗЯ использовать
русские буквы
пробелы
скобки, знаки +,

=, !, ? и др.

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

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

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

Слайд 10Переменные
Типы переменных:
integer { целая }
real { вещественная }
и другие…
Объявление переменных:
var a, b,

c: integer;
Выделение места в памяти
variable – переменная
тип – целые


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

ПеременныеТипы переменных:integer		{ целая }real		{ вещественная }и другие…Объявление переменных:var 	a, b, c: integer;Выделение места в памятиvariable – переменная

Слайд 11Как записать значение в переменную?
a := 5;
Оператор присваивания
5
Оператор – это

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

нового значения в переменную.

a

Как записать значение в переменную?a := 5;Оператор присваивания5Оператор – это команда языка программирова-ния (инструкция).Оператор присваивания – это

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

«начало»
блок «ввод»
блок «процесс»
блок «вывод»
блок «конец»

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

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

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

Слайд 14Ввод значений двух переменных
через пробел:
25 30
через Enter:
25
30
read ( a,

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

Ввод значений двух переменныхчерез пробел:	25 30через Enter:	25 	30read ( a, b );Ввод значений двух переменных (через пробел

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

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

значения переменной c}

write( a );

writeln( a );

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

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

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

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

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

экран их сумму.
Простейшее решение:
program qq;
var a, b, c: integer;
begin

read ( a, b );
c := a + b;
writeln ( c );
end.
Сложение двух чиселЗадача. Ввести два целых числа и вывести на экран их сумму.Простейшее решение:	program qq;	var a, b,

Слайд 17Полное решение
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

компьютер

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

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

Слайд 18Как изменить значение переменной?
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

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

Слайд 19Арифметические операции
+ сложение – вычитание
* умножение / деление
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.
Арифметические операции+ сложение		– вычитание * умножение		/ деление div деление нацело (остаток отбрасывается)mod остаток от деленияvar a, b:

Слайд 20 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.

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

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

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

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

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

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

Порядок выполнения операцийвычисление выражений в скобкахумножение, деление, div, mod слева направосложение и вычитание слева направоz := (5*a+c)/a*(b-c)/

Слайд 22Ручная прокрутка программы
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.
Ручная прокрутка программыprogram qq;var 	a, b: integer;begin a := 5; b := a + 2; a :=

Слайд 23Вывод целых чисел
program qq;
var a, b: integer;
begin
a := 15;

b := 45;
writeln ( a, b );
writeln

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

15 45

1545

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

Слайд 24Вывод вещественных чисел
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

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

Слайд 25Задания
«4»: Вывести на экран текст "лесенкой"
Вася

пошел
гулять
«5»:

Вывести на экран рисунок из букв
Ж
ЖЖЖ
ЖЖЖЖЖ
ЖЖЖЖЖЖЖ
HH HH
ZZZZZ
Задания«4»: Вывести на экран текст

Слайд 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
Задания«4»: Ввести три числа, найти их сумму и произведение.  Пример:	 Введите три числа:	 4  5

Слайд 27Программирование на языке Паскаль
Тема 2. Ветвления

Программирование  на языке ПаскальТема 2. Ветвления

Слайд 28Разветвляющиеся алгоритмы
Задача. Ввести два целых числа и вывести на экран

наибольшее из них.
Идея решения: надо вывести на экран первое число,

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

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

Разветвляющиеся алгоритмыЗадача. Ввести два целых числа и вывести на экран наибольшее из них.Идея решения: надо вывести на

Слайд 29Вариант 1. Блок-схема
полная форма ветвления
блок «решение»

Вариант 1. Блок-схемаполная форма ветвленияблок «решение»

Слайд 30Вариант 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.
Вариант 1. Программа	max := a;max := b;полная форма условного оператора	program qq;	var a, b, max: integer;	begin  writeln('Введите

Слайд 31Условный оператор
if then
begin
{что делать, если

условие верно}
end
else
begin

{что делать, если условие неверно}
end;

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

Условный оператор	if then begin  {что делать, если условие верно}    end else begin

Слайд 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;

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

Что неправильно?	if a > b then begin  a := b;  end else  b :=

Слайд 33Вариант 2. Блок-схема
неполная форма ветвления

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

Слайд 34Вариант 2. Программа

program qq;
var a, b, max: integer;
begin
writeln('Введите

два целых числа');
read ( a, b );

max := a;
if b > a then
max := b;
writeln ('Наибольшее число ', max);
end.

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

Вариант 2. Программа		program qq;	var a, b, max: integer;	begin  writeln('Введите два целых числа');  read ( a,

Слайд 35Вариант 2Б. Программа
program qq;
var a, b, max: integer;
begin
writeln('Введите

два целых числа');
read ( a, b );

max := b;
if ??? then
???
writeln ('Наибольшее число ', max);
end.

max := a;

a > b

Вариант 2Б. Программа	program qq;	var a, b, max: integer;	begin  writeln('Введите два целых числа');  read ( a,

Слайд 36Что неправильно?
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;

Что неправильно?	if a > b then begin   a := b;  else b := a;

Слайд 37Задания
«4»: Ввести три числа и найти наибольшее из них.

Пример:
Введите три числа:
4 15 9
Наибольшее число 15
«5»: Ввести

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

Слайд 38Программирование на языке Паскаль
Тема 4. Циклы

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

Слайд 39Циклы
Цикл – это многократное выполнение одинаковой последовательности действий.
цикл с известным

числом шагов
цикл с неизвестным числом шагов (цикл с условием)
Задача. Вывести

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

Слайд 40Циклы
program qq;
begin
writeln('Привет');
writeln('Привет');
writeln('Привет');
writeln('Привет');

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

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

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

:= i + 1;

Циклыprogram qq;begin { сделай 5 раз }  writeln('Привет'); end.i := i + 1;

Слайд 42Циклы
program qq;
var i: integer;
begin
for i:=1 to 5 do

writeln('Привет');
end.
«Для всех i от 1 до 5
делай …»
for

i:=1 to 5 do

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

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

begin

end;

Циклыprogram qq;var i: integer;begin for i:=1 to 5 do  writeln('Привет'); end.«Для всех i от 1 до

Слайд 43Цикл с переменной
for := to

do
begin
{тело цикла}


end;

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

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

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

Цикл с переменной	for := to   do begin  {тело цикла}    end;Увеличение переменной

Слайд 44Цикл с переменной
Особенности:
переменная цикла может быть только целой (integer)
шаг изменения

переменной цикла всегда равен 1 (to) или -1 (downto)
если в

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

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

Цикл с переменнойОсобенности:переменная цикла может быть только целой (integer)шаг изменения переменной цикла всегда равен 1 (to) или

Слайд 45Циклы
Задача. Вывести на экран квадраты и кубы целых чисел от

1 до 8 (от a до b).
Особенность: одинаковые действия выполняются

8 раз.

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

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

Слайд 46Алгоритм (с блоком «цикл»)
начало
i, i2, i3
конец
i2 := i * i;
i3

:= i2 * i;
i := 1,8
блок «цикл»
тело цикла

Алгоритм (с блоком «цикл»)началоi, i2, i3конецi2 := i * i;i3 := i2 * i;i := 1,8блок «цикл»тело

Слайд 47Программа
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.

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

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

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

Программаprogram qq;var i, i2, i3: integer;begin  for i:=1 to 8 do begin  i2 := i*i;

Слайд 48Цикл с уменьшением переменной
Задача. Вывести на экран квадраты и кубы

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

цикла должна уменьшаться.
Решение:

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

downto

Цикл с уменьшением переменнойЗадача. Вывести на экран квадраты и кубы целых чисел от 8 до 1 (в

Слайд 49Сколько раз выполняется цикл?
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

Сколько раз выполняется цикл?a := 1;for i:=1 to 3 do a := a+1;a = 4a := 1;for

Слайд 50for 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

for i:=1 to 9 do begin  if   ???   then begin

Слайд 51Как изменить шаг? – 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;

Как изменить шаг? – IIИдея: Надо вывести всего 5 чисел, переменная k изменяется от 1 до 5.

Слайд 52Как изменить шаг? – 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;

Как изменить шаг? – IIIИдея: Надо вывести всего 5 чисел, переменная k изменяется от 1 до 5.

Слайд 53Задания
«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

Задания«4»: Ввести a и b и вывести квадраты и кубы чисел от a до b.  Пример:		Введите

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

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

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

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

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


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

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