Инфоурок Информатика Другие методич. материалыКонспект по теме - введение в язык программирования Паскаль

Конспект по теме - введение в язык программирования Паскаль

Скачать материал

Алгоритмический язык Pascal

 

 

 

 

 

 

 

 

 

 

 

 


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

 


Алфавит языка PASCAL

 

Текст PASCAL-программы представляет собой последовательность строк, состоящих из символов, образующих алфавит языка.
Максимальная длина строки -  126 символов.

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Лексическая структура языка

 

Символы из алфавита языка используются для построения базовых элементов PASCAL-программ - лексем.

 

Лексема - минимальная единица языка, имеющая самостоятельный смысл.

 

 

 

 

 

 


 Зарезервированные (служебные) слова:

 

absolute

div

goto

nil

repeat

var

and

do

if

not

set

virtual

array

downto

implementation

object

shl

while

asm

else

in

of

shr

with

assembler

end

inline

ot

string

xor

begin

external

interface

packed

then

 

case

file

 

private

to

 

const

for

interrupt

procedure

type

 

constructor

forward

label

program

unit

 

destructor

function

mod

record

uses

 

 

 

2. Идентификаторы (имена)

 
 

 

 

 

 

 

 

 

 

 


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

Примеры:

 

X

_Beta

программа

Y22M

5ABC

Figure/Fer

RAZMER

Pascal_Basic

INd67

index

_123

Const

Gamma

Y.22

ABCD_1234_EFG

Alfa_Beta

CH Gamma

Dos.Exec


3. Знаки операций

 

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

 

Условное обозначение операции

Наименование операции

+

сложение

-

вычитание

*

умножение

/

деление

div

деление целочисленное

mod

остаток от целочисленного деления

:=

присвоение

=

равно (сравнение)

<> 

не равно (сравнение)

меньше (сравнение)

больше (сравнение)

<=

меньше или равно (сравнение)

>=

больше или равно (сравнение)

not

логическое   НЕ

and

логическое   И

or

логическое   ИЛИ

xor

исключительное   ИЛИ

 

 

5. Разделители

 

Формируются из специальных символов и в основном используются для повышения наглядности текстов программ. Например: (,), “{“, “}”, “;”, пробел “ ”.

 

6. Изображения

 

Группа лексем обозначает числа, символьные строки и некоторые другие значения.

 

Представление чисел

 

 

 

 

 

 

 

 

 

 

 

 

 


Система типов данных Turbo Pascal

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Общая структура программы

Надпись: Program    Имя_программы;

Uses   
Список используемых библиотек ( модулей);   
Label
Список меток в основном блоке программы;
Const
Определение констант программы;
Type
Описание типов;
Var
Определение глобальных переменных программы;

Определение процедур (заголовки и, возможно, тела процедур);

Определение функций  (заголовки и, возможно, тела функций);
Begin

Основной блок программы

End.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Соглашения о переменных

 

Основные характеристики переменной:

 

Имя (идентификатор)

Alpha

Тип переменной

Real

Значение

12.345

Адрес

$1000 : $2A34

                                                           

Имя служит для того, чтобы в программе можно было обратиться к этому объекту (т.е. его идентифицировать).

Задание типа определяет область значений и вид внутреннего представления.

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

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

                                        

Var

     X         :    Real;                 {вещественная переменная}

     I, J, K   :    Integer;                {три целые переменные}

     S1, S2    :    Char;                 {две символьные переменные}

     LOGIC     :    Boolean;                {логическая переменная}

Соглашения о постоянных

 

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

 

Const

Min       =0;                     {целое число}

Max       =500;                   {целое число}

E         =2.7;                   {вещественное число}

SpecChar  =’\’;                   {символ}

HelpStr   =’Нажмите клавишу F1’;   {строка}

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

MaxReal   =1.7e38;                {вещественное число}

 

{определение констант как выражения из чисел, некоторых функций языка и определенных ранее простых констант}

 

            Interval  =    Max - Min;

     Key       =    Chr (27);

     E2        =    E * E;

 

Типизированные константы
(переменные со стартовым значением)

 

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

 

Const

     R    :    Real = 1.1523;

     I    :    Integer = -10;

     S    :    String[10] = ’Привет ! ’;

     Done :    Boolean = True;

 

 

 

 

