48772

Система моделирующая движение молекул идеального газа в замкнутом пространстве

Курсовая

Информатика, кибернетика и программирование

Моделирование движения молекул газа. Выполнить моделирование поведения молекул в прямоугольном сосуде, разделенном подвижной вертикальной перегородкой с отверстием.

Русский

2013-12-15

111 KB

16 чел.

Аннотация.

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

ЗАДАНИЕ (вариант 21).

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

1. Системный анализ.

Выпишем  факты:

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

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

Стенка: в прямоугольном сосуде; молекулы отражаются от стенок без потери энергии.

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

Молекула: молекулы отражаются от стенок без потери энергии; молекулы отражаются  друг от друга без потери энергии.

  1.  Стенка(Wall)
  •  Атрибуты:

длина (length)

         угол(anglе)

  1.  Перегородка(Barrier)
  •  Атрибуты:

        Величина отверстия(delta)

  •  Действия:

        изменить размер отверстия(hole_scale)

        двигать перегородку(move)

  1.  Молекула(Ball)
  •  Атрибуты:

         координаты центра(centreX,centreY)

         угол(angl)

         радиус(radius)

  •  Действия:

         двигать шар(move)

         установить значение угла движения(set_angl)

         установить значение радиуса(set_radius)

         установить значение координаты Х(set_centreX)

         установить значение координаты Y(set_centreY)

  •  Сообщения др объектам:

         ударить шар в другой шар(hit)

         ударить шар в стенку(hit_on_wall)

         ударить шар в перегородку(hit_on_barr)

к данному словарю предметной области следует сделать некоторые уточнения: 1) величина отверстия delta имеет начальное значение 40 и при изменении изменяется пошагово причём шаг равен 5;      2)в реальном мире скорость молекулы зависит от её кинетической энергии, но в задаче оговорено, что при столкновениях энергия молекулы не изменяется, а значит и скорость остаётся постоянной поэтому примем скорость молекулы velo=6; 3)абстракция сущности молекулы angl отвечает и за угол движения и за направление движения. 

 

                                                                         Ball

     

    1..n   1..n

                                                     1     

                 1

                                             

                               Wall                                                               Barrier  

Рисунок1.   Диаграмма классов на стадии анализа

            TheWall:Wall

          

              PassivBall:Ball        

                                       hit(PassivBall)                                       

ActivBall:Ball

hit_on_barrier()

     TheBarrier:Barrier      

Рисунок2.Диаграмма объектов на стадии анализа

Функции системы:

  1.  Управление моделированием осуществляется при помощи команд вводимых с клавиатуры: кнопка «вправо» – перемещение подвижной перегородки вправо, кнопка «влево» - перемещение подвижной перегородки влево, кнопки «серый плюс» и «серый минус» (на дополнительной клавиатуре) – соответственно увеличение и уменьшение размеров отверстия в перегородке.  Перед началом моделирование задаётся количество моделируемых молекул , также путём ввода с клавиатуры.  Выход из программы происходит при нажатии клавиши ESC
  2.  Отображение на экране компьютера перемещения молекул, результатов их столкновений со стенками, перегородкой и между собой

Эксплуатационные требования:

  •  технические средства – IBM PC  486DX2(66МГц)
  •  операционная система – MS DOS
  •  процесс моделирования управляется одним оператором.

2.  проектирование.

Идентификация содержания классов.

Класс Wall.  Реализует понятие “стенка сосуда”, объекты этого класса ограничивают рабочее поле на котором происходит моделирование. Стенки различаются длиной и углом (вертикальные и горизонтальные) оперируя с этими параметрами моделируем «сосуд».

Класс Barrier.  На первый взгляд кажется логичным наследовать этот класс от Wall, но из-за специфического поведения объектов этого класса наследование становится не удобным.  Атрибутами в этом классе являются координаты центра перегородки, и в они же являются центром отверстия, что делает удобной работу с составным объектом этого класса.

Класс Ball.   Основной класс, описывающий вид и поведение молекулы.  В этой работе молекулы представляются в виде окружностей постоянного радиуса( отсюда Ball) что требует введения атрибутов centreX и centreY – как координат центра окружности, и radius – радиуса молекулы.   Атрибут angl изменяется при столкновении молекулы с чем-либо и задаёт направление движения.

