UF

                                            Мазмұны

 

Кіріспе .............................................................................................................6

1 Есептің қойылымы  .....................................................................................6

      1.1 Бағдарлама қызметі ............................................................................6

      1.2 Бағдарлама құралдарын таңдау       ..................................................6

2 Бағдарламаны құрастыру және жобалау .................................................10

      2.1 Зерттеу объектісінін талдау ............................................................ 10

  1.  Есеп шешімдерінің алгаритмін құрастыру    ......................11
  2.  Бағдарламаның мәтіні   ........................................................14
  1. Құжаттау ...........................................................................................20
    1.  Бағдарламаушыға нұсқау  ....................................................20
    2.  Пайдаланушыға нұсқау   ......................................................20

Қорытынды ...................................................................................................21

Әдебиеттер тізімі. .........................................................................................22                                  

Қосымша       ..................................................................................................23

 

 

Кіріспе

 

Электронды есептеуші машиналар (ЭЕМ) немесе көбіне аталып жүрген аты-компьютер-адамзаттың ұлы жетістіктерінің бірі болып табылады. ЭЕМ-есептеуді жеңілдетуші және есептеудің әр түрін жүргізуші құрал. Сондықтан болар , кез-келген басқа да құрал-сайман сияқты оның 'тілін' білу қажет. Адам мен ЭЕМ арасындағы байланысты белгілі бір алдын-ала келісіммен алынған шарттар жүйесін беретін нақты бір тіл атқарады Соңғы кездері компьютерлердің небір түрлерінің шығуымен қатар көптеген бағдарламалау тілдері пайда болды. Сондықтан компьютерді бағындырамын деушіге өзінің мүмкіндігіне қарай белгілі бір тіл жүйесін таңдауы қажет. Сонымен, соңғы кезде кеңінен дүние жүзінде тереңірек дамыған бір қатар тілдер бар, олар: Фортран, Бейсик, Паскаль, Си, Ассемблер және тағы басқа. Айта кету керек бір тілді жетік меңгерген адамға басқа тілді түсініп меңгеру қиынға соқпайды.

Қазіргі кезде кеңінен қолданылатын программалау жүйесінің бірі- Turbo Pascal. Turbo Pascal- жоғары  деңгейлі программалау жүйесі. Оның тұңғыш нұсқасын 1970 жылы швейцария физигі Никлаус Вирт ұсынған. Автор тілді алғашқы арифметикалық есептеу машинасын жасаған француздың ұлы ғалымы Блез Паскальдің құрметіне Паскаль деп атап, Тіл атауын үнемі бас әріппен жазылуын сұраған.

Кейіннен тілдің көптеген нұсқалары жарық көреді. Солардың ішінде 1983 жылы Borland корпорациясының талантты қызметкері Андерсон Хейлсбергтің жасаған жаңа үлгісі - Turbo Pascal программалаушылар арасында үлкен сұранысқа ие болды. Оның бұл нұсқасы СР/М операциялық жүйесіне негізделген. 1984 жылдың басында MS DOS жүйесіне ауыстырылғалы бері пайдалану  қарқыны бұрынғыдан да арта түсті. Turbo Pascal - дің жоғарғы деңгейлі логикалық құрылымы әр түрлі есептерді дәл шешуге көмегін тигізеді.

 

 

1 Есептің қойылмы       

                                                                  

 1.1Бағдарлама қызметі

 

Курстық жұмысының бағдарламасында Турбо Паскаль бағдарламалау тілінің графиқалық мүмкіндіктерін пайдалану. Графика арқылы кездейсоқ сандардын орта шектеулі теоремасын көрсете алу. Кездейсоқ сандардын жиынтысында, ыхтималдар теориясы бойынша, белгелі бір зандылықтар бар екені бізге белгілі. Мысал үшін, қасиеттері бердей аi кездейсоқ сандардын соммасы:

                                 

х осін үлкен емес интервалдарға бөлейік, кездейсоқ ξ санының осы интервалда болу мүмкіндік жиілігін есептейік. Егер тэжірибе саны өте үлкен болса, жиілік санының графигі қоңырау тәріздес болып келеді. Курстық жұмысының бағдарламасында айтылған кездейсоқ сандардың берілген интервалға түсу мүмкіндігі графигін- гисторгаммасын динамикалық түрінде көрсету қажет.