Операторы Паскаля

 

 

 

 

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

 

Символьный тип (Char)

 

 

 
Надпись: Вызов процедуры

 (Boolean)

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

 

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



Пустой оператор

Не выполняет никаких операций и ничего не изменяет в данных и в программе.

 

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

 

Составной оператор

 

 

 

 


If A > 0 Then begin B:= A + 10; Write(A, B) end

         Else B:= A – 4;

 

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

 


           

 

 

 

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

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

 

Var

     I, J      : Integer;

     X, Y      : Real;

     A, B      : Char;

     P, Q      : Boolean;

 

 

Правильные записи оператора присвоения:

 

P := False;

A := ’+’;

X := I + J mod 7;

Q := Odd ( J + I div 5 );

J  := Round ( X / 2 );

Y := 275;

 

Неправильные записи оператора присвоения:

 

I := 3.375;

B := ’Ha’;

A := +;

X + 3 := Y;

Выражение – конструкция языка, задающая порядок выполнения действий над элементами данных.

Выражение состоит из элементов данных – операндов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Оператор вызова процедуры ввода (чтения) данных

 

обеспечивает ввод данных для последующей их обработки программой.

 

 

Read (параметр1, параметр2, …, параметрN)

 

 

где параметр1, параметр2, …, параметрNпеременные допустимых типов данных.

 

Числовой

(целый, вещественный)

Считывается одно число соответствующего формата и значение его присваивается переменной параметр1.

Знаки пробела или перевода строки перед числом игнорируются

 

Символьный (Char)

Считывается один символ и его значение присваивается переменной параметр1.

 

Строковый (String)

При длине N строковой переменной параметр1 считывается N символов.

 

 

Правила выполнения оператора вызова процедуры Read

 

·         Для числовых значений параметр1, параметр2, …, параметрN набираются на клавиатуре минимум через один пробел.

·         После набора данных для одного оператора вызова  процедуры Read нажимается клавиша ввода Enter.

·         Значения переменных должны вводиться в строгом соответствии с синтаксисом языка Turbo Pascal. Если соответствие нарушено, то возникают ошибки ввода-вывода.

·         Строковые (String) значения при вводе лучше всего располагать в отдельной строке.

 

Пример

 

Var  A    : Integer;

     B    : Char;

     C    : Real;

Begin

     Read (A, B, C);

End.

 

Набираем на клавиатуре:

 

234R  15.7358   <Enter>

 

Оператор вызова процедуры ввода (чтения) строки

обеспечивает ввод данных  для последующей их обработки программой.

 

 

ReadLn (параметр1, параметр2, …, параметрN)

 

 

Сравнение операторов вызова процедур Read и ReadLn

 

Общие свойства:

·         Считывает значение в переменные в том порядке, в каком они указаны в списке ввода.

·         Считывание прекращается после того, как все переменные этого списка получат значения.

 

Отличие:

 

Read

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

 

ReadLn

после выполнения курсор перемещается на начало следующей строки.

 

Примеры

 

Var  A    : Char;

     B    : Integer;

     C    : Real;

Read (a, b, c)      ReadLn (a, b, c)

 

 

Вводимая информация

Результат выполнения процедур

S <пробел> 35 <пробел> -47.82 <Enter>

a = S

b = 35

c = -47.82

 

S <Enter>

35 <Enter>

-47.82 <Enter>

a = S

b = 35

c = -47.82

 

S <пробел> 35 <пробел> -47.82 <пробел> 7 <Enter>

a = S

b = 35

c = -47.82

 

 

Read (a, b, c);

Read (d);

 

23

<пробел>

74

<пробел>

9

<Enter>

82

<Enter>

 

 

 

 

 

 

 

 

a

 

b

 

c

 

d

 

 

ReadLn (a, b, c);

Read (d);

 

23

<пробел>

74

<пробел>

9

<пробел>

82

<Enter>

 

 

 

 

 

 

 

a

 

b

 

c

 

d

 

 

 

Read (a); Read (b); Read (c);

 

1-ый способ

 

23

<пробел>

74

<пробел>

9

<Enter>

 

2-ой способ

 