Идентификация связей между классами и объектами.

Класс Barrier. Объекты данного класса взаимодействуют с объектами класса Ball., при этом они передают им свои параметры, соответственно вводим функции getcx(), getcy(), getdelta()  возвращающие координаты центра перегородки и радиус отверстия.

Класс Ball. Имеет общедоступный метод изменения любого поля – set(), который используется при инициализации.

     1            1

                   Wall         1        1.N                     Ball  1..N 1      Barrier

Рисунок 3. Диаграмма классов на этапе проектирования

                 TheWall:Wall

     PassivBall:Ball

                                                                          P  

       Hit_on_wall()                 Hit(PassivBall)

                                                               getcx(),      getcy(),     getdelta()

          TheBarrier:Barrie

  ActiveBall:Ball

Рисунок 4. Диаграмма объектов на стадии проектирования

ActiveBall:Ball                  TheBarrier:Barrier                PassivBall:Ball

                      getcx()

                      getcy()

                     getdelta()

                   

                                                                               Hit(PassivBall)

Рисунок 5. Диаграмм взаимодействия на стадии проектирования

Диаграмма модулей в данной курсовой работе смысла не имеет т.к. все классы и функции находятся в одном одуле .

3.  Программирование.

Программирование производится на языке С++.  Основу для программирования составляют диаграммы и спецификации этапа проектирования.

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

Класс «Стенка»

class Wall

{

 protected:

int length; // длина стенки

int angle; // угол стенки ( 0 или 90);

int x,y;

 public:

Wall(int l, int a)

  {length = l; angle = a;}

void show(int ix,int iy); // нарисовать стенку

 };

       

 Класс «Перегородка»

class Barrier

 {

protected:

 int cx;  // координаты центра

   int cy; //

 int delta; // радиус отверстия в перегородке

public:

 Barrier(int icx, int icy, int d){delta = d;cx=icx;cy=icy;}

 void hide( int ix,int iy); //скрыть перегородку

 void show( int ix,int iy);//нарисовать перегородку

 int hole_scale(int dy); // изменение радиуса отверстия в перегородке

  void move(int dx); // переместить перегородку

 int getcx(){return cx;}

 int getcy(){return cy;}

 int getdelta(){return delta;}

};

Класс «Молекула»

class Ball

 {

protected:

 int centreX;//координаты центра

 int centreY;

 int radius;//радиус молекулы

 double angl;//угол определяющий направление движения молекулы

public:

 Ball() {;}

 void show();

 void hide();

 int move(); //переместить молекулу

 int hit(Ball b2);//столкновение с др молекулой

 int hit_on_wall();//столкновение со стенкой

 void hit_on_barr(int x,int y,int d); // столкновение с перегородкой

void set(int bool,int value) //функция инициализирующая поля класса (в зависимости от значения bool)

{

if(bool==1) radius = value;

if(bool==2) centreX = value;

if(bool==3) centreY = value;

if(bool==4) angl =1.0*value;

}

 };

4.  Тестирование.

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

Спецификация метода int Ball::hit_on_wall()

Имя -   hit_on_wall()

Назначение – изменить угол движения молекулы

Входные параметры -  centtreX, centreY – координаты центрамолекулы  

                                       аngl – угол движения молекулы.

Выходные параметры - centtreX, centreY – координаты центрамолекулы  

                                       аngl – угол движения молекулы.

Особые ситуации – нет

Вызываемые модули – нет.

 

Ситуации:

  1.  молекула ударяется в верхнюю стенку -  угол отрицателен     
  2.  молекула ударяется в левую стенку -  угол отрицателен       
  3.  молекула ударяется в правую стенку -  угол отрицателен          
  4.  молекула ударяется в нижнюю стенку -  угол положителен          
  5.  молекула ударяется в правую стенку -  угол положителен          
  6.  молекула ударяется в левую стенку -  угол положителен          

Эффекты:

  1.  при ударе о стенку угол меняет знак и становится отрицательным
  2.  при ударе о стенку угол меняет знак и становится положительным
  3.  при ударе о стенку угол не меняет знак