Сонымен қатар екі келістілік тербелістердін графигін экран бетіне шығаруға тиістімін. Тербеліс параметрлерін - амплитуда, жиілік саны, фазасы - қолданушы енгізе алу керек. Осы екі тербелістін соммасы және көбитіндісі экран бетіне түсу керек.

Графикалық режимінін инициализациясы GRAPHS.TPU өзіндік модуль арқылы іске асу қажет. GRAPHS модульде графиқалық режимдің іске қосылуы және өшірілуі процедуралары, экран көлемен анықтаушы функциясы және графикалық нүктенін шығару мүмкіндіктері ұйымдастырылу қажет.

Курстық жұмыстын бағдарламасы бірегейленген мәзір арқылы бейнелену қажет. Мысал үшін:

               1-     Курстық жүмыс жайлы

               2-     Есептін қойылысы

               3-     Кездейсоқ сандардың жиілік саны

               4-     Тербеліс графиктері

               5-     Шығу

Көрсетілген мәзір командалары процедура арқылы өңделген жөн.

 

 

1.2  Бағдарлама құралдарын таңдау

Компьютер мониторының жұмыс істеу екі режимі бар, бұл текстік және графикалық.

Текстік режимде экран бетіндегі ең кіші ұғым бұл символ - таңба. Қарапайым жағдайларда экран бетіне тігінен 25 ал көлденен 80 таңба сыйю мүмкіндігі бар.

Графикалық режимінгің негізгі ұғымы- пиксел - графикалық нүкте. Пикселдін мөлшемдері монитордын техникалық параметрлеріне байланысты.

Компьютер құрылымын тестілеп, берілген бейнеадаптеріне қандай графиктік драйвер және режим тиімді екендігін автомат түрінде анықтайтын Detect тұрақтысы пайдаланады: Driver := Detect

Графикалық нүктені экран бетіне бейнелеу үшін PutPixel(x, y: Integer; color: Word) процедурасы қолданылады. Бұл жердегі х, у- графикалық нүктенін координаттары, ал color-түсі.

Берілген бейнеадаптерінің графиктік режимне сәкес экран бетіндегі нүктелердін санын GetMaxX (жатығынан) жэне GetMaxY (тігінен) процедуралар арқылы анықтаймыз.

Экран бетінің түсін орнату үшін SetBkColor (color: Word) процедурасы пайдаланылады. Процедураның мәне 0 ден бастап 15 дейін өзгеру мүмкін. Салыстра келсек CRT модуліндегі TextBackGround() тек қана 0 ден бастап 7 дейінгі мәнге иелене алады.

ClearDevice процедурасы графикалық көрсеткішті координаттар басына орнатып, экран бетін берілген түске бойап, экранды графикалық бейнелерге дайындайды.

Процедура және Функция

Процедура дегеніміз белгілі бір әрекеттерді орындайтын эдинтификаторы берілген программаның тәуелсіз бөлігі. Процедура процедураның тақырыбы мен денесінен тұрады және оның құрылымына қарай жеке дербес программа ретінде қарастыруға болады.

Процедураны негізгі программаның сипаттау бөлімінде 1 рет анықтаған соң оны программаның кез - келген жерінен идинтификаторы арқылы шақыруға болады. Процедура өз мақсатын орындағанан кейін негізгі шақырушы программаның келесі операторынан жалғасып орындала береді.

Программаның ішінде процедура идинтификторын оператор ретінде қолдануы - процедура операторы немесе процедураны шақыру депаталады.

Процедура идентификаторын операндо ретінде қолдануға болмайды.

Параметрлі процедуралар төмендегідей анықталады:

Procedure Р(типтері анықталған формальды параметрлер тізбегі);

Формальды процедураны шақыру келесі түрде орындалады:

Р(нақты параметрлер тізбегі);

Мұндағы нақты параметрлері мен формальды параметрлердің тізбегі өзара сәйкес болуы тиіс. Нақты және формальды параметрлер арасында келесі сәйкестер сақталуы тиіс:

1) Параметрлер саны                                       .

2) Типтері

3) Орналасу реті

Функция түсінігі мен процедура түсінігі бірдей. Функция ұғымының қолдануынын 2 ерекшелігі бар:

1  Функция өзінің жұмысы нәтижесінде шақыру нүктесіне белгілі бір мән қайтарады.

2 Функция идентификаторын есептерде операндо ретінде қолдануға тиісті.

