Çərşənbə, 25.12.2024, 20:08
İnformatikanın məktəbdə tədrisi
Baş səhifə Qeydiyyat Giriş
e-mail: informatik-az@mail.ru · RSS
Menyu
Fotoşəkillər
Giriş forması
Sorğu
Müəllim kimi informatika dərslərində tez-tez istifadə edirəm:
Cavabların sayı: 9496
Faydalı keçidlər

  • ict.edu.az
  • ict.az
  • telekommunikasiya.edu.az
  • İnf-math.narod.ru
  • Millibyte.az
  • kayzen.az/blog/informatika
  • alqoritm.ucoz.org
  • mincom.gov.az
  • Facebook-da
    Təqvim
    «  Dekabr 2024  »
    B.e.Ç.a.ÇC.a.CŞB
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031
    Təqdimatlar
    Statistika

    Onlayn: 3
    Ziyarətçilərin sayı: 3
    Qeydiyyatdan keçənlərin sayı: 0


     olimpiada-zona-2014
    İnformatika üzrə Respublika Olimpiadasının II rayon turunun məsələləri 
    2013/2014-cü tədris ili
    Yüklə (məsələlərin şərtləri)
    Скачать (условие задач)

    Aşağıda məsələlərin (2014) düzgün həlləri təqdim edilib. Amma ən əvvəl bir neçə qeyd:

     1. İnformatika fənninin bütün Olimpiadalarında proqram kodların düzgünlüyü xüsusi yoxlama proqramı ilə avtomatik yoxlanılır. Bu yoxlama sistemlərdə proqramlara müəyyən tələblər qoyulur:

    a) Çıxış ekranında artıq yazılar olmamalıdır. Məsələn, writeln('Duymenin sixilma sayini daxil et' ); və ya writeln('Cem=',musbet+menfi);

    b) Sonuncu çıxış operatorunda kursor növbəti sətrə keçməlidir.


    2. Yoxlama sistemində elə testlər seçilir ki, onlar "pis”, rasional alqoritmi olmayan proqramda keçmir.

    3. Şagirdlərə və müəllimlərə optimal alqoritmi olan düzgün proqramları təqdim etmək lazımdır.

    4. Olimpiada məsələlərin avtomatik yoxlamasında bütün testlər düzdür və heçnə yoxlamaq lazım deyil. Verilənlərin sərhəd qiymətləri onları yoxlamaq üçün yox, müvafiq alqoritmi seçmək üçün verilir. Buna baxmayaraq, şagirdləri proqramlaşdırmaya öyrədəndə, ilkin verilənləri yoxlamağa tövsiyyə etmək lazımdır.

    Aşağıdakı  proqram kodların nümunələrində bütün ilkin verilənlərin yoxlanması və şərhlər yığışdırılıb (sonuncudan başqa, əvvəl tədim edilmiş proqramda dəyişikliklər edilib). Məsələ 1 və məsələ 2 üçün proqram kodları burada göstərilməyib.  Onların düzgün həlləri müəllimlər tərəfindən göstərilib.

     

    Məsələ 3 Massivdən istifadə etmədən

     Program Zona14_3;

    Var

     min,max,a,i,n:integer;

    BEGIN

     readln(n);

     min:=101; max:=-101;

     for i:=1 to n do

      begin

       readln(a);

       if (a>0) and (a<min) then min:=a;

       if (a<0) and (a>max) then max:=a;

      end;

     writeln(min+max);

    END.

     

    Məsələ 3. Massivdən istifadə olunub

    Program Zona14_3b;

    Var

     a:array[1..100] of integer;

     min,max,i,n:integer;

    BEGIN

     readln(n);

     for i:=1 to n do

     readln(a[i]);

     min:=101; max:=-101;

     for i:=1 to n do

      begin

       if (a[i]>0) and (a[i]<min) then min:=a[i];

       if (a[i]<0) and (a[i]>max) then max:=a[i];

      end;

     writeln(min+max);

    END.

     

    Məsələ 4.

     

    Program Zona14_4;

    Var

      a,b,n,i:integer;

    BEGIN

     readln(n);

     a:=0; b:=1;

     for i:=2 to n do

      begin

       b:=b+a;

       a:=b-a;

      end;

     writeln(a,' ',b);

    END.

     

    Məsələ 5. Sətirlərdən istifadə etmədən.

     Program Zona14_5;

    Var

     a:array[0..9] of byte;

     i,q,k,t:integer;

     n:int64;

    BEGIN

     readln(n);

     for i:=0 to 9 do a[i]:=0;

     k:=0;

     while(n<>0) do

      begin

       q:=n mod 10;

       if (a[q]=0) then

        begin a[q]:=1; INC(k); end;

       n:=n div 10;

      end;

        t:=10-k;

        writeln(t);

       if (t<>0) then begin

       for i:=0 to 9 do

        if (a[i]=0) then write(i,' ');

       writeln;

                      end;

    END.

     

    Məsələ 5. Sətirlərdən istifadə edərək (Etibar Süleymanov)

    var N,reqem: string;

     k,t, i,h,p,L: Integer;

    begin

     reqem:='1234567890';

     Write ('Nomrei daxil edin: ');

     ReadLn (N);

     k:=0;

     L:=length(N);

     for i:= 1 to L do

      begin

       p:= Pos(N[i], reqem);

       if (p=0) then continue;

       Delete(reqem,p, 1);

       k:=k+1;

      end;

      t:=10-k;

      writeln(t);

      if (t<>0) then

       begin

        h:= length (reqem);

        for i:=1 to h do

        write(reqem[i], ' ');

        writeln;

      end;

    end.

    Copyright İsaNaida © 2024
    PYTHON 3.4
    ALPLogo
    Info-Ko
    Fəxr edirik


    Elan
    Bölmələr
    MÜSABİQƏ
    Azərbaycanda İKT
    Axtarış