23

<Enter>

74

<Enter>

9

<Enter>

ReadLn (a); ReadLn (b); ReadLn (c);

 

 

1-ый способ

 

23

<пробел>

74

<пробел>

9

<Enter>

 

2-ой способ

 

23

<Enter>

74

<Enter>

9

<Enter>

 

Оператор вызова процедуры вывода

Выдает на экран значения параметр1, параметр2, …, параметрN в стандартной форме.

 

 

Write (параметр1, параметр2, …, параметрN)

 

Выдает на экран значения параметр1, параметр2, …, параметрN в стандартной форме и в заключение выполняет перевод курсора в первую позицию новой строки.

 

 

WriteLn (параметр1, параметр2, …, параметрN)

 

 

где параметр1, параметр2, …, параметрN - переменная, константа, выражение любого допустимого типа (целый, вещественный, логический, символьный, строковый, диапазон и др.).

Примеры

A := 1; B := 2; C := 3;

 

Write (A); Write (B); Write (C);

 

1

2

3

Write (A,B,C);

 

1

2

3

 

WriteLn (A); WriteLn (B); WriteLn (C);

 

1

2

3

 

WriteLn (A,B,C);

 

1

2

3

 

WriteLn (B, '@', A, 'сумма', C+A);

 

 

 

 

 


2

@

1

с

у

м

м

а

4

 

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

 

1. Параметры определения ширины поля для параметра при печати

 

 

Write (параметр1 : длина, параметр2 : длина, …)

 

 

Длина – целое выражение, определяющее общий размер поля для вывода параметра.

 

Пример

A := 10; B := 2; C := 100;

 

WriteLn (A, B, C);

 

1

0

2

1

0

0

 

WriteLn (A:2, B:2, C:4);

 

1

0

 

2

 

1

0

0

 

WriteLn (A, B:2, C:2);

 

1

0

 

2

1

0

0

 

X := 421.53;

WriteLn (X);

 

 

4

.

2

1

5

3

0

0

0

0

0

0

0

E

+

0

2

 

X := -421.53;

WriteLn (X);

 

-

4

.

2

1

5

3

0

0

0

0

0

0

0

E

+

0

2

 

X := 421.53;

WriteLn (X : 8);

 

 

4

.

2

E

+

0

2

 

 

2. Параметр определения числа знаков после десятичной точки при печати

 

 

Write (параметр1 : длина : количество,  …)

 

 

Количество – целое выражение, определяющее, сколько цифр после десятичной точки выводить для числа с фиксированной точкой.

 

X := 421.53;

WriteLn (X : 7 : 2);

 

 

4

2

1

.

5

3

 

WriteLn (X : 9 : 4);

 

 

4

2

1

.

5

3

0

0

 

WriteLn (X : 6 : 4);

 

 

4

2

1

.

5

3

0

0

 

Оператор условия If

 

 

 

 

 

 

 


Оператор условия If  выполняется следующим образом:

 

·         Вычисляется логическое выражение (булевый тип: True, False),

·         Если значение логического выражения есть True (истина), выполняется <Оператор-1>, указанный после Then,

·         Если значение логического выражения есть False (ложь), выполняется <Оператор-2>, указанный после Else.

 

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

 

If  <Логическое выражение> Then   <Оператор-1> Else  <Оператор-2>;

 

 

 

Блоксхема

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример

 

 

If A>0 Then     C:=A   

Else    C:= Abs(A);

 

Сокращенная форма условного оператора If

 

If  <Логическое выражение> Then   <Оператор-1>;

 

Блок – схема

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример

 

 

C:= A;

If A>0 Then     C:=Abs(A);

 


Задача 1

 

Ввести число. Если это число положительное, то на экран вывести сообщение "Положительное число". Если это число отрицательное, то на экран вывести сообщение "Отрицательное число".

 

 

Исходные данные: А

 

Блок-схема

 

 

 

 

 

 

 

 

 

 

 

 

 


                      Да                                       Нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Program Trial_1;

Var A : Integer;

Begin

    Write ('Введите число'); ReadLn (A);

    If A >= 0 Then WriteLn('Положительное число')

              Else WriteLn('Отрицательное число')

End.

 

 

 

 