Примечание: 1)во всех случаях значение угла по модулю изменяется

                        2) ни какие две ситуации не могут существовать одновременно

         1

         2                                   b

         3         V

                                c

         4

         5       V

                                            a                 

         6

Рисунок 6.Функциональная диаграмма

 Таблица1. Таблица решений  

Тесты

Ситуац

1

2

3

4

5

6

1

I

S

S

S

S

S

2

S

I

S

S

S

S

3

S

S

I

S

S

S

4

S

S

S

I

S

S

5

S

S

S

S

I

S

6

S

S

S

S

S

I

Эффект

A

A

A

A

P

A

A

B

P

A

A

A

A

A

C

A

P

P

A

P

P

S- состояния нет

I- состояние есть

A- эффекта нет

P- эффект есть

Исходя из данной таблицы видно, что в принципе достаточно трёх тестов.

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

Входные данные

Выходные данные

Ожидаемый выход

1

Angl = 60.000000

Angl = -60.000000

Angl = -60.000000

2

Angl = -60.000000

Angl = 60.000000

Angl =60.000000

3

Angl =60.000000

Angl = 120.000000

Angl = 120.00000

Таблица2. Таблица тестов

Теперь изобразим приближенный алгоритм функции

                  

           вход

          А

     angl= 180.0-(angl)

     Б  

   angl= 0.0-(angl)

                                                                                                                        выход

Рисунок7. Блок-схема метода hit_on_wall().

    

А = (25 >= centreX) или (centreX >= 600)

Б = (15 >= centreY) или (centreY >= 450)

Таблица3. Матрица ветвей            

Тесты

1

2

3

А

Да

Х

Х

Нет

Х

Б

Да

Х

Нет

Х

Х

При возникновении ситуации А – Нет, а  Б- Да, будет получена ситуация сначала  как в тесте №1, а затем как в тесте №2

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

Заключение.

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

Список литературы.

  1.  Методические указания к курсовой работе по дисциплине технология программирования. Составители: И.Р. Дубов, В.А. Барков, А.Г. Долинин.  Владимир:1999г
  2.  Лекции по дисциплине технология программирования  (преподаватель И.Р. Дубов)         Желонкина Н.В.

Приложение 1.

#include<graphics.h>

#include<dos.h>

#include<bios.h>

#include<math.h>

#include<iostream.h>

#include<stdlib.h>

#include<conio.h>

#define Pi  0.01745 // константа для перевода градусов в радианы

#define color BLACK // основной цвет

#define velo 6 // скорость молекулы

//*************************Класс «Стенка»************************

class Wall

{

 protected:

int length;

int angle;

int x,y;

 public:

Wall(int l, int a)

  {length = l; angle = a;}

void show(int ix,int iy); // нарисовать стенку

 };

void Wall::show( int ix,int iy)

 {

setcolor(15);

if( angle == 0)  // в зависимости от значения угла рисовать горизонтальную или вертикальную стенку

             bar(ix-5,iy-5,ix+length,iy);

else bar(ix-15,iy-5,ix,iy+length);

setcolor(color);

 }

//*************************Класс «Перегородка»**********************

class Barrier

 {

protected:

 int cx;  // координаты центра

   int cy; //

 int delta; // радиус отверстия в перегородке

public:

 Barrier(int icx, int icy, int d){delta = d;cx=icx;cy=icy;}

 void hide( int ix,int iy); //скрыть перегородку

 void show( int ix,int iy);//нарисовать перегородку

 int hole_scale(int dy); // изменение радиуса отверстия в перегородке

  void move(int dx); // переместить перегородку

 int getcx(){return cx;}

 int getcy(){return cy;}

 int getdelta(){return delta;}

};

void Barrier :: hide(int ix,int iy)

 {

setcolor(color);

line(ix,iy,ix,cy-delta);

line(ix,cy+delta,ix,460);

setcolor(15);

 }

void Barrier :: show(int ix,int iy)

 {

setcolor(15);

line(ix,iy,ix,cy-delta);

line(ix,cy+delta,ix,460);

setcolor(color);

 }

