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


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

Содержание

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

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

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

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

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

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

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

Слайд 3Алгоритм
начало
i, i2, i3
конец
нет
да
i

1;
i2 := i * i;
i3 := i2 * i;
задать начальное

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

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

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

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

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

Алгоритмначалоi, i2, i3конецнетдаi

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

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


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

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

end;

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

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

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

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

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

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

целых чисел от 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 (в

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

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

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

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

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

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

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

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

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

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

Задания

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

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

Слайд 15Цикл с неизвестным числом шагов
Пример: Отпилить полено от бревна. Сколько

раз надо сделать движения пилой?
Задача: Ввести целое число (

определить число цифр в нем.
Идея решения: Отсекаем последовательно последнюю цифру, увеличиваем счетчик.




Проблема: Неизвестно, сколько шагов надо сделать.
Решение: Надо остановиться, когда n = 0, т.е. надо делать "пока n <> 0".
Цикл с неизвестным числом шаговПример: Отпилить полено от бревна. Сколько раз надо сделать движения пилой?Задача: Ввести целое

Слайд 16Алгоритм
начало
count
конец
нет
да
n 0?
count := 0;
count := count + 1;

n := n div 10;
обнулить счетчик цифр
ввод n
выполнять "пока n

<> 0"
Алгоритмначалоcountконецнетдаn 0?count := 0;count := count + 1;  n := n div 10;обнулить счетчик цифрввод nвыполнять

Слайд 17Цикл с условием
while do begin
{тело цикла}


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

один оператор, слова begin и end можно не писать:

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

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

Цикл с условием	while do begin  {тело цикла}    end;Особенности:можно использовать сложные условия:если в теле

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

Программаprogram qq;var n, count: integer;begin writeln('Введите целое число'); read(n); count := 0; while n 0 do begin

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

условие на входе в цикл ложно, цикл не выполняется ни

разу
если условие никогда не станет ложным, программа зацикливается

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

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

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

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

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

Сколько раз выполняется цикл?a := 4; b := 6;while a < b do a := a +

Слайд 21Замена for на while и наоборот
for i:=1 to 10 do

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

{тело цикла}
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 возможна всегда.

Замена for на while и наоборотfor i:=1 to 10 do begin {тело цикла}end;i := 1;while i =

Слайд 22Задания
"4": Ввести целое число и найти сумму его цифр.

Пример:
Введите целое число:
1234
Сумма цифр числа 1234 равна 10.
"5": Ввести целое

число и определить, верно ли, что в его записи есть две одинаковые цифры.
Пример:
Введите целое число: Введите целое число:
1234 1224
Нет. Да.
Задания

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


Ответ:
S

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

1.220
Задания

Слайд 24Цикл с постусловием
Задача: Ввести целое положительное число (

число цифр в нем.
Проблема: Как не дать ввести отрицательное

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

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

Цикл с постусловиемЗадача: Ввести целое положительное число ( проверку условия цикла надо делать в конце цикла (цикл

Слайд 25Цикл с постусловием: алгоритм
начало
конец
да
нет
n > 0?
тело цикла
условие ВЫХОДА
блок "типовой

процесс"
ввод n
основной алгоритм

Цикл с постусловием: алгоритм началоконецданетn > 0?тело циклаусловие ВЫХОДАблок

Слайд 26Программа
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 ("до тех пор, пока не…") ставится условие ВЫХОДА из цикла

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

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

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

Сколько раз выполняется цикл?a := 4; b := 6;repeat a := a + 1; until a >

Слайд 28Программирование на языке Паскаль Часть II
Тема 1. Массивы

Программирование  на языке Паскаль Часть IIТема 1. Массивы

Слайд 29Массивы
Массив – это группа однотипных элементов, имеющих общее имя и

расположенных в памяти рядом.
Особенности:
все элементы имеют один тип
весь массив имеет

одно имя
все элементы расположены в памяти рядом
Примеры:
список учеников в классе
квартиры в доме
школы в городе
данные о температуре воздуха за год
МассивыМассив – это группа однотипных элементов, имеющих общее имя и расположенных в памяти рядом.Особенности:все элементы имеют один

Слайд 30Массивы
A
массив
3
15
НОМЕР элемента массива
(ИНДЕКС)
A[1]
A[2]
A[3]
A[4]
A[5]
ЗНАЧЕНИЕ элемента массива
A[2]
НОМЕР (ИНДЕКС) элемента массива: 2
ЗНАЧЕНИЕ элемента

массива: 10

МассивыAмассив315НОМЕР  элемента массива(ИНДЕКС)A[1]A[2]A[3]A[4]A[5]ЗНАЧЕНИЕ элемента массиваA[2]НОМЕР (ИНДЕКС)  элемента массива: 2ЗНАЧЕНИЕ  элемента массива: 10

Слайд 31Объявление массивов
Зачем объявлять?
определить имя массива
определить тип массива
определить число элементов
выделить

место в памяти
Массив целых чисел:


Размер через константу:
имя
начальный индекс
конечный

индекс

тип
элементов


var A: array[1.. ] of integer;

const N=5;

N

var A : array[ 1 .. 5 ] of integer ;

Объявление массивовЗачем объявлять? определить имя массиваопределить тип массиваопределить число элементоввыделить место в памятиМассив целых чисел: Размер через

Слайд 32Объявление массивов
Массивы других типов:
Другой диапазон индексов:
Индексы других типов:
var

X, Y: array [1..10] of real;
C: array [1..20]

of char;

var Q: array [0..9] of real;
C: array [-5..13] of char;

var A: array ['A'..'Z'] of real;
B: array [False..True] of integer;
...
A['C'] := 3.14259*A['B'];
B[False] := B[False] + 1;

Объявление массивовМассивы других типов: Другой диапазон индексов: Индексы других типов:var X, Y: array [1..10] of real;

Слайд 33Что неправильно?
var a: array[10..1] of integer;
...
A[5] := 4.5;
[1..10]
var a:

array ['z'..'a'] of integer;
...
A['B'] := 15;
A['b']
['a'..'z']
var a: array [0..9]

of integer;
...
A[10] := 'X';
Что неправильно?var a: array[10..1] of integer;... A[5] := 4.5;[1..10]var a: array ['z'..'a'] of integer;... A['B'] := 15;A['b']['a'..'z']var

Слайд 34Массивы
Объявление:
Ввод с клавиатуры:
Поэлементные операции:
Вывод на экран:
const N = 5;
var

a: array[1..N] of integer;
i: integer;
for i:=1 to N

do begin
write('a[', i, ']=');
read ( a[i] );
end;

a[1] =
a[2] =
a[3] =
a[4] =
a[5] =

5
12
34
56
13

for i:=1 to N do a[i]:=a[i]*2;

writeln('Массив A:');
for i:=1 to N do write(a[i]:4);

Массив A:
10 24 68 112 26

МассивыОбъявление:Ввод с клавиатуры:Поэлементные операции:Вывод на экран:const N = 5; var a: array[1..N] of integer;  i: integer;for

Слайд 35Задания
"4": Ввести c клавиатуры массив из 5 элементов, найти среднее

арифметическое всех элементов массива.
Пример:
Введите пять чисел:
4

15 3 10 14
среднее арифметическое 9.200
"5": Ввести c клавиатуры массив из 5 элементов, найти минимальный из них.
Пример:
Введите пять чисел:
4 15 3 10 14
минимальный элемент 3
Задания

Слайд 36Спасибо за внимание!

Спасибо за внимание!

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

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

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

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

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


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

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