Задача 2

 


 

Исходные данные: X

 

Блок-схема

 

 

 

 

 

 

 

 

 

 

                                               Да                                                         Нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Program Trial_2;

Var X : Integer; Y : Real;

Begin

    Write ('Введите число'); ReadLn (X);

    If  X > 5    Then Y:=1/(X-5)

                 Else Y:= 5*X;

    WriteLn (Y)

End.

 

 

 

Циклические вычислительные процессы

 

Если вычислительный процесс содержит многократные вычисления по одним и тем же математическим зависимостям,  то  его  называют циклическим процессом.

Многократно повторяемые участки вычислений называются циклами,  а  переменные,  изменяющиеся  в   цикле,   - переменными цикла (параметрами).

 

Пример

 

Вычислить значение функции  Y = aN, где  а - действительное число с натуральным показателем.

 

Y =    a * a * a * a * a *  … * a

 

 


                                            N

Алгоритм циклической структуры

 

  1. Подготовка  цикла – задание начальных значений переменным цикла перед первым его выполнением.
  2. Тело цикла – действия, повторяемые в цикле.
  3. Модификация  переменных  цикла  перед  каждым  новым  его повторением.
  4. Управление циклом – проверка условия продолжения (или окончания) цикла и переход на начало тела цикла, если выполняется условие продолжения цикла (или выход из цикла по его окончанию).

 

Блок - схема циклического процесса с предусловием

                                               

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Блок - схема циклического процесса с предусловием

 

 

 

 

 

 

 

 


                                                                                                                                 

 

                                                                                  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

1. В языке Pascal различают три вида операторов цикла: 

 

Пузырек для мыслей: облако: While Пузырек для мыслей: облако: Repeat Пузырек для мыслей: облако: For
 

 

 

 


2. Выражение, управляющее повторениями, должно иметь булевский тип.

3. В случае если число повторений оператора (составного оператора) заранее неизвестно, а задано лишь условие его повторения (или окончания) используются операторы while, repeat.

4. Оператор for используется, если число повторений заранее известно.

 

 

 

Оператор цикла с параметром ( For )

Число повторений заранее известно.

Предусматривает повторное выполнение <оператора> с одновременным изменением по правилу арифметической прогрессии значения, присваемого управляющей переменной.

<переменная> - параметр цикла; является переменной порядкового типа;

<выражение-1> - выражение определяет начальное значение параметра цикла;

<выражение-2> - выражение определяет конечное значение параметра цикла;

<оператор> - выполняемый оператор.

 

Порядок выполнения оператора For – to

 

 

 

 

 

 

 


Надпись:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Правила организации цикла:

 

1. Параметр цикла - <переменная>, начальное - <выражение-1>, конечное - <выражение-2> значения должны быть одинакового типа, их тип может быть любым скалярным типов, кроме вещественного.

2. Цикл не выполняется вообще, если:

начальное значение больше, чем конечное для Forto

начальное значение меньше, чем конечное для  For - downto.

3. По окончании цикла значение переменной цикла не определено и не может использоваться в дальнейших вычислениях.

4. После ключевого слова Do может стоять только один оператор.

 

Запрещается

 

1. Изменять переменную цикла.

 

For I := 1 to N do  

    begin

      Y := Y * A;

      I := I + 2

    end;

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

 

goto METKA1;

For I := 1 to N do  

    begin

 METKA1: Y := Y * A;

         I := I + 2

    end;

Пример 1

Вычислить значение функции  , где  а - действительное число с натуральным показателем.

 

Program MULTI_1;

Var A,Y:Real;

    I,N: Integer;

 

Begin

  Write(’Введите число А-’);

  Readln (A);

  Write(’Введите степень числа А - ’);

  Readln ( N );

  Y:= 1;

  For I:= 1 to N do Y:= Y * A;

  Write (’Результат -’ , Y )

End.

 

 

 

Program MULTI_2;

Var A,Y:Real;

    I,N: Integer;

Begin

  Write(’Введите число А-’);

  Readln (A);

  Write(’Введите степень числа А - ’);

  Readln ( N );

  Y:= 1;

  For I:= N downto 1 do Y:= Y * A;

  Write (’Результат -’ , Y )