int Barrier::hole_scale(int dy)

 {

 delta=delta+dy;

 setcolor(color);

 line(cx,cy-delta,cx,cy+delta);

 setcolor(15);

 show(cx,10);

 }

void Barrier::move(int dx)

 { hide(cx,10);

   cx=cx+dx;

   show(cx,10);

 }

//************************************Класс «Молекула»*********************************

class Ball

 {

protected:

 int centreX;//координаты центра

 int centreY;

 int radius;//радиус молекулы

 double angl;//угол определяющий направление движения молекулы

public:

 Ball() {;}

 void show();

 void hide();

 int move();

 int hit(Ball b2);//столкновение с др молекулой

 int hit_on_wall();//столкновение со стенкой

 void hit_on_barr(int x,int y,int d); // столкновение с перегородкой

void set(int bool,int value) //функция инициализирующая поля класса (в зависимости от значения bool)

{

if(bool==1) radius = value;

if(bool==2) centreX = value;

if(bool==3) centreY = value;

if(bool==4) angl =1.0*value;

}

 };

void setnewfill(int fst,int col){setfillstyle(fst,col); setcolor(col);}

/****************Show()*******************/

void Ball::show()

 {fillellipse(centreX,centreY,radius,radius);}

/****************Hide()*******************/

void Ball::hide()

 {setnewfill(0,0);show();setnewfill(1,15);}

/****************Move()*****************/

int Ball::move()

 {

hide();

centreX = centreX + velo*1.0*cos(angl*Pi);//перемещение по оси Х

centreY = centreY + velo*1.0*sin(angl*Pi); //перемещение по оси Y

  if(hit_on_wall()==1) // если есть удар о стенку – отскочить (изменяется угол движения)

                    {centreX = centreX + velo*1.0*cos(angl*Pi);

        centreY = centreY + velo*1.0*sin(angl*Pi);}

show();

 }

/**************Hit()********************/

int Ball::hit(Ball b2)

{

if((abs(centreX-b2.centreX))<2.5*radius)              // если расстояние между центрами молекул по обеим осям

   if  ((abs(centreY-b2.centreY))<2.5*radius)        // меньше диаметра – изменить угол движения

       { if ((b2.angl==180)||(b2.angl==0))b2.angl=-angl;

 if((angl==180)||(angl==0))angl = -b2.angl;

 b2.angl=(angl+b2.angl)+b2.angl;

 angl=b2.angl+angl+angl;

      }//конец двойного условия

}

/******************Hit_On_Wall()******************/

int Ball::hit_on_wall()

{

// столкновение с вертикальными стенками

if ((25 >= centreX) || (centreX >= 600))

{

angl= 180.0-(angl); return 1;

}

// столкновение с горизонтальными стенками

if ((15 >= centreY)||(centreY >= 450))

{

 angl = 0.0-angl;return 1;

}

return 0;

}

/*******************Hit_On_Barr()*************/

void Ball::hit_on_barr(int x,int y,int d)

{

if((centreY-radius<(y-d))||(centreY+radius>(y+d))) //попадает ли молекула в отверстие

 if (abs(x-centreX)<=velo+radius) angl= 180.0-angl; // если не попадает, но находится у перегородки – отскочить  

}

/******************************Головная программа****************************************/

/***************************************************************************************/

int main()

