file_name: Паскаль_Основы.ppt

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

description:
1

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

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

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

description:
2

Алгоритм

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

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

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

description:
3

Программа

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

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

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

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

alt: Простейшая программа program qq; begin { начало программы } end

description:
4

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

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

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

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

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

description:
5

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

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

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

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

description:
6

Задания

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

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

description:
7

Переменные

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

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

компьютер

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

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

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

description:
8

Программа

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

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

alt: Переменные Переменная – это величина, имеющая имя, тип и значение

description:
9

Переменные

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

a

Значение

Имя

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

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

description:
10

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

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

цифры

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

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

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

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

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

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

description:
11

Переменные

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

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

var 	a, b, c: integer;

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

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

тип – целые

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

alt: Как записать значение в переменную? a := 5;

description:
12

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

a := 5;

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

5

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

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

description:
13

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

начало

конец

c := a + b;

ввод a, b

вывод c

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

блок «ввод»

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

блок «вывод»

блок «конец»

alt: Как ввести значение с клавиатуры read ( a );

description:
14

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

read ( a );

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

5

alt: Ввод значений двух переменных через пробел: 25 30 через

description:
15

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

через пробел:
	25 30
через Enter:
	25
	30

read ( a, b );

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

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

description:
16

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

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

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

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

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

write( a );

writeln( a );

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

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

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

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

description:
17

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

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

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

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

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

description:
18

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

	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

компьютер

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

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

description:
19

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

	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

alt: Арифметические операции + сложение – вычитание * умножение / деление div деление нацело (остаток отбрасывается) mod остаток от деления var a, b: integer; begin a…

description:
20

Арифметические операции

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

alt: Какие операторы неправильные? имя переменной должно быть слева от знака := целая и дробная часть отделяются точкой нельзя записывать вещественное значение в целую переменную

description:
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.

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

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

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

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

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

description:
22

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

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

alt: Ручная прокрутка программы program qq; var a, b: integer; begin a := 5; b := a + 2; a := (a + 2)*(b – 3);…

description:
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

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

description:
24

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

program qq;
var a, b: integer;
begin
  a := 15;
  b := 45;
  writeln ( a, b );
  writeln ( a:4, b:4 );
end.

  15  45

1545

alt: Вывод вещественных чисел program qq; var x: real; begin x := 12

description:
25

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

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

alt: Задания «4»: Ввести три числа, найти их сумму и произведение

description:
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

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

description:
27

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

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

alt: Разветвляющиеся алгоритмы Задача

description:
28

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

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

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

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

description:
29

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

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

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

alt: Вариант 1. Программа max := a; max := b; полная форма условного оператора program qq; var a, b, max: integer; begin writeln('Введите два целых числа');…

description:
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.

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

description:
31

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

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

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

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

description:
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

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

description:
33

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

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

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

description:
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.

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

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

description:
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

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

description:
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;

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

description:
37

Задания

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

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

description:
38

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

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

alt: Сложные условия Задача. Фирма набирает сотрудников от 25 до 40 лет включительно

description:
39

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

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

alt: Вариант 1. Алгоритм начало ввод x 'подходит' конец да нет x >= 25? да нет x <= 40? ' не подходит ' ' не подходит…

description:
40

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

начало

ввод x

'подходит'

конец

да

нет

x >= 25?

да

нет

x <= 40?

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

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

alt: Вариант 1. Программа program qq; var x: integer; begin writeln('Введите возраст'); read ( x ); if x >= 25 then if x <= 40 then…

description:
41

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

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

alt: Вариант 2. Алгоритм начало ввод x 'подходит' да нет x >= 25 и x <= 40? ' не подходит '

description:
42

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

начало

ввод x

'подходит'

да

нет

x >= 25 и
x <= 40?

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

alt: Вариант 2. Программа сложное условие program qq; var x: integer; begin writeln('Введите возраст'); read ( x ); if (x >= 25) and (x <= 40)…

description:
43

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

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

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

alt: Сложные условия Простые условия (отношения) < <= > >= = <>

description:
44

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

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

равно

не равно

alt: Сложные условия Порядок выполнения (приоритет = старшинство ) выражения в скобках not and or, xor <, <=, >, >=, =, <>

description:
45

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

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

4     1     6    2      5     3

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

alt: Истинно или ложно при a := 2; b := 3; c := 4; not (a > b) (a < b) and (b < c) not…

description:
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  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

alt: Задания «4»: Ввести номер месяца и вывести название времени года

description:
47

Задания

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

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

description:
48

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

Тема 4. Циклы

alt: Циклы Цикл – это многократное выполнение одинаковой последовательности действий

description:
49

Циклы

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

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

description:
50

Циклы

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

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

description:
51

Циклы

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

i := i + 1;

alt: Алгоритм начало Привет! конец да нет i = 5? i := 0 ; i := i + 1; еще не сделали ни одного раза проверить,…

description:
52

Алгоритм

начало

Привет!

конец

да

нет

i = 5?

i := 0;

i := i + 1;

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

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

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

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

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

description:
53

Циклы

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;

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

description:
54

Циклы

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

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

alt: Алгоритм начало i, i2, i3 конец нет да i <= 8? i := 1; i := i + 1; i2 := i * i; i3…

description:
55

Алгоритм

начало

i, i2, i3

конец

нет

да

i <= 8?

i := 1;

i := i + 1;

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

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

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

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

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

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

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

description:
56

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

начало

i, i2, i3

конец

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

i := 1,8

блок «цикл»

тело цикла

alt: Программа 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;…

description:
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.

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

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

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

alt: Цикл с уменьшением переменной Задача

description:
58

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

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

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

downto

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

description:
59

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

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

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

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

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

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

description:
60

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

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

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

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

description:
61

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

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

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

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

alt: Цикл с переменной Особенности: после выполнения цикла во многих системах устанавливается первое значение переменной цикла, при котором нарушено условие: for i:=1 to 8 do writeln('Привет');…

description:
62

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

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

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

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

i=9

i=0

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

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

description:
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

alt: Как изменить шаг? Задача. Вывести на экран квадраты и кубы нечётных целых чисел от 1 до 9

description:
64

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

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

description:
65

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

alt: Как изменить шаг? – III Идея:

description:
66

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

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

Решение:

k

1

2

3

4

5

i

3

5

7

9

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;

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

description:
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

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

description:
68

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

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

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

description:
69

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

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

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

n

count

123

0

12

1

1

2

0

3

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

description:
70

Алгоритм

начало

count

конец

нет

да

n <> 0?

count := 0;

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

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

ввод n

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

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

description:
71

Программа

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»

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

description:
72

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

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

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

while (a < b) and (b < c) do begin
  {тело цикла}
end;

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

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

description:
73

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

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

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

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

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

description:
74

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

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;

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

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

description:
75

Замена 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 возможна всегда.

alt: Задания «4»: Ввести целое число и найти сумму его цифр

description:
76

Задания

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

description:
77

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

Примеры:
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

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

description:
78

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

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

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

n

1

2

3

4

5

...

b

c

2

4

8

16

32

z

-1

1

-1

1

-1

b := b+1;

c := 2*c;

z := -z;

alt: Алгоритм начало S конец нет да |a| > 0

description:
79

Алгоритм

начало

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;

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

изменение

alt: Программа program qq; var b, c, z: integer;

description:
80

Программа

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;

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

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

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

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

description:
81

Задания

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

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

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

description:
82

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

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

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

alt: Цикл с постусловием: алгоритм начало конец да нет n > 0? тело цикла условие

description:
83

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

начало

конец

да

нет

n > 0?

тело цикла

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

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

ввод n

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

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

description:
84

Программа

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

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

description:
85

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

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;

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

alt: Задания (с защитой от неверного ввода) «4»:

description:
86

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

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

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

description:
87

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

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

alt: Оператор выбора Задача: Ввести номер месяца и вывести количество дней в этом месяце

description:
88

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

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

alt: Алгоритм начало конец выбор ни один вариант не подошел ввод

description:
89

Алгоритм

начало

конец

выбор

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

ввод M

да

нет

M = 1?

D := 31;

нет

M = 2?

D := 28;

да

нет

M = 12?

D := 31;

да

 вывод D

ошибка