Функция идентификаторы өрнектерде қолданылса онда оны функция көрсеткіші немесе функцияны шақыру операторы деп атаймыз. Функция бағдарламаны сипаттау бөліміне орналасады.

 

Паскаль бағдарламалау тіліндегі модульдер

Модуль айнымалылардың, берілгендердің типының сипаттамасынан және басқа программаларда қолданатын ішкі программалардын сипаттамасынан тұрады. Модуль келесі кілттік сөзден басталады:

Unit unit_Name;

unit_Name- модульдін аты. Модульдін аты мен мольді сақтайтын файлдың аты бірдей болуға тиіс. Модуль үш бөліктен тұрады:

- интерфейс секциясы

- іске асыру секциясы

- инициализация секциясы.

Интерфейс секциясы- interface кілттік сөзден басталып, функция жэне процедуралардын тақырыпшаларынан тұрады. Бұл жерде және басқа программалар және модульдерде пайдалатын колданушылық типтер, айнымалылар болуы мүмкін.

Іске асыру секциясы implementation сөзден бастап жоғарыдағы көрсетілген процедура, функциялардын толық сипаттамасы беріледі.

Инициализация секциясы бос және end сөзінен тұруы мүмкін немесе инициализация амалдарын орындайтын операторлардан тұруы мүмкін.

 

2 Бағдарламаны құрастыру және жобалау

2.1 Зерттеу объектісінін талдау

Курстық жұмыстын сұрақтарын зерттеу нәтижесінде Турбо Паскаль бағдарламалау тілінде DGRAf2.exe файлы құрастырылды. Бұл бағдарламада келесі айнымалылар пайдаланылған. Айнымалылар кесте-2.1 көрсетілген:

 

Кесте 2.1 - Айнымалылар

Аты

Типі

Өлшемі

Ескерту

1

Graph_device

Integr

2 Байт

Графикалық драйверді анықтауға

2

Graph_mode

Integr

2 Байт

Графикалық режимді анықтауға

3

Х,Ү

Real

6 Байт

Графикалық нүктенін координаттары

4

і

Shortlnt

1 Байт

Цикл параметрі

5

U

Array of Word

[1..640]

Тербеліс графигінің у-осі бойынша координаттар

6

Amplitude

Frequency

Phas

Real

6 Байт

Тербеліс графигінің

амплитуда, жиілік жэне

фазасы

7

Time

Real

6 Байт

Тербеліс графигінің шығу жылдамдығы

 

Сонымен қатар курстық жұмысының бағдарламасында Oscill объектісі түзілген. Осы объектінің мәліметтері болып тербеліс параметрлері -amplitude, frequency, phase, ал әдістері болып - инициализация (INIT), тербеліс графигінщ суреттелуі (DRAW), екі графиктін қосындысы (DRAW_Summa) және көбейтіндісі (DRAW_Product) табылады.

type Oscill = object

amplitude, frequency, phase : Real;

 procedure lnit(var amplitude 1, frequency 1, fl : Real);

procedure Draw(time_increment: Real; color, y_Shift : Integer);

procedure Draw_Summa(amplitude2, frequency2, phase2,

      time_increment: Real; color, y_Shift : Integer);

procedure Draw_Product(amplitude2, frequency2, phase2,

      time_increment: Real; color, y_Shift : Integer); end;

 

 

2.2 Есеп шешімдерінің алгаритмін құрастыру

Курстық жымысының нәтижесенде құрастырылған бағдарлама келесі процедура және функциялардан тұрады:

-    NormRand -кездейсоқ сандардын қосындысын анықтайды

-    Hystogram- кездейсоқ сандардын жиілік графигін бейнелейді

-    Oscill.Init-тербеліс графигінін инициализациясы

-    Oscill.Draw- тербеліс графигінің суреттелуі

-    Oscill.Draw_Summa- екі графиктін қосындысы

-    Oscill.DrawProduct- екі графиктін көбейтендісі

-    Menu- курстық жұмыс бағдарламасының мэзірі

-    KG- курстық жұмыс жайлы мәліметтер: кафедраның аты, курстық жұмыстың тақырыбы, студенттің аты-жөні, оқытушының аты-жөні.

-    Sart - курстық жұмыс есебінін қойылымы

-    Неу- кездейсоқ графигін іске қосу

-    Terbelis- тербеліс графигін іске қосу

 

Курстық жұмыстын Dgraf2.pas бағдарламасының жалпы алгаритмі сурет 2.1 көрсетілген.