{   int n;

cout<<"‚ўҐ¤ЁвҐ зЁб«® ¬®«ҐЄг: ";

cin>>n;

cout<<"ЏаҐ¦¤Ґ 祬 ­ з вм а Ў®вг б Їа®Ја ¬¬®© Їа®звЁвҐ нв®!!!! "<<endl;

cout<<"1) —в®Ўл Ё§¬Ґ­Ёвм Ї®«®¦Ґ­ЁҐ ЇҐаҐЈ®а®¤ЄЁ,ЁбЇ®«м§г©вҐ Є­®ЇЄЁ "" <= ""Ё"" => """<<endl;

cout<<"2) —в®Ўл Ё§¬Ґ­Ёвм ўҐ«ЁзЁ­г®вўҐабвЁп ў ЇҐаҐЈ®а®¤ЄҐ ЁбЇ®«м§г©вҐ "" + ""Ё"" - ""­             ¤®Ї®«­ЁвҐ«м­®© Є« ўЁ вгॠ"<<endl;

cout<<"3) „«п ўл室  Ё§ Їа®Ја ¬¬л ЁбЇ®«м§г©вҐ Є­®ЇЄг Esc  ";

delay(10000);

int gdriver=DETECT,gmode;

Ball B[255];  // статический массив молекул

for (int j=0; j<=n ; j++) // цикл инициализации свойств молекул – объектов

{

B[j].set(1,2); // установка радиуса

B[j].set(2,50+15*j); //

B[j].set(3,50+19*j);//

B[j].set(4,30+15*j);//установка угла

}

Wall W1(600,0);     //

Wall W2(450,90);  //

Wall W3(600,0);   //Инициализируем стенки

Wall W4(450,90);//

Barrier Barr(300,220,40); // и перегородку

initgraph(&gdriver,&gmode,"c:\\bc45\\bgi");

//основной цикл, выполнять пока не нажато ESC

while(bioskey(0) != 283)

{

for(int i=0;i<=n+1 && ! kbhit();i++)

{

if(i>n)i=0;

B[i].move();

for(int k=0;k<=n;k++)

{

if(k==i) k++;

B[i].hit(B[k]);

}

B[i].hit_on_barr(Barr.getcx(),Barr.getcy(),Barr.getdelta());

W1.show(20,10);

W2.show(20,10);

W3.show(20,460);

W4.show(620,10);

Barr.show(Barr.getcx(),10);

}

switch (bioskey(0))

{

 case 18989: Barr.hole_scale(-5);break;

 case 20011: Barr.hole_scale(5);break;

 case 19200: Barr.move(-5);break;

 case 19712: Barr.move(5);break;

 default: break;

}

}

closegraph();

}// ************************Конец головной программы*******************

Приложение 2.

#include<stdio.h>

#include<math.h>

#include<iostream.h>

#include<stdlib.h>

#include<conio.h>

#define Pi  0.01745

#define color BLACK

#define velo 6

class Wall

{

 protected:

int length;

int angle;

int x,y;

 public:

Wall(int l, int a)

  {length = l; angle = a;}

void show(int ix,int iy);

  };

void Wall::show( int ix,int iy)

 {

setcolor(15);

if( angle == 0) bar(ix-5,iy-5,ix+length,iy);

else bar(ix-15,iy-5,ix,iy+length);

setcolor(color);

 }

class Ball

 {

protected:

 int centreX;

 int centreY;

 int radius;

 double angl;

public:

 Ball() {;}

 void show();

 void hide();

 int move();

 int hit(Ball b2);

 int hit_on_wall();

 void hit_on_barr(int x,int y,int d);

 double getangle(){return angl;}

 void set(int bool,int value)

{

if(bool==1) radius = value;

if(bool==2) centreX = value;

if(bool==3) centreY = value;

if(bool==4) angl =1.0*value;

}

 };

void setnewfill(int fst,int col){setfillstyle(fst,col); setcolor(col);}

void Ball::show()

 {fillellipse(centreX,centreY,radius,radius);}

void Ball::hide()

 {setnewfill(0,0);show();setnewfill(1,15);}

int Ball::move()

 {

hide();

centreX = centreX + velo*1.0*cos(angl*Pi);

centreY = centreY + velo*1.0*sin(angl*Pi);

if(hit_on_wall()==1){centreX = centreX + velo*1.0*cos(angl*Pi);

centreY = centreY + velo*1.0*sin(angl*Pi);}

show();

 }

int Ball::hit_on_wall()

{

if ((27 >= centreX) || (centreX >= 598))

{

 angl= 180.0-(angl); return 1;

}

if ((15 >= centreY)||(centreY >= 450))

{

 angl = 0.0-angl;return 1;

}

return 0;

}

int main()

{

FILE *stream;

stream = fopen("c:\\losf\\test.dat", "w+");

int gdriver=DETECT,gmode;

Ball B;

B.set(1,2);

B.set(2,50);

B.set(3,50);

B.set(4,60);

Wall W1(600,0);

Wall W2(450,90);

Wall W3(600,0);

Wall W4(450,90);

initgraph(&gdriver,&gmode,"c:\\bc45\\bgi");

for(int i=0; ! kbhit();i++)

{

B.move();

//if (B.hit_on_wall()){

fprintf(stream, "%f \n ", B.getangle());

fprintf(stream, " \n "); //}

delay(10);

W1.show(20,10);

W2.show(20,10);

W3.show(20,460);

W4.show(620,10);

}

fclose(stream);

closegraph();

}