End.

 

 

Оператор цикла с предусловием (While)

 

 

 

 

 


Предусматривает повторное выполнение <оператора>.

Перед каждым очередным выполнение производится проверка значения <логического выражения>, которое служит критерием повторения.

Если это выражение имеет значение:

            True, то выполняется очередная итерация;

            False, то выполнение оператора цикла заканчивается.

 

Если <логическое выражение> с самого начала имеет значение False, то цикл не выполняется ни разу.

 

Пример

 

Дано число N. Подсчитать количество цифр данного числа.

 

 

Блок - схема циклического процесса с предусловием

 

 

 

 

 

 

 


                                                                                                                                 

 

                                                                                         

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Program DemoWhile;

Var M, N : LongInt;

    K   : Byte;

Begin

    WriteLn (' Введите целое число ');

    ReadLn (N); M:= abs(N);

    K:= 0;

    While M<>0 do

         begin

             Inc(K);

             M:= M div 10

         end;

    WriteLn ('В числе  ', N, ' -- ', K, ' цифр ')

End.

 

Оператор цикла с постусловием Repeat

 

 

 

 

 


Предусматривает повторное выполнение <операторов>.

 

Отличается от While, тем, что условие проверяется после выполнения очередной итерации и критерием прекращения цикла является равенство <логического выражения> константе True.

 

Если <логическое выражение> имеет значение False, то цикл повторяется.

 

Гарантируется хотя бы одно выполнение цикла.

 

Пример

 

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

 

Блок - схема циклического процесса с постусловием

 

 


                                                                                                                     

 

                                                                                  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Program DemoRepeat;

Var

    X   : Integer;

    Sum : Real;

Begin

    Sum := 0;

    Repeat                   

         Write( ' Значение X= ' );

         Readln(X);  

         If X <> 999 then Sum:= Sum+X;

    until X = 999;               

    Writeln( ‘ Сумма введенных чисел = ', Sum );

End.

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Конспект по теме - введение в язык программирования Паскаль"

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Менеджер бизнес-процессов

Получите профессию

Методист-разработчик онлайн-курсов

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

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

 


Алфавит языка PASCAL 

 

Текст PASCAL-программы представляет собой последовательность строк, состоящих из символов, образующих алфавит языка.
Максимальная длина строки -  126 символов.

Лексическая структура языка

 

Символы из алфавита языка используются для построения базовых элементов PASCAL-программ - лексем.

 

Лексема - минимальная единица языка, имеющая самостоятельный смысл.

 

  Зарезервированные (служебные) слова:

 

absolute

div

goto

nil

repeat

var

and

do

if

not

set

virtual

array

downto

implementation

object

shl

while

asm

else

in

of

shr

with

assembler

end

inline

ot

string

xor

begin

external

interface

packed

then

 

case

file

 

private

to

 

const

for

interrupt

procedure

type

 

constructor

forward

label

program

unit

 

destructor

function

mod

record

uses

 

 

 

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 663 508 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 08.01.2015 695
    • DOCX 246.5 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Накишева Салтанат Бакытбековна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    • На сайте: 8 лет и 9 месяцев
    • Подписчики: 0
    • Всего просмотров: 1624
    • Всего материалов: 2

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Интернет-маркетолог

Интернет-маркетолог

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Специфика преподавания информатики в начальных классах с учетом ФГОС НОО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 39 человек из 20 регионов
  • Этот курс уже прошли 284 человека

Курс повышения квалификации

Методы и инструменты современного моделирования

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 36 человек из 19 регионов
  • Этот курс уже прошли 69 человек

Курс повышения квалификации

Применение компьютерных моделей при обучении математике и информатике в рамках ФГОС ООО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 49 человек из 28 регионов
  • Этот курс уже прошли 178 человек

Мини-курс

Основы гештальт-терапии: история и теория

5 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 42 человека из 21 региона
  • Этот курс уже прошли 16 человек

Мини-курс

Детское развитие: ключевые моменты взаимодействия с детьми и подростками

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 307 человек из 68 регионов
  • Этот курс уже прошли 169 человек

Мини-курс

Политическое проектирование и международные отношения"

4 ч.

780 руб. 390 руб.
Подать заявку О курсе