Курстық жұмыстын бағдарламасыныдағы Иеу процедурасының алгаритмі сурет 2.2 көрсетілген

 

 

Сурет 2.1- Бағдарламаның жалпы алгоритмі

 

 

                                  Сурет 2.2 – Пер процедурасының алгоритмі

 

 

2.3 Бағдарламаның мәтіні

program DGraf2;

 

uses

crt, Graph, graphs;

 

var Nomer: Integer;

amplitude 1, frequency 1, phase 1,

amplitude2, frequency2, phase2 : Real;

type

     Oscill = object

     amplitude, frequency, phase : Real;

     procedure Init(var amplitude 1, frequency 1, fl : Real);

     procedure Draw(time_increment: Real; color, y_Shin : Integer);

     procedure Draw_Summa(amplitude2, frequency2, phase2,

         time_increment: Real; color, y_Shift : Integer);

     procedure Draw_Product(amplitude2, frequency2, phase2,

         time_increment: Real; color, yShift : Integer);

end;

{------muraveinic------}

function NormRand : Real;

var

   s : real;

   i: Shortlnt;

 begin

s := 0;

for i := 1 to 12 do S := s+ Random;

NormRand := s - 6.0;

end,

procedure hystogram;

 var

 Quant, y : array [1..640] of word;

 i,x      : Integer;

 begin

for i := 1 to 640 do Quant[i] := 0;                          •

repeat

 x := GetMaxX div 2 + Round(60 * NormRand);

 Quant [x] := Quant[x] + 1;

 y[x] := GetMaxY - Quantfx];

PutPixel( 10 + x, y[x], Round(Random( 15)));

 until y[x]< 10;

end;

{--------endMuraveinic---------}

       {---------TerbelisGrafikasy------}

Procedure Oscill.Init(var amplitude 1, frequency 1, fl : Real);

begin

  Write('Vvedite amplitudu'); Readln(amplitude);

  Write('Vvedite thastotu '); Readln(frequency);

  Write('Vvedite fazu     '); Readln(phase);

  amplitude 1 := amplitude;

  frequency 1 := frequency;

   phasel     := phase;

end;

 

procedure Oscill.Draw(time_increment: Real; color, y_Shift : Integer);

var

y, time : Real;

begin

time := 0;

 repeat

y := amplitude * sin(frequency * time + phase + pi);

 PutPixel(Round(time), Round(y + yJShift), color);

time := time + time_increment;                                           

until time > 640;

 end;

 

procedure Oscill.Draw_Summa(amplitude2, frequency2, phase2,

      time_increment: Real; color, y_Shift : Integer);

var

     yl, y2, time : Real;

 begin time := 0;                                   

repeat

 yl := amplitude * sin(frequency * time + phase + pi);

 y2 := amplitude2 * sin(frequency2 * time + phase2 + pi);                                                                                                          

PutPixel(Round(time), Round(yl + y2 + y_Shift), color);

 time := time + time_increment;

 until time > 640;

 end;         

                                                 

procedure Oscill.Draw_Product(amplitude2, frequency2, phase2,

    time_increment: Real; color, y_Shift : Integer);

var

yl, y2, time, scale : real;

begin

time := 0;

scale := GetMaxY / (amplitude2 * amplitude * 2);

repeat

 yl := amplitude * sin(frequency * time + phase + pi);

y2 := amplitude2 * sin(frequency2 * time + phase2 + pi);  

PutPixel(Round(time), Round(scale * yl * y2 + y_Shift), color);

time := time + time_increment;

until time > 640;

 end;

 {-------endTerbelisGrafika----------}

var  oscl, osc2 : Oscill;

 

procedure menu;

begin

     clrscr;

     Writeln('l: Kursovay');

     Writeln('2: Esep sarty');

     WritelnCSiIley');

      Writeln('4: Terbelis'); Writeln('5: Sony'); Write('Nomerdi engiz')

end;

 

procedure kg;

 begin

    clrscr;

    Writeln('kafedra ETgBK');

    Writeln('Pascaldagy eki olshemdi grafikany koldanu');

    Writeln('oryndagan: Uksikbaev Gasulan');

    Writeln('kabyldagan: Shaimerdenova L.E.');

    Writeln('ENTER bas');

    Readln;

    Menu;

 end;

 