Листинг тестирования

60.000000

-60.000000

60.000000

120.000000

Оглавление.

Аннотация.................................................................................................2

Задание......................................................................................................3

  1.  Системный анализ...............................................................................3
  2.  Проектирование...................................................................................5
  3.  Программирование..............................................................................6
  4.  Тестирование.......................................................................................8

Заключение...............................................................................................10

Список литературы..................................................................................10

Приложения

  1.  Приложение1........................................................................................11
  2.  Приложение2........................................................................................14

16


 

А также другие работы, которые могут Вас заинтересовать

74950. Розв’язування задач на знаходження швидкості, часу та відстані 92 KB
  Мета: Ознайомити учнів зі способами визначення відстані, швидкості та часу; за допомогою пилки» формувати вміння розв’язувати задачі на основі творчих видів роботи; розвивати обчислюванні навички.
74951. Повторення вивченого «Нумерація чисел від 21 до 100» 45 KB
  Кожен герой мультика приготував для вас своє завдання. Увага відгадайте герої якого мультфільму пропонують вам перше завдання звучить пісня Ю. Щоб нікого не образити ми виконаємо і те і те завдання. Фрагмент пісні з Бременських музикантів готові малюнки кожної тварини яка буде пропонувати завдання.
74952. Розв’язування задач на зведення до одиниці. Вправи на засвоєння таблиці множення числа 8. Розпізнання многокутників 32.5 KB
  Удосконалювати вміння учнів розв’язувати задачі на зведення до одиниці; домогтися засвоєння таблиці множення числа 8 напам’ять; закріплювати знання правил порядку дій; розвивати обчислювальні навички та вміння розв’язувати рівняння...
74953. Письменное вычитание трёхзначных чисел. Сложные задачи – цена, количество, стоимость. Геометрический материал 188.5 KB
  Цель: Учить детей письменному вычитанию трехзначных чисел столбиком; закрепить умение делать правильный мотивированный выбор действия в задаче; выбирать арифметическое действие для решения задачи; составлять равенства на умножение деление; классифицировать и обобщать.
74954. Усвоение таблицы умножения и деления. Составление задачи по выражению 56 KB
  Цель. Совершенствовать умение решать выражения на основе знаний таблицы умножения и деления; развивать умение решать уравнения на нахождение неизвестного делителя; закреплять умение составлять и решать задачи по выражению, задачи на приведение к единице...
74955. Повторение табличного деления и умножения чисел 58.5 KB
  Цели и задачи: Образовательные: усвоение полученных знаний, умений и навыков при табличном делении и умножении; Развивающие: развивать наблюдательность и умение рассуждать; развивать математические способности, логическое мышление, внимание и интерес к предмету через игру...
74956. Додавання й віднімання виду 430 + 500, 430 + 50, 760 – 400, 760 – 40. Розширена задача на спосіб зведення до одиниці. Складена задача, яка включає суму двох або трьох доданків 54 KB
  Мета. Закріплювати вміння учнів додавати круглі трицифрові числа різними способами. Працювати над розв’язуванням задач. Розкриватимемо таємниці єгипетських пірамід. Розвивати обчислювальні навички, логічне мислення, пам’ять.
74957. Множення на 0, 1 35.5 KB
  МЕТА: Сформувати вміння та навички учнів при обчисленні прикладів на множення 0, 1; розвивати обчислювальні навички, розвивати пізнавальний інтерес до вивчення математики, виховувати уважність.
74958. Сравнение задач на пропорциональное деление. Деление с остатком трехзначных чисел на круглые десятки 43 KB
  Задачи: Развивать умение решать задачи на пропорциональное деление. Развивать навыки деления трехзначных чисел на круглые с остатком. Развивать логическое мышление, память, внимание. Воспитывать дружеские отношения в соревновании.