alt: Программа program qq; var M, D: integer; begin writeln('Введите номер месяца:'); read (

description:
90

Программа

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;

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

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

description:
91

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

Особенности:
после 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;

alt: Оператор выбора Особенности: если нужно выполнить только один оператор, слова begin и end можно не писать нельзя ставить два одинаковых значения case i+3 of 1:…

description:
92

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

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

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

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

alt: Оператор выбора Особенности: значения, при которых выполняются одинаковые действия, можно группировать case i of 1: a := b; 2,4,6: a := c; 10

description:
93

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

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

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

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

диапазон

смесь

alt: Что неправильно? case a of 2: begin a := b; 4: a := c; end; case a of 2: a := b 4: a :=…

description:
94

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

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;

description:
95

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

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

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

description:
96

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

Тема 7. Графика

alt: Система координат (0,0) (x,y) X

description:
97

Система координат

(0,0)

(x,y)

X

Y

x

y

alt: Управление цветом Цвет и толщина линий, цвет точек:

description:
98

Управление цветом

Цвет и толщина линий, цвет точек:
      Pen ( 1, 255, 0, 0 );
Цвет и стиль заливки:
      Brush ( 1, 0, 255, 0 );
Цвет текста:
      TextColor ( 0, 0, 255 );

толщина линии

R(red)
0..255

G(green)
0..255

B(blue)
0..255

0 – выключить
1 - включить

R

G

B

R

G

B

alt: Точки, отрезки и ломаные Pen (1, 0, 255, 0);

description:
99

Точки, отрезки и ломаные

Pen (1, 0, 255, 0); Line (x1, y1, x2, y2);

Pen (1, 0, 0, 255);
Point (x, y);

Pen (1, 255, 0, 0); MoveTo (x1, y1); LineTo (x2, y2);
LineTo (x3, y3);
LineTo (x4, y4);
LineTo (x5, y5);

alt: Фигуры с заливкой Pen (1, 0, 0, 255);

description:
100

Фигуры с заливкой

Pen (1, 0, 0, 255);
Brush (1, 255, 255, 0);
Rectangle (x1, y1, x2, y2);

Pen (1, 255, 0, 0);
Brush (1, 0, 255, 0);
Ellipse (x1, y1, x2, y2);

Brush (1, 100, 200, 255);
Fill (x, y);

description:
101

Текст

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

Привет!

(x, y)

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

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

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

30о

description:
102

Пример

(200, 50)

(100, 100)

(300, 200)

program qq;
begin
   Pen(2, 255, 0, 255);
   Brush(1, 0, 0, 255);
   Rectangle(100, 100, 300, 200);
   MoveTo(100, 100);
   LineTo(200, 50);
   LineTo(300, 100);
   Brush(1, 255, 255, 0);
   Fill(200, 75);
   Pen(2, 255, 255, 255);
   Brush(1, 0, 255, 0);
   Ellipse(150, 100, 250, 200);
end.

alt: Задания «4»: «Лягушка» «5»: «Корона»

description:
103

Задания

«4»: «Лягушка»

«5»: «Корона»

alt: Штриховка (x1, y1) (x2, y2) N линий (N=5) h

description:
104

Штриховка

(x1, y1)

(x2, y2)

N линий (N=5)

h

Rectangle (x1, y1, x2, y2);
Line( x1+h,   y1, x1+h,   y2);
Line( x1+2*h, y1, x1+2*h, y2);
Line( x1+3*h, y1, x1+3*h, y2);
...

Rectangle (x1, y1, x2, y2);
h := (x2 – x1) / (N + 1);
x := x1 + h;
for i:=1 to N do begin
  Line( round(x), y1, round(x), y2);
  x := x + h;
end;

var x, h: real;

x

округление до ближайшего целого

x

alt: Штриховка (программа) (x1, y1) (x2, y2) h program qq; var i, x1, x2, y1, y2,

description:
105

Штриховка (программа)

(x1, y1)

(x2, y2)

h

program qq;
var i, x1, x2, y1, y2, N: integer;
   h, x: real;
begin
  x1 := 100; y1 := 100;
  x2 := 300; y2 := 200;
  N := 10;
  Rectangle (x1, y1, x2, y2);
  h := (x2 - x1) / (N + 1);
  x := x1 + h;
  for i:=1 to N do begin
    Line(round(x), y1, round(x), y2);
    x := x + h;
  end;
end.

N

alt: Как менять цвет? (x1, y1) (x2, y2)

description:
106

Как менять цвет?

(x1, y1)

(x2, y2)

Brush ( 1, c, c, c );
Fill ( ???, ??? );

серый: R = G = B

Шаг изменения c:

x

(x-1, y1+1)

hc := 255 div N;
c := 0;
for i:=1 to N+1 do begin
  Line(round(x), y1, round(x), y2);
  Brush(1, c, c, c );
  Fill(round(x)-1, y1+1);
  x := x + h; c := c + hc;
end;

var c, hc: integer;

description:
107

Штриховка

(x1, y1)

(x2, y2)

(x3, y2)

a

h

(x3+a, y1)

Line( x1+h,   y1, x1+h-a,   y2);
Line( x1+2*h, y1, x1+2*h-a, y2);
Line( x1+3*h, y1, x1+3*h-a, y2);
...

h := (x3 – x2) / (N + 1);
a := x1 – x2;
x := x1 + h;
for i:=1 to N do begin
  Line(round(x), y1, round(x-a), y2);
  x := x + h;
end;

x

x-a

alt: Штриховка (x1, y1) (x2, y2) hx hy y x y

description:
108

Штриховка

(x1, y1)

(x2, y2)

hx

hy

y

x

y

Line( x1, y1+hy,   x1+hx,   y1+hy)  ;
Line( x1, y1+2*hy, x1+2*hx, y1+2*hy);
Line( x1, y1+3*hy, x1+3*hx, y1+3*hy);
...

hx := (x2 – x1) / (N + 1);
hy := (y2 – y1) / (N + 1);
x := x1 + hx; y := y1 + hy;
for i:=1 to N do begin
  Line(x1, round(y), round(x), round(y));
  x := x + hx; y := y + hy;
end;

alt: Задания «4»: Ввести с клавиатуры число линий и построить фигуру: «5»:

description:
109

Задания

«4»: Ввести с клавиатуры число линий и построить фигуру:

«5»: Ввести с клавиатуры число линий и построить фигуру:

alt: Задания «4»: Ввести с клавиатуры число линий штриховки и построить фигуру, залив все области разным цветом

description:
110

Задания

«4»: Ввести с клавиатуры число линий штриховки и построить фигуру, залив все области разным цветом.

«5»: Ввести с клавиатуры число окружностей и построить фигуру, залив все области разным цветом.

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

description:
111

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

Тема 8. Графики функций

alt: Построение графиков функций Задача: построить график функции y = 3 sin(x) на интервале от 0 до 2π

description:
112

Построение графиков функций

Задача: построить график функции y = 3 sin(x) на интервале от 0 до 2π.
Анализ:
максимальное значение  ymax = 3    при   x = π/2
минимальное значение   ymin = -3  при   x = 3π/2
Проблема: функция задана в математической системе координат, строить надо на экране, указывая координаты в пикселях.

alt: Преобразование координат (x,y)

description:
113

Преобразование координат

(x,y)

X

Y

x

y

Математическая
система координат

Экранная система координат (пиксели)

(xэ,yэ)

xэ

yэ

(0,0)

(0,0)

a

b

k – масштаб (длина изображения единичного отрезка на экране)

xэ = a + kx
yэ = b - ky

alt: Программа 2π h – шаг изменения x w – длина оси

description:
114

Программа

2π

h – шаг изменения x

w – длина оси ОХ в пикселях

на экране

оси координат

цикл построения графика

program qq;
const a = 50; b = 200; k = 50;
      xmin = 0; xmax = 6.2832;
var x, y, h: real;
    xe, ye, w: integer;
begin
   w := round((xmax - xmin)*k);
  Line(a-10, b, a+w, b);
  Line(a, 0, a, 2*b);
  x := xmin; h := 0.05;
  while x <= xmax do begin
    y := 3*sin(x);
    xe := a + round(k*x);
    ye := b - round(k*y);
    Point (xe, ye);
    x := x + h;
  end;
end.

alt: Как соединить точки? Алгоритм:

description:
115

Как соединить точки?

Алгоритм:

Если первая точка
  перейти в точку (xэ,yэ)
иначе
  отрезок в точку (xэ,yэ)

Программа:

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

выбор варианта действий

логическая переменная

var first: boolean;
    ...
begin
  ...
  first := True;
  while x <= xmax do begin
    ...
    if first then begin
       MoveTo(xe, ye);
       first := False;
    end
    else LineTo(xe, ye);
    ...
  end;
end.

alt: Задания «4»: Построить график функции y = x2 на интервале [-3,3]

description:
116

Задания

«4»: Построить график функции y = x2 на интервале [-3,3].

«5»: Построить график функции (эллипс)

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

description:
117

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

Тема 9. Процедуры

alt: Процедуры Задача: Построить фигуру:

description:
118

Процедуры

Задача: Построить фигуру:
Особенность: Три похожие фигуры.
общее:    размеры, угол поворота
отличия: координаты, цвет

alt: Процедуры Процедура – это вспомогательный алгоритм, который предназначен для выполнения некоторых действий

description:
119

Процедуры

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

alt: Процедуры Порядок разработки: выделить одинаковые или похожие действия (три фигуры) найти в них общее (размеры, форма, угол поворота) и отличия (координаты, цвет) отличия записать в…

description:
120

Процедуры

Порядок разработки:
выделить одинаковые или похожие действия (три фигуры)
найти в них общее (размеры, форма, угол поворота) и отличия (координаты, цвет)
отличия записать в виде неизвестных переменных, они будут параметрами процедуры

(x+100, y)

(x, y-60)

procedure Tr( x, y, r, g, b: integer);
begin
   MoveTo(x, y);
   LineTo(x, y-60);
   LineTo(x+100, y);
   LineTo(x, y);
   Brush(1, r, g, b);
   Fill(x+20, y-20);
end;

заголовок

MoveTo(x, y);
LineTo(x, y-60);
LineTo(x+100, y);
LineTo(x, y);
Brush(1, r, g, b);
Fill(x+20, y-20);

тело процедуры

координаты

цвет

параметры

alt: Программа program qq; begin

description:
121

Программа

program qq;

begin
   Pen(1, 255, 0, 255);
   Tr(100, 100, 0, 0, 255);
   Tr(200, 100, 0, 255, 0);
   Tr(200, 160, 255, 0, 0);
end.

(100,100)

100

60

фактические параметры

вызовы процедуры

procedure Tr( x, y, r, g, b: integer);
begin
  ...
end;

формальные параметры

процедура

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

description:
122

Процедуры

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

procedure Tr( x, y, r, g, b: integer);

Tr (200, 100, 0, 255, 0);

x

y

r

g

b

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

description:
123

Процедуры

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

procedure A (x: real; y: integer; z: real);

procedure A (x, z: real; y, k, l: integer);

alt: Процедуры Особенности: в процедуре можно объявлять дополнительные локальные переменные, остальные процедуры не имеют к ним доступа program qq; procedure

description:
124

Процедуры

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

program qq;
  procedure A(x, y: integer);
  var a, b: real;
  begin
    a := (x + y)/6;
    ...
  end;
begin
  ...
end.

 procedure A(x, y: integer);
  var a, b: real;
  begin
    a := (x + y)/6;
    ...
  end;

локальные переменные

var a, b: real;

alt: Параметры-переменные Задача: составить процедуру, которая меняет местами значения двух переменных

description:
125

Параметры-переменные

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

program qq;
var x, y: integer;

begin
  x := 1; y := 2;
  Exchange ( x, y );
  writeln ( ’x = ’, x, ’ y = ’, y );
end.

procedure Exchange ( a, b: integer );
var c: integer;
begin
  c := a; a := b; b := c;
end;

эта процедура работает с копиями параметров

x = 1 y = 2

alt: Параметры-переменные Применение: таким образом процедура (и функция) может возвращать несколько значений,

description:
126

Параметры-переменные

Применение: таким образом процедура (и функция) может возвращать несколько значений,
Запрещенные варианты вызова
Exchange ( 2, 3 );     { числа }
Exchange ( x+z, y+2 ); { выражения }

procedure Exchange (       a, b: integer );
var c: integer;
begin
  c := a; a := b; b := c;
end;

var

параметры могут изменяться

alt: Задания «4»: Используя процедуры, построить фигуру

description:
127

Задания

«4»: Используя процедуры, построить фигуру.

«5»: Используя процедуры, построить фигуру.

равносторонний треугольник

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

description:
128

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

Тема 10. Рекурсия

alt: Рекурсивные объекты Рекурсивный объект – это объект, определяемый через один или несколько таких же объектов

description:
129

Рекурсивные объекты

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

У попа была собака, он ее любил.
Она съела кусок мяса, он ее убил.
В ямку закопал, надпись написал:

Сказка о попе и собаке

Примеры:

Сказка о попе и собаке:

Факториал:

если

если

Рисунок с рекурсией:

alt: Дерево Пифагора Дерево Пифагора из

description:
130

Дерево Пифагора

Дерево Пифагора из N уровней – это ствол и отходящие от него симметрично два дерева Пифагора из N-1 уровней, такие что длина их стволов в 2 раза меньше и угол между ними равен 90o.

6 уровней:

alt: Дерево Пифагора Особенности: когда остановиться? деревья имеют различный наклон когда число оставшихся уровней станет равно нулю! (x1, y1) (x0, y0) α α+45o α-45o

description:
131

Дерево Пифагора

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

когда число оставшихся уровней станет равно нулю!

(x1, y1)

(x0, y0)

α

α+45o

α-45o

L

x1 = x0 + L·cos(α)
y1 = y0 – L·sin(α)

наклон «дочерних» деревьев

α + π/4
α – π/4

alt: Процедура угол α длина ствола procedure

description:
132

Процедура

угол α

длина ствола

procedure Pifagor(x0, y0, a, L: real;
                  N: integer);
const k = 0.6;    { изменение длины }
var x1, y1: real; { локальные переменные }
begin
  if N > 0 then begin
     x1 := x0 + L*cos(a);
     y1 := y0 - L*sin(a);
     Line (round(x0), round(y0),
           round(x1), round(y1));
     Pifagor (x1, y1, a+pi/4, L*k, N-1);
     Pifagor (x1, y1, a-pi/4, L*k, N-1);
  end;
end;

рекурсивные вызовы

закончить, если N=0

Рекурсивной называется процедура, вызывающая сама себя.

alt: Программа program qq; procedure

description:
133

Программа

program qq;
  procedure Pifagor(x0, y0, a, L: real;
                    N: integer);
  ...
  end;
begin
  Pifagor (250, 400, pi/2, 150, 8);
end.

угол α

длина ствола

число уровней

x0

y0

 Pifagor (250, 400, 2*pi/3, 150, 8);

alt: Используя рекурсивную процедуру, построить фигуру: «5»:

description:
134

«4»: Используя рекурсивную процедуру, построить фигуру:

«5»: Используя рекурсивную процедуру, построить фигуру:

Задания

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

description:
135

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

Тема 11. Анимация

alt: Анимация Анимация (англ. animation ) – оживление изображения на экране

description:
136

Анимация

Анимация (англ. animation) – оживление изображения на экране.
Задача: внутри синего квадрата 400 на 400 пикселей слева направо двигается желтый квадрат 20 на 20 пикселей. Программа останавливается, если нажата клавиша Esc или квадрат дошел до границы синей области.

Проблема: как изобразить перемещение объекта на экране?
Привязка: состояние объекта задается координатами (x,y)
Принцип анимации:
рисуем объект в точке (x,y)
задержка на несколько миллисекунд
стираем объект
изменяем координаты (x,y)
переходим к шагу 1

alt: Как "поймать" нажатие клавиши?

description:
137

Как "поймать" нажатие клавиши?

Событие – это изменение в состоянии какого-либо объекта или действие пользователя (нажатие на клавишу, щелчок мышкой).
IsEvent – логическая функция, которая определяет, было ли какое-то действие пользователя.
Event – процедура, которая определяет, какое именно событие случилось.

if IsEvent then begin
  Event(k, x, y);
  if k = 1 then
    writeln('Клавиша с кодом ', x)
  else { k = 2 }
    writeln('Мышь: x=', x, ' y=', y);
end;

var k, x, y: integer;

alt: Как выйти из цикла при нажатии

description:
138

Как выйти из цикла при нажатии Esc?

program qq;
var stop: boolean;
    k,code,i: integer;
begin
  stop := False;
  repeat
    if IsEvent then begin
      Event(k, code, i);
      if (k = 1) and (code = 27) then
        stop := True;
    end;
    ...
  until stop;
end.

если что-то произошло...

что произошло?

если нажата клавиша с кодом 27 (Esc), то стоп

True, если надо остановиться

запуск цикла

alt: Процедура (рисование и стирание) procedure

description:
139

Процедура (рисование и стирание)

procedure Draw(x, y: integer; flag: boolean);
begin
  if flag then
    Brush(1, 255, 255, 0)
  else
    Brush(1, 0, 0, 255);
  Rectangle(x, y, x+20, y+20);
end;

(x, y)

(x+20, y+20)

Идеи
одна процедура рисует и стирает
стереть = нарисовать цветом фона
границу квадрата отключить (в основной программе)

рисовать (True) или нет (False)?

рисуем: цвет кисти – желтый

стираем: цвет кисти – синий

только заливка!

alt: Полная программа program qq; var x, y, k, code, i: integer; stop: boolean; procedure

description:
140

Полная программа

program qq;
var x, y, k, code, i: integer;
    stop: boolean;
  procedure Draw(x,y: integer; flag: Boolean);
  begin
  ...
  end;
begin
  Brush(1, 0, 0, 255);
  Rectangle(10, 10, 400, 400);
  Pen(0, 0, 0, 255);
  x := 10; y := 200; stop := false;
  repeat
    if IsEvent then begin
       ...
    end;
    Draw(x, y, True);
    Delay(10);
    Draw(x, y, False);
    x := x + 1;
    if x >= 400-20 then stop := true;
  until stop;
end.

процедура

начальные условия

выход по клавише Esc

выход при касании границы

синий фон

ждем 10 мс

отключить границу

alt: Два квадрата двигаются в противоположном направлении: «5»:

description:
141

«4»: Два квадрата двигаются в противоположном направлении:

«5»: Два квадрата двигаются в противоположном направлении и отталкиваются от стенок синего квадрата:

Задания

alt: Управление клавишами Задача : жёлтый квадрат внутри синего квадрата управляется клавишами-стрелками

description:
142

Управление клавишами

Задача: жёлтый квадрат внутри синего квадрата управляется клавишами-стрелками. Коды клавиш:
			влево – 37		вверх – 38		Esc – 27
			вправо – 39		вниз – 40
Проблема: как изменять направление движения?
Решение:

if {было событие} then begin
  if {нажата клавиша} then begin
    {получить код клавиши - code}
    if code = 37 then x := x – 1;
    if code = 38 then y := y – 1;
    if code = 39 then x := x + 1;
    if code = 40 then y := y + 1;
    if code = 27 then stop := True;
  end;
end;

IsEvent

Event ( k, code, i);
if k = 1 then begin

case code of
  37: x := x – 1; 38: y := y – 1;
  39: x := x + 1; 40: y := y + 1;
  27: stop := True;
end;

если было нажатие на клавишу, …

alt: Программа program qq; var x, y, k, code, i: integer; stop: boolean; begin

description:
143

Программа

program qq;
var x, y, k, code, i: integer;
    stop: boolean;

begin
  ...
  repeat
    Draw(x, y, True);
    Delay(20);
    Draw(x, y, False);

  until stop;
end.

procedure Draw(x,y: integer; flag: Boolean);
begin
  ...
end;

if IsEvent then begin
 ...
end;

процедура

основной цикл

обработка событий

alt: Как убрать мигание? Проблема : даже если не нажата никакая клавиша, квадрат перерисовывается через каждые 20 мс (мигание!)

description:
144

Как убрать мигание?

Проблема: даже если не нажата никакая клавиша, квадрат перерисовывается через каждые 20 мс (мигание!)
Что хочется: не перерисовать квадрат, если не было никакого события
Решение: нарисовать квадрат и ждать события
Новая проблема: как ждать события?
Решение новой проблемы: пустой цикл "пока не случилось событие, ничего не делай":

while not IsEvent do;

description:
145

Программа

program qq;
var x, y, k, code, i: integer;
    stop: boolean;

begin
  ...
  repeat
    Draw(x, y, True);
    while not IsEvent do;

  until stop;
end.

procedure Draw(x,y: integer; flag: Boolean);
begin
  ...
end;

Draw(x, y, False);
Event(k, code, i);
...

while not IsEvent do;

процедура

рисуем квадрат

ждем события

только теперь стираем

alt: Квадрат двигается при нажатии стрелок, однако не может выйти за границы синего квадрата: «5»:

description:
146

«4»: Квадрат двигается при нажатии стрелок, однако не может выйти за границы синего квадрата:

«5»: Квадрат непрерывно двигается, при нажатии стрелок меняет направление и отталкивается от стенок синего квадрата:

Задания

alt: Вращение Задача : изобразить модель вращения

description:
147

Вращение

Задача: изобразить модель вращения Земли вокруг Солнца.
Проблема: движение по окружности, как изменять координаты?
Решение: использовать в качестве независимой переменной (менять в цикле) угол поворота α

(x0, y0)

α

L

(x, y)

x = x0 + L·cos(α)
y = y0 – L·sin(α)

alt: Процедура procedure Draw(x, y: integer; flag: boolean); const r = 10; begin if flag then

description:
148

Процедура

procedure Draw(x, y: integer; flag: boolean);
const r = 10;
begin
  if flag then
    Brush(1, 100, 100, 255)
  else
    Brush(1, 0, 0, 0);
  Ellipse(x-r, y-r, x+r, y+r);
end;

рисовать (True) или нет (False)?

рисуем: цвет кисти – голубой

стираем: цвет кисти – черный

только заливка!

радиус Земли

(x-r, y-r)

(x,y)

(x+r, y+r)

alt: Константы и переменные program qq; const rSun = 60; { радиус

description:
149

Константы и переменные

program qq;
const rSun = 60;   { радиус Солнца}
      L  = 150;    { радиус орбиты Земли }
      x0 = 200;    { координаты центра Солнца}
      y0 = 200;
var x, y,          { координаты Земли }
    k, code, i: integer; { для Event }
    a, ha: real;       { угол поворота, шаг }
    stop: boolean; { признак остановки программы }

begin
  ...
end.

procedure Draw(x, y: integer; flag: Boolean);
begin
  ...
end;

alt: Основная программа program qq;

description:
150

Основная программа

program qq;
...
begin
  Brush(1, 0, 0, 0);  Fill(1,1);
  Brush(1, 255, 255, 0);
  Ellipse(x0-rSun, y0-rSun, x0+rSun, y0+rSun);
  a := 0; ha := 1*pi/180; { начальный угол, шаг 1o за 100 мс}
  stop := false;
  Pen(0,0,0,0);           { отключаем контуры }
  repeat
    x := round(x0 + L*cos(a));
    y := round(y0 - L*sin(a));
    Draw(x, y, True);
    Delay(100);
    Draw(x, y, False);

    a := a + ha;
  until stop;
end.

залить фон черным

рисуем Солнце

новые координаты

поворот на ha

ждем 100 мс

if IsEvent then begin
  Event(k, code, i);
  if (k = 1) and (code = 27) then stop := true;
end;

alt: Изобразить модель Солнца с двумя планетами, которые вращаются в противоположные стороны: «5»:

description:
151

«4»: Изобразить модель Солнца с двумя планетами, которые вращаются в противоположные стороны:

«5»: Изобразить модель системы Солнце-Земля-Луна:

Задания

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

description:
152

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

Тема 12. Функции

alt: Функции Функция – это вспомогательный алгоритм (подпрограмма), результатом работы которого является некоторое значение

description:
153

Функции

Функция – это вспомогательный алгоритм (подпрограмма), результатом работы которого является некоторое значение.
Примеры:
вычисление          ,           ,
расчет значений по сложным формулам
ответ на вопрос (простое число или нет?)
Зачем?
для выполнения одинаковых расчетов в различных местах программы
для создания общедоступных библиотек функций

alt: Функции Задача: составить функцию, которая вычисляет наибольшее из двух значений, и привести пример ее использования

description:
154

Функции

Задача: составить функцию, которая вычисляет наибольшее из двух значений, и привести пример ее использования
Функция:

формальные параметры

function Max (a, b: integer): integer;
begin
  if a > b then Max := a
  else          Max := b;
end;

это результат функции

alt: Функции Особенности: заголовок начинается словом function формальные параметры описываются так же, как и для процедур можно использовать параметры-переменные в конце заголовка через двоеточие указывается тип…

description:
155

Функции

Особенности:
заголовок начинается словом function
формальные параметры описываются так же, как и для процедур
можно использовать параметры-переменные
в конце заголовка через двоеточие указывается тип результата
функции располагаются ВЫШЕ основной программы

alt: Функции Особенности: можно объявлять и использовать локальные переменные значение, которое является результатом, записывается в переменную, имя которой совпадает с названием функции ; объявлять ее

description:
156

Функции

Особенности:
можно объявлять и использовать локальные переменные
значение, которое является результатом, записывается в переменную, имя которой совпадает с названием функции; объявлять ее НЕ НАДО:

alt: Программа program qq; var a, b, max: integer; begin writeln('Введите два числа'); read(a, b); max :=

description:
157

Программа

program qq;
var a, b, max: integer;

begin
  writeln('Введите два числа');
  read(a, b);
  max := Max ( a, b );
  writeln('Наибольшее число ', max );
end.

function Max (a, b: integer): integer;
begin
  ...
end;

c

c

c

фактические параметры

вызов функции

alt: Задания «4»: Составить функцию, которая определяет сумму всех чисел от 1 до

description:
158

Задания

«4»: Составить функцию, которая определяет сумму всех чисел от 1 до N и привести пример ее использования.
    Пример:
	 Введите число:
	 100
	 сумма = 5050
«5»: Составить функцию, которая определяет, сколько зерен попросил положить на N-ую клетку изобретатель шахмат (на 1-ую – 1 зерно, на 2-ую – 2 зерна, на 3-ю – 4 зерна, …)
    Пример:
             	Введите номер клетки:
	 28
	 На 28-ой клетке 134217728 зерен.

alt: Задания (вариант 2) «4»: Составить функцию, которая определяет наибольший общий делитель двух натуральных и привести пример ее использования

description:
159

Задания (вариант 2)

«4»: Составить функцию, которая определяет наибольший общий делитель двух натуральных и привести пример ее использования.
    Пример:
	 Введите два числа:
	 14 21
	 НОД(14,21)=7
«5»: Составить функцию, которая вычисляет функцию синус как сумму ряда (с точностью 0.001)

    Пример:
             	Введите угол в градусах:
	 45
	 sin(45) = 0.707

x в радианах!

alt: Логические функции Задача: составить функцию, которая определяет, верно ли, что заданное число – простое

description:
160

Логические функции

Задача: составить функцию, которая определяет, верно ли, что заданное число – простое.
Особенности:
ответ – логическое значение (True или False)
результат функции можно использовать как логическую величину в условиях (if, while)
Алгоритм: считаем число делителей в интервале от 2 до N-1, если оно не равно нулю – число составное.

count := 0;
for i := 2 to N-1 do
  if N mod i = 0 then
    count := count + 1;
if count = 0 then
     { число N простое}
else { число N составное }

for i := 2 to N-1 do
  if N mod i = 0 then
    count := count + 1;

alt: Логические функции program qq; var

description:
161

Логические функции

program qq;
var N: integer;

begin
  writeln('Введите целое число');
  read(N);
  if Prime(N) then
       writeln(N, ' – простое число')
  else writeln(N, ' – составное число');
end.

function Prime (N: integer): boolean;
var count, i: integer;
begin
  i := 2; count := 0;
  while i*i <= N do begin
    if N mod i = 0 then count := count + 1;
    i := i + 1;
  end;
  Prime := (count = 0);
end;

вызов функции

результат – логическое значение

условие – это логическое значение

alt: Задания «4»: Составить функцию, которая определяет, верно ли, что сумма его цифр – четное число

description:
162

Задания

«4»: Составить функцию, которая определяет, верно ли, что  сумма его цифр – четное число.
    Пример:
	 Введите число:
	 136
     Сумма цифр четная.
«5»: Составить функцию, которая определяет, верно ли, что в заданном числе все цифры стоят по возрастанию.
	Пример:
             	Введите число:
	 258
	 Верно.

Введите число:
528
Неверно.

Введите число:
245
Сумма цифр нечетная.

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

description:
163

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

Тема 13. Случайные числа

alt: Случайные числа Случайные явления : везде… бросание монеты («орел» или «решка») падение снега броуновское движение помехи при телефонной связи шум радиоэфира

description:
164

Случайные числа

Случайные явления: везде…
бросание монеты («орел» или «решка»)
падение снега
броуновское движение
помехи при телефонной связи
шум радиоэфира
Случайные числа – это такая последовательность чисел, для которой невозможно предсказать следующее даже зная все предыдущие.
Проблема: как получить на компьютере?
Возможные решения:
использовать внешний источник шумовых помех
с помощью математических преобразований

alt: Псевдослучайные числа Псевдослучайные числа – это такая последовательность чисел, которая обладает свойствами случайных чисел, но каждое следующее число вычисляется по заданной формуле

description:
165

Псевдослучайные числа

Псевдослучайные числа – это такая последовательность чисел, которая обладает свойствами случайных чисел, но каждое следующее число вычисляется по заданной формуле.
Примеры:
Случайные целые числа [0,m) (линейный конгруэнтный метод)

Случайные вещественные числа [0,1]

Литература:
Д. Кнут, Искусство программирования для ЭВМ, т.2.

дробная часть числа

a, c, m - целые числа

простое число

230-1

например,  k = 5

alt: Распределение случайных чисел Модель : снежинки падают на отрезок [a,b] распределение равномерное неравномерное

description:
166

Распределение случайных чисел

Модель: снежинки падают на отрезок [a,b]

распределение

равномерное

неравномерное

alt: Распределение случайных чисел Особенности : распределение – это характеристика всей последовательности , а не одного числа равномерное распределение одно, компьютерные датчики (псевдо)случайных чисел дают равномерное…

description:
167

Распределение случайных чисел

Особенности:
распределение – это характеристика всей последовательности, а не одного числа
равномерное распределение одно, компьютерные датчики (псевдо)случайных чисел дают равномерное распределение
неравномерных – много
любое неравномерное можно получить с помощью равномерного

a

b

a

b

равномерное распределение

неравномерное распределение

alt: Генератор случайных чисел в Паскале

description:
168

Генератор случайных чисел в Паскале

Целые числа в интервале [0,N]:
  var x: integer;
  ...
  x := random ( 100 );  { интервал [0,99] }
Вещественные числа в интервале [0,1]
  var x: real;
  ...
  x := random;         { интервал [0,1] }

alt: Случайные числа Задача : заполнить прямоугольник 400 на 300 пикселей равномерно точками случайного цвета

description:
169

Случайные числа

Задача: заполнить прямоугольник 400 на 300 пикселей равномерно точками случайного цвета
Как получить случайные координаты точки?
x := random ( 400 );
y := random ( 300 );
Как добиться равномерности?
    обеспечивается автоматически при использовании     функции random
Как получить случайный цвет?
Pen (1, random(256), random(256), random(256));
Point ( x, y );

alt: Программа program qq; var x, y, k, code, i: integer; stop: boolean; begin stop :=

description:
170

Программа

program qq;
var x, y, k, code, i: integer;
    stop: boolean;
begin
  stop := False;
  repeat
    x := random(400);
    y := random(300);
    Pen(1, random(256), random(256), random(256));
    Point(x, y );
    if IsEvent then begin
      Event(k, code, i);
      if (k = 1) and (code = 27) then stop := True;
    end;
  until stop;
end.

случайные координаты

случайный цвет

выход по клавише Esc

alt: Ввести с клавиатуры координаты углов прямоугольника и заполнить его точками случайного цвета

description:
171

«4»: Ввести с клавиатуры координаты углов прямоугольника и заполнить его точками случайного цвета.

«5»: Заполнить треугольник точками случайного цвета (равномерно или неравномерно).
Подсказка: возьмите равнобедренный треугольник с углом 45о.

Задания

(100,100)

(300,200)

title: Паскаль_Основы.ppt


file_name: prepositions of place 2 .pptx

alt: Prepositions of Place

description:
Prepositions of
Place

alt: Where is the cat? On of In front of

description:
Where  is the cat?

On

of
In  front  of

Above

Between

Under

Behind

On the right of

On the left of

In the middle of

in

alt: The cat is…….the sofa on

description:
The cat is…….the sofa

on

alt: The cat is………....…………. the chair on the left of

alt: The cat is………....………….. the cupboard

description:
on the right of

The cat is………....…………..
the cupboard

alt: The cat is…....………….. the table

description:
under

The cat is…....………….. the table.

under

alt: The cat is………....… the bed above

description:
The cat is………....… the bed

above

alt: behind The cat is………....… the ball

description:
behind

The cat is………....… the ball

alt: The cat is..………....….…the television

description:
in front of

The cat is..………....….…the television

alt: The cat is..………....…..the lamps

description:
between

The cat is..………....…..the lamps.

alt: in The cat is.…....…..the box.

description:
in

  The cat is.…....…..the box.

alt: The cat is.…....……………………the street

description:
The cat is.…....……………………the street.

in the middle of

title: Презентация к урока английского языка для 2 класса по теме "prepositions of place 2"


file_name: Цели, задачи и содержание воспитания.pptx

alt: Цели, задачи, содержание воспитания

description: Цели, задачи, содержание воспитания

alt: Искусство воспитания имеет особенность, что почти всем оно кажется делом знакомым и понятным, а иным – даже легким, и тем понятнее и легче кажется оно,…

description:
    Искусство воспитания имеет особенность,
что почти всем оно кажется делом знакомым и понятным, а иным – даже легким, и тем понятнее и легче кажется оно,
чем менее человек с ним знаком, теоретически или практически.
К.Д. Ушинский

alt: Сущность воспитания В широком педагогическом смысле воспитание — это специально организованное, целенаправленное и управляемое воздействие коллектива, воспитателей на воспитуемого с целью формирования у него заданных…

description:
Сущность воспитания

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

В узком педагогическом смысле воспитание — это процесс и результат воспитательной работы, направленной на решение конкретных воспитательных задач

description:
    Содержание воспитания
    представляет собой совокупность целей, ценностей, отношений, ведущих видов деятельности (умственной, духовно-нравственной, трудовой, спортивно-оздоровительной, эстетической, досуговой и т.д.), направленной на развитие познавательной, эмоционально-нравственной и практико-действенной сфер личности ребенка.

description:
Цель воспитания

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

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

alt: •формирование интереса к производственной деятельности; • развитие технических способностей; • развитие нового экономического мышления; • развитие изобретательности; • развитие начал предпринимательства. Задачи трудового воспитания

alt: • укрепление здоровья, правильное физическое развитие; • развитие и совершенствование природных двигательных качеств; • развитие основных двигательных качеств (силы, ловкости, выносливости и др.); • формирование…

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

Задачи физического воспитания

description:
Формирование нравственного сознания (суждений, понятий, взглядов, убеждений);
Воспитание и развитие нравственных чувств;
Выработка умений и привычек нравственного поведения.

Задачи нравственного воспитания

alt: Задачи эстетического воспитания

description:
• формирование эстетических знаний;
• воспитание эстетической культуры;
• овладение эстетическим и культурным наследием прошлого;
• развитие эстетических чувств;
• приобщение человека к прекрасному в жизни, природе, труде;
• формирование эстетического идеала;
• формирование стремление быть прекрасным во всем: мыслях, делах, поступках, внешнем виде.

Задачи эстетического воспитания

alt: Задачи умственного воспитания • усвоение определенного объема научных знаний; • формирование научного мировоззрения; • развитие умственных сил, способностей, дарований; • развитие познавательных интересов; • формирование…

description:
Задачи умственного воспитания

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

description:
ВЫВОД:

            Воспитание обязательно должно стремиться к развитию личности воспитанников, основываясь на их индивидуальных и возрастных особенностях в процессе освоения культуры.

alt: Спасибо за просмотр!

description: Спасибо за просмотр!

title: Презентация "Цели, задачи и содержание воспитания"


file_name: Презентация урока учебной практики по Профессии.pptx

alt: Презентация урока учебной практики по

description:
Презентация урока учебной практики по Профессии: 16.185"Оператор швейного оборудования" Тема урока: «Обработка низа коротких рукавов различными способами».

Подготовила: Силина Наталья Александровна, мастер  производственного обучения ГБПОУ СО «Вольский строительный лицей»

alt: Добро пожаловать в город «Мастеров"

description:
Добро пожаловать в город «Мастеров"

Площадь «Мастеров»

Стадион «Спортивный»

Сквер «Красоты»

Улица «Науки»

Улица «Зеленая»

Площадь добрых советов

alt: Улица «Науки» Какими способами можно обработать низ короткого рукава?

alt: Улица «Науки» К краевым швам относятся

description:
Улица «Науки»

К краевым швам относятся

alt: Улица «Науки» К какой группе относится окантовочный шов?

alt: Улица «Науки» Из предложенных графических изображений машинных швов выберите краевой шов

alt: Краевые швы применяются для оформления краев деталей одежды и для сохранения срезов ткани от осыпания ниток

description:
Краевые швыприменяются для оформления краев деталей одежды и для сохранения срезов ткани от осыпания ниток

Краевые швы

В ПРОСТУЮ РАМКУ

В СЛОЖНУЮ РАМКУ

В КАНТ

ВРАСКОЛ

С ТЕСЬМОЙ

С ЗАКРЫТЫМ СРЕЗОМ

С ОТКРЫТЫМ СРЕЗОМ

С ЗАКРЫТЫМ СРЕЗОМ

С ОТКРЫТЫМ СРЕЗОМ

ОБТАЧНЫЕ

В ПОДГИБКУ

ОКАНТОВАЧНЫЕ

alt: Улица «Науки» Как выполняется шов в подгибку с закрытым срезом?

alt: Улица «Зеленая» Обработка нижнего среза рукава окантовочным швом

description:
      Улица «Зеленая»Обработка нижнего среза рукава окантовочным швом

Последовательность выполнения работы

Графическое изображение

Приметать и притачать один из подогнутых срезов косой бейки к изнанке нижнего среза рукава

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

Настрочить подогнутый край косой бейки на лицевой стороне нижнего среза рукава

alt: Улица «Зеленая» Обработка нижнего среза рукава швом вподгибку с закрытым срезом

description:
Улица «Зеленая»Обработка нижнего среза рукава швом вподгибку с закрытым срезом

Последовательность выполнения работы

Графическое изображение

Заметать нижний срез на изнанку 1 см

Заметать второй раз ещё на 1 см

застрочить на 1 мм от подогнутого среза

alt: Улица «Зеленая» Обработка нижнего среза рукава имитирующей манжетой

description:
Улица «Зеленая»Обработка нижнего среза рукава имитирующей манжетой

Технологическая последовательность выполнения операции

Рисунок

1.   Отложить от нижнего среза рукава (на изнаночной стороне детали) припуск на манжету 6—8 см, провести прямую линию с помощью линейки и карандаша.
     Проложить контрольную линию строчкой прямых стежков по намеченной линии.

2. Сложить рукав лицевой стороной внутрь, уравнять срезы, сметать, стачать. Обработать срезы шва одним из видов обработки срезов, разутюжить шов.

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

description:
Технологическая последовательность выполнения операции

Рисунок

4. Подогнуть обрабатываемый срез еще раз на изнаночную сторону по контрольной линии прямых стежков, заметать. Следить, чтобы строчка прямых стежков располагалась точно на сгибе.

5. Вывернуть рукав на лицевую сторону. Застрочить складку: проложить отделочную строчку (длина стежка 4—5 мм) на расстоянии 7—8 мм от нижнего края рукава по изнаночной стороне детали, начиная от линии шва стачивания. Выполнить закрепку.

6. Удалить нитки строчек временного назначения. Отогнуть манжету вниз, приутюжить.

alt: Правила безопасной работы на швейной машине

alt: Организация рабочего места

description: Организация рабочего места

alt: Основные правила пользования швейной машиной

alt: Стадион Спортивный

description: Стадион Спортивный

alt: Сквер «Красоты» Самоанализ выполненной работы

description: Сквер «Красоты»Самоанализ выполненной работы

alt: Спасибо за урок

description: Спасибо за урок

title: Презентация урока учебной практики


file_name: Презентация Лии по НПК  3 класс.pptx

alt: Научно практическая работа на тему: «Нет жизни на земле без пчел»

alt: Пасека моего дедушки

description: Пасека  моего дедушки

alt: Цель исследования: изучение жизни башкирских пчел и значение пчел в жизни человека

alt: Бурзянский район

description: Бурзянский район

alt: заповедник «Шульган Таш»

description: заповедник «Шульган Таш»

alt: Колодная пасека

description: Колодная пасека

alt: Капова пещера

description: Капова пещера

alt: Экскурсия на колодную пасеку

description: Экскурсия на колодную пасеку

alt: Экскурсия на колодную пасеку

description: Экскурсия на колодную пасеку

alt: Спектакль в школе

description: Спектакль в школе

alt: Наша теплица и улей пчел

description: Наша теплица и улей пчел

alt: Наш опыт Образец №1 Образец № 2

description:
Наш опыт

Образец №1

Образец № 2

alt: Через 5 дней Образец №1 Образец №2

description:
Через 5 дней

Образец №1

Образец №2

alt: Через 30 дней – ОБРАЗЕЦ № 2

description: Через 30 дней – ОБРАЗЕЦ № 2

alt: Финал опыта

description: Финал опыта

alt: Массовая гибель пчел в России 2019год

description: Массовая гибель пчел в России 2019год

alt: ПРЕКРАТИТЬ ВЫРУБКУ ЛЕСОВ

description: ПРЕКРАТИТЬ  ВЫРУБКУ ЛЕСОВ

alt: УВЕЛИЧИТЬ КОЛИЧЕСТВО ЗАПОВЕДНИКОВ

description: УВЕЛИЧИТЬ КОЛИЧЕСТВО ЗАПОВЕДНИКОВ

alt: ОГРАНИЧИТЬ ИСПОЛЬЗОВАНИЕ ЯДОХИМИКАТОВ

description: ОГРАНИЧИТЬ ИСПОЛЬЗОВАНИЕ ЯДОХИМИКАТОВ

alt: ВЫСАЖИВАТЬ БОЛЬШЕ ЦВЕТОВ

description: ВЫСАЖИВАТЬ БОЛЬШЕ ЦВЕТОВ

title: Презентация " Нет жизни на земле без пчел"


file_name: обобщение.pptx

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

description: Межпредметная интеграция на уроках изобразительного искусства как основа формирования инженерногомышления обучающихся   (обобщение опыта работы учителя начальных классовПоплоухиной И.А.)

изобразительное искусство

group: Дисциплины

преподавание

group: Педагогика

title: обобщение работы как учителя начальных классов


file_name: Коллективное творческое дело как средство формирования детского коллектива (2).pptx

description:
Коллективное творческое дело как средство формирования детского коллектива в начальной школе

Выполнила студентка 122 группы: Кириловская Алена
Научный руководитель: Ударцева Е. П.

description:
База ОПР

МБОУ «СОШ № 68». Г. Барнаул, ул. А. Петрова, 130

description:
Этапы ОПР

Констатирующий;
Цель: выявить уровень развития детского коллектива при помощи подобранных методик.
2. Формирующий;
Цель: провести КТД для формирования детского коллектива.
3. Контрольный;
Цель: провести подобранные методики для анализа результатов проведенной работы на двух этапах, узнать эффективность проведенной работы.

alt: Диагностические методики Методика

description:
Диагностические методики

Методика Л.М. Фридмана «Что важнее?»;
   Цель: определить степень и характер ценностно – ориентационного единства.
2. Методика Б.Д. Парыгина «Изучение социально – психологического климата в коллективе»;
Цель: изучить уровень благоприятности ( или неблагоприятности) в ученических коллективах.
3. Методика Сишора – Ханина «Оценка привлекательности классного коллектива».
Цель: изучить уровень привлекательности классного коллектива.

alt: Результаты констатирующего этапа

description:
Результаты  констатирующего этапа

Методика Л.М. Фридмана «Что важнее?»

alt: КТД «Долгое эхо войны» Работы детей

description:
КТД «Долгое эхо войны»

Работы детей

alt: Результаты контрольного этапа Методика

description:
Результаты контрольного этапа

Методика Л.М. Фридмана «Что важнее?»

description:
Сравнительный анализ констатирующего и контрольного этапов

Методика Л.М. Фридмана «Что важнее?»

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

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


file_name: Викторина «Моя Якутия»-нач.классы 2024.pptx

alt: Викторина: «Моя Якутия»

description:
Викторина:
«Моя  Якутия»

alt: Когда мы отмечаем День Республики

description: Когда  мы отмечаем  День Республики Саха (Якутия)?

alt: Ответ: 27 апреля – День Республики

description: Ответ:27 апреля – День Республики Саха (Якутия)

alt: Столица Республики Саха (Якутия)?

description: Столица Республики Саха (Якутия)?

alt: Ответ: город Якутск

description: Ответ:  город Якутск

alt: Основатель города Якутска?

description: Основатель города Якутска?

alt: Ответ: казак-первопроходец -

description: Ответ:   казак-первопроходец - Пётр Иванович Бекетов.

alt: На берегу какой реки стоит город

description: На берегу какой реки стоит город Якутск?

alt: Ответ: река Лена.

description: Ответ: река Лена.

alt: Какие государственные символы есть

description: Какие государственные символы есть РС(Я)?

alt: Ответ: Герб, флаг.

description: Ответ: Герб, флаг.

alt: Объясните значение флага Республики

description:
Объясните значение флага
Республики Саха (Якутия)

alt: Ответ: Флаг имеет 4 горизонтальных полосы: голубой цвет – небо, белый цвет – снежный, холодный северный край, зелёный цвет – символ земли плодородной, леса, тайги,…

description:
Ответ:

Флаг имеет 4 горизонтальных полосы:
голубой цвет – небо,
белый цвет – снежный, холодный северный край,
зелёный цвет – символ земли плодородной, леса, тайги,
красный цвет – символ дружбы, верности и братства народов.
По мифологии народ Саха считает себя «детьми белого солнца». Поэтому на фоне яркого голубого цвета (неба) нарисовано белое солнце.

alt: Сколько улусов в Республике Саха (Якутия)?

alt: Ответ: 34

description: Ответ: 34

alt: Ответ: Михаил Ефимович Николаев

description: Ответ: Михаил  Ефимович  Николаев

alt: Имя Ил Дархана главы Республики

description: Имя Ил Дархана главы Республики Саха РС(Я) ?

alt: Ответ: Айсен Сергеевич Николаев

description: Ответ: Айсен Сергеевич Николаев

alt: Назовите где находится полюс холода?

description: Назовите где находится полюс холода?

alt: Ответ: Оймякон

description: Ответ: Оймякон

alt: Священный столб для коновязи?

description: Священный столб для коновязи?

alt: Ответ: Сэргэ.

description: Ответ: Сэргэ.

alt: Ответ: Театр оперы и балета

description: Ответ: Театр оперы и балета

alt: Как называется национальный праздник у якутов?

alt: Ответ: ыhыах

description: Ответ: ыhыах

alt: Народный танец якутов? (якутский священный танец солнца)

alt: Ответ: Осуохай.

description: Ответ: Осуохай.

alt: Знаменитые скалы на Лене реке?

description: Знаменитые скалы на Лене реке? Самый известный природный парк Якутии.

alt: Ответ: Ленские столбы.

description: Ответ: Ленские столбы.

alt: Чье имя носит Северо-Восточный

description: Чье имя носит Северо-Восточный Федеральный Университет?

alt: Ответ: Максим Кирович Аммосов

description: Ответ: Максим Кирович Аммосов

description: В честь кого названа Национальная библиотека Республики Саха (Якутия) ?

alt: Ответ: Александр Сергеевич Пушкин

description: Ответ: Александр Сергеевич Пушкин

alt: Единственный зоопарк на Северо-востоке страны

alt: Ответ: Орто дойду

description: Ответ: Орто дойду

alt: Самый ценный промысловый зверь

description: Самый ценный промысловый зверь Якутии

alt: Ответ: соболь

description: Ответ: соболь

description: Самый твердый и самый дорогостоящий минерал Якутии

alt: Ответ: Алмаз

description: Ответ: Алмаз

alt: Самый знаменитый напиток Якутии

description: Самый знаменитый напиток Якутии

alt: Ответ: Кумыс

description: Ответ: Кумыс

alt: Животное, являющееся у якутов символом зимы ?

description: Животное, являющееся у якутов символом зимы?

alt: Ответ: Бык

description: Ответ: Бык

alt: Название республиканского детского журнала, выпускаемого на русском и якутском языках?

alt: Ответ: «Колокольчик»

description: Ответ: «Колокольчик»

alt: Якутский музыкальный инструмент

description: Якутский  музыкальный инструмент

alt: Ответ: хомус

description: Ответ: хомус

description: Ответ: Государственный бриллиантовый цирк Якутии

alt: Ответ: Старый город

description: Ответ: Старый город

alt: Ответ: Музей имени Емельяна Ярославского

alt: Ответ: Памятник Абакаяде и Семену

description: Ответ: Памятник Абакаяде и Семену Дежневу. Это памятник олицетворяет взаимосвязь,  дружбу России и Якутии

alt: Ответ: Площадь Победы

description: Ответ: Площадь Победы

alt: Ответ: Символ Якутска Острог (Надвратная башня)

description: Ответ: Символ ЯкутскаОстрог (Надвратная башня)

alt: Ответ: Саха академический театр имени

description: Ответ: Саха академический театр имени П. А. Ойунского

alt: Закончи поговорку: Кто в Якутии не бывал , красоты ………

description: Закончи поговорку: Кто в Якутии не бывал, красоты ………

alt: Ответ: Кто в Якутии не бывал , красоты не видал

description: Ответ: Кто в Якутии не бывал, красоты не видал.

intro: викторина для  учащихся начальных классов

title: Презентация к классному часу, тема: "Моя Якутия"


file_name: Копия Высоцкий и Влади.pptx

description:
Belousova Julia & Spitsina Daria
present

Белоусова Юлия и Спицина Дарья
представляют

alt: joint project the joint project, which is dedicated to… совместный проект, посвященный…

alt: Vladimir Vysotsky and… Владимиру

description:
Vladimir Vysotsky
and…
Владимиру Высоцкому
и …

alt: Marina Vlady Марине Влади

description: Marina Vlady Марине Влади

alt: The star couple

description: The star couple

alt: Звездная пара

description: Звездная пара

alt: More than a dream

description: More than a dream

alt: Больше, чем мечта

description: Больше, чем мечта

alt: The special day The special day

description:
The special day

The special day

The special day

alt: Особый день

description: Особый день

alt: An invisible link

description:
An invisible
 link

alt: Незримая связь

description: Незримая связь

alt: The main love of whole life

description: The main love of whole life

alt: Любовь всей жизни

description: Любовь всей жизни

alt: Thank you for attention! Спасибо за внимание!

title: презентация Высоцкий ,Влади


alt: КГКСКОУ СКОШ 8 вида №1 В ожидании

description:
КГКСКОУ СКОШ 8 вида №1В ожидании 		Рождества

Карепанова
Ольга Викторовна
Педагог дополнительного
образования
I кв.к.

alt: Снег ровным покровом ложится на землю

description: Снег ровным покровом ложится на землю... Морозная звёздная ночь...Кажется, что небо стало ближе. Вся природа погружается в сон, а в сердце загорается огонёк надежды на  то, что мир вокруг нас станет лучше.

alt: Всякий раз, когда мы перешагиваем порог

description: Всякий раз, когда мы перешагиваем порог Нового года, на душе становится особенно тепло, потому что через несколько дней наступит Праздник Рождества!

description: Рождество Христово - удивительное время, когда сердце наполняется ожиданием  Чуда... И это чудо происходит!..

alt: Раньше, по старому календарю,

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

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

alt: В этот день наряжали елку, готовили праздничный стол

description: на окошко ставили игрушки, чтобы младенец Христос заглянул в дом. Этот день наши предки называли «Рождественский сочельник»

alt: рождественский сочельник

description: рождественский сочельник

alt: Когда часы били полночь , вся семья обменивалась подарками, поздравляли друг друга, загадывали желания

description: Когда часы били полночь,  вся семья обменивалась подарками, поздравляли друг друга, загадывали желания. 	Считалось, что на Рождество небо раскрывается земле и силы небесные исполняют все задуманное. Но, необходимое условие при этом – чтобы желание было добрым.

description: Обычай украшать елку родился очень давно.

description:
В глубокой древности люди верили, что за каждым предметом, явлением стоит сверхъестественное существо – дух.
По верованиям, они обитают и в растениях, и в деревьях, особенно в вечнозеленых.  Уж слишком необычным казалась способность этих деревьев оставаться зелеными даже в лютые морозы!
Для того, чтобы умилостивить духов, которые, якобы, могли влиять на жизнь людей, вечнозеленые растения приносили домой, украшали и устраивали вокруг них празднества. С тех пор вечнозеленые растения считают символом обновляющейся жизни.

alt: Технологическая карта

description: Технологическая  карта

title: технология


file_name: Военная форма времен ВОВ.pptx

alt: Военная форма времён Великой Отечественной войны

description: Военная формавремёнВеликой Отечественнойвойны

description:
1941 год

Ефрейтор, Пехота

Ефрейтор — типичный советский солдат срочной службы. Он одет в двубортную шинель темно-серого сукна (оно бывало и бурым, и коричневым) с отложным воротником, скрытой застежкой спереди, отворачивающимися обшлагами, удлиненными и заостренными с задней стороны, и косо прорезанными карманами по бокам.

Сержант, Кавалерия

Сержант одет в стандартное красноармейское обмундирование периода начала войны на Восточном фронте, имеющее некоторые детали, присущие его роду войск (кавалерии). Обычная хлопчатобумажная гимнастерка имела в то время отложной воротник (хотя любопытно, что именно у этого военнослужащего воротник гимнастерки стоячий) и накладные нагрудные карманы с клапаном, застегивавшимся на пуговицу.

description:
1941 год

Ефрейтор, Кавалерия

Кавалерист одет в специальный костюм, предназначенный для переправы через реки, которыми изобиловал Советский Союз. В комплект входили также два весла и щуп для измерения глубины.

Офицер, Пехота

Офицер, одет в самое распространенное зимнее обмундирование Красной Армии, состоявшее из куртки и хлопчатобумажных брюк с подкладкой из толстого слоя простеганной ваты.

alt: Генерал-майор, Пехота, Кавалерия

description:
1941 год

Генерал-майор, Пехота, Кавалерия

Лейтенант, ВВС

Летчик-истребитель одет в довоенное кожаное летное пальто и летный шлем. Обратите внимание на знаки различия на петлицах. Младшие офицеры носили красные эмалевые квадраты (лейтенант — два квадрата) и эмблему — пропеллер с крыльями.

В декабре 1935 г. офицеры Красной Армии для того, чтобы больше выделяться, получили новое обмундирование. В него входил, в частности, однобортный китель с отложным воротником, имевший название френч по имени британского генерала, носившего китель, который был скопирован в царской России для офицеров в период Первой мировой войны.

description:
1942 год

Матрос, ВМФ

Офицер, Пехота, гвардейская мотострелковая дивизия

Офицер Красной Армии, участвовавший в Сталинградской битве. Он одет в ушанку образца 1940 г. и полушубок, поверх которого надет офицерский кожаный ремень с портупеей образца 1935 года.

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

description:
1942 год

Старший политрук, ВВС

Старший политрук (звание, соответствовавшее капитану армейских частей и капитан-лейтенанту ВМФ) в синей повседневной форме ВВС Красной Армии образца 1935 г. Черная выпушка петлиц и отсутствие шевронов на рукавах говорит о его принадлежности к политсоставу.

description:
1943 год

Рядовой, Пехота

Красноармеец одет в стандартное летнее полевое обмундирование, на голове у него - пилотка с красной звездой.
На гимнастерке - погоны. Малиновые выпушки на погонах говорят о том, что это пехотинец.

alt: Сержант, Медслужба Снайпер, Пехота

description:
1943 год

Сержант, Медслужба

Снайпер, Пехота

Война против немецких захватчиков привела к почти тотальной мобилизации советских людей. В армию вступили сотни тысяч женщин, многие из которых сражались на фронте. Женщина-снайпер одета в камуфляжный комбинезон.

Обмундирование для женщин, служивших в Красной Армии, было впервые введено в августе 1941 г., но очень скоро было вытеснено стандартной форменной одеждой. Сержант-медик одета в мужскую гимнастерку со знаками различия и эмблемами рода войск на погонах.

alt: Старшина 2-й статьи, ВМФ Танкист,

description:
1943 год

Старшина
2-й статьи,
ВМФ

Танкист, Бронетанковые войска, 2-й гвардейский танковый корпус

При исполнении служебных обязанностей советские танкисты одевались в темно-синие или черные комбинезоны (хотя во время войны цвета были самыми разнообразными: от черного до серого), а на головах носили коричневые кожаные (позднее — черные матерчатые) шлемы на подкладке со специальными клапанами по бокам, куда могли вкладываться  радионаушники.

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

alt: Лейтенант, ВВС Рядовой, Мотопехота

description:
1944 год

Лейтенант,
ВВС

Рядовой, Мотопехота

Рядовой красноармеец одет в пилотку и водонепроницаемую накидку поверх стандартной полевой формы. Русская плащ-палатка была разработана так, чтобы ее можно было использовать в качестве дождевика. В 1944 г., Красная Армия вела наступление и имела гораздо более эффективную организацию, нежели тремя годами раньше.

Новые правила ношения формы одежды, принятые 6 января 1943 г., привнесли много изменений в обмундирование офицерского состава военно-воздушных сил.

alt: Контр-адмирал, ВМФ Старшина 2-й статьи,

description:
1944 год

Контр-адмирал, ВМФ

Старшина
2-й статьи,
ВМФ

Во время войны тысячам моряков пришлось участвовать в боях на суше. Это происходило не только из-за больших потерь в составе флота в начале войны, но и вследствие трудностей с поддержанием кораблей в боеспособном состоянии и замерзании морей зимой. В обороне Ленинграда приняло участие большинство моряков Балтийского флота.

Адмирал-подводник одет в стандартную повседневную военно-морскую форму. Офицеры советского ВМФ делились на две категории: плавающий состав (строевые офицеры корабельной службы и корабельные инженеры) и вспомогательный состав (офицеры всех остальных флотских служб).

alt: Генерал армии Младший лейтенант,

description:
1945 год

Генерал армии

Младший лейтенант,
Пехота

Принятые в 1943 г. новые правила ношения формы одежды возрождали многие традиционные элементы и были призваны повысить воинский дух и дисциплину в Красной Армии. Прежние петлицы были отменены, и все знаки различия звания были перенесены на погоны, обрамленные выпушками.

Парадная форма цвета морской волны для маршалов и генералов была введена в 1945 г. специально для Парада Победы над нацистской Германией (до революции этот цвет был известен как царский зеленый). Маршалы имели более обильное шитье на воротнике и обшлагах, чем генералы.

title: Военная форма времен ВОВ