procedure Sart;

       begin

   clrscr;        

   Writeln('takyryp');     

   Writeln('Sarttar');

   Writeln('Sarttar');

   Writeln('Sarttar');

   WritelnCSarttar');

   WritelnCENTERbas');

   Readln;

   Menu;

   end;

 

Procedure Iley;

begin

   Open _Graph;

   hystogram;

   Readln;

   Close_Graph;

   Menu;

end;

 

procedure Terbelis;

begin

  clrscr;

  oscl.init(amplitudel, frequencyl, phasel);

  osc2.init(amplitude2, frequency2, phase2);

  Open_Graph;

  SetBkColor(ll);

  oscl.Draw(0.01, 12, 150);

  osc2.Draw(0.01,4, 250);

  Readln;

  ClearDevice;

  oscl.Draw_Summa(amplitude2, frequency2, phase2, 0.01, 5, 240);

  Readln;

  ClearDevice;

  oscl.Draw_product(amplitude2, frequency2, phase2, 0.01, 5, 240);

  Readln;

  ClearDevice;

  Close_Graph;

  Menu;

end;

{-------ProgrammaDenesi—}

begin

  Clrscr;                                                                        

  Randomize;

  menu;         

  Repeat

readln(Nomer);

        case Nomer of

             1:KG;

             2:Sart;

             3:Iley;

             4: Terbelis;

           end;

UntilNomer = 5;

end.

 

Графиканы инициализациалау модулі

 

unit graphs;

 

interface

procedure open_graph;

procedure Close_Graph;

function gx(x : Extended; sx : Integer): Integer;

function gy(y : Extended; sy : Integer): Integer;

 

implementation

 

uses Graph;

 

var

     x,y : Extended;

     sx, sy : Integer;

procedure Open_Graph;

var Graph_device, Graph_mode : Integer;

begin

    Graph_device := Detect;

    InitGraph(Graph_device, Graph_mode,");

    if GraphResult o 0 then {osibka bolca}

   begin

   Writeln('Osibka inizialisazii');

   Readln;

   Halt;

  end;

  end;

 

Procedure Close_Graph;

begin                       

CloseGraph;

if GraphResult 0 then {osibka bolca}

begin

Writeln('Osibka zaversenia');

 Readln;

Halt;

 end;

 end;

function gx(x : Extended; sx : Integer):

Integer;

 begin

       gx := trunc(sx * x) + GetMaxX div 2;

end;

 

function gy(y : Extended; sy : Integer): Integer;

begin

gy := GetMaxY div 2 - trunc(sy * y);

end;

end

 

 

3 Құжаттау

3.1 Бағдарламаушыға нұсқау

Курстық жұмысының бағдарламасы Dgraf2.Exe Turbo Pascal 7.0 ортасында компиляцияланған. Сондықтан программадан шыққан қателерді жөндеу үшін Borland Pascal 7.0 программасы қажет.

Курстық жұмысытың бағдарламасында Crt және Graph модулі пайдаланылған.

Программада графикалық режимін орнатудағы мүмкін болатын қателер алдын алынған.

 

3.2 Пайдаланушыға нұсқау

Dgraf2. Exe программасын интерфейсі қарапайым және түсінікті. Қолданушынын әр бір қадамы хабарламалармен қамтылған.

Dgraf2. Exe программасын іске қосамыз. Экран бетіне бас мәзір шығады. Бұл бас мәзір 5 пунктен тұрады.

1  пукті басқан кезде кафедра, курстық жұмыстың тақырыбы, студенттің аты-жөні, оқытушының аты-жөні жайлы мәлімет шығады.

2 пункті басқан кезде есептің қойылымы жайлы мәлімет шығады.

3 пункті басқан кездейсоқ сандардын белгілі интервалдарға түсу жиілігінің графигі бейнеленеді.

4  пункті басқан кезде әуелі сіз екі тербелістін параметірлерін еңгізесіз. Олар тербеліс амплитудасы, жиілігі және фазасы. Enter басқанда экран бетіне екі график бейнеленеді. Және Enter басқанда осы графиктердін косындысы бейнеленеді. Және Enter басқанда осы графиктердін көбейтіндісі бейнеленеді.

5 пункті басқан кезде программадан шығасыз.

Әр бір мэзірден бас мэзірге оралу үшін Enter басу керек.

 

 

Қорытынды

Қазіргі кезде кеңінен қолданылатын программалау жүйесінің бірі- Turbo Pascal. Turbo Pascal- жоғары деңгейлі программалау жүйесі. Turbo Pascal программасында көптеген қиын есептерді оңай жолмен шығаруға болады. Turbo Pascal программасының мүмкіндіктері өте көп.

Курстық жұмыста Turbo Pascal бағдарламалау тілінің графикалық мүмкіндіктері зерттеліп DGraG.pas бағдарламасы кұрастырылды.

Графикалық режимді орнатуы және жабу процедураларын қолдануы GRAPHS модулінде бағдарламаланған.

Тербеліс графигін өңдеу барысында объекттік типы құрастырылып қолданылған.

Курстық жұмыс бағдарамасынын бас мәзірі ішкі программалар -процедуралар арқылы іске асырылған.

Осы жұмыстын нәтижелері болашақ еңбек қызметімде пайда келтіруіне күмәнім жоқ.

 

 

Әдебиеттер тізімі

1.С.А Немнюгин   Turbo Pascal. Програмирование на языке высокого уровня. Москва. Санкт-Петербург. 2-том 2003 жыл

2.А.И.Марченко,  А.А.  Марченко     Програмирование  в  среде Турбо Паскаль Киев, 2000 жыл.

3.Ж.Қ.Масанов, Б.А.Бельгиев, А.С.Бижанова, Қ.Қ.Мақұлов Turbo Pascal. Алматы:'Бастау', 2004 жыл, 2-бөлім.

4.Т.Ж.Ынтымақов, Ә.Ө.Мұртазин    Паскаль тілінің негіздері. Алматы ҚазҮТУ, 1998 жыл.

5. Шаметов.Е.Б. Паскаль тілін үйренейік. Шымкент, 1993 жыл.

6.Н.Культин Turbo Pascal в задачах и примерах. С- Пб., 2001 жыл.

7.Попов.В.Б. Turbo Pascal для школьников. Финансы и статистика, 99 ж.

Мәлімет сізге көмек берді ма

  Жарияланған-2013-06-28 21:53:29     Қаралды-4082

ӘЛЕМДЕГІ ЕҢ ҮЛКЕН ІНЖУ-МАРЖАННЫҢ МӨЛШЕРІ ҚАНДАЙ?

...

Соңғы уақытқа дейін әлемдегі ең үлкен інжу 1934 жылы Оңтүстік Қытай теңізінде Филиппиннің Палаван аралында салмағы 300 кг-нан асатын меруерт табылған

ТОЛЫҒЫРАҚ »

КЛИМАТТЫҚ БЕЛДЕУЛЕР ҚАЛАЙ ЕРЕКШЕЛЕНЕДІ?

...

Жер шарының әртүрлі жерлерінде климат айтарлықтай ерекшеленеді.

ТОЛЫҒЫРАҚ »

ЕГИПЕТТЕ ПИРАМИДАЛАР ҚАЛАЙ САЛЫНДЫ?

...

Мысырдағы Гиза қаласындағы пирамидалар бес мың жыл бойы әлемде бар.

ТОЛЫҒЫРАҚ »

ҚАЙ МЕМЛЕКЕТ ЕҢ КІШІ?

...

Ватикан - ең кішкентай мемлекет, дәлірек айтсақ, қала-мемлекет.

ТОЛЫҒЫРАҚ »

СУДА ҚАЙ ҚАЛА ТҰР?

...

Италияның солтүстігіндегі Венеция қаласы суда орналасқан.

ТОЛЫҒЫРАҚ »

АРАЛ ДЕГЕНІМІЗ НЕ?

...

Сіз оны солтүстік жарты шарда іздеуіңіз керек, аралды екі мұхит - Атлант және Арктика жуады.

ТОЛЫҒЫРАҚ »

КОЛУМБ АМЕРИКАНЫ ҚАШАН АШТЫ?

...

Американың ашылған ресми күні 1492 жылдың 12 қазаны.

ТОЛЫҒЫРАҚ »

ҚАЙ МЕМЛЕКЕТ ҚАТЕЛІКПЕН АТАЛДЫ?

...

Кариб теңізінде Пуэрто-Риконың үлкен аралы орналасқан...

ТОЛЫҒЫРАҚ »

ҚАЙ МАТЕРИКА ЕҢ КІШКЕНТАЙ?

...

Австралия - жер бетіндегі ең кішкентай материк.

ТОЛЫҒЫРАҚ »