Vazifani bajarish uchun nimani bilishingiz kerak. Informatika bo'yicha OGE muammolarini batafsil hal qilish Sanalar jadvali raqam bo'yicha ma'lumotlarni taqdim etadi

Ma'lumotlarni qayta ishlash:

  • Algoritm, algoritmlarning xossalari, algoritmlarni yozish usullari. Oqim sxemalari. Dasturlashga kirish.
  • Algoritmik dizaynlar.

Informatika fanidan asosiy davlat imtihonining (OGE) 10-sonli test topshiriqlari aynan shu mavzular uchun yaratilgan.

10 (B) (1-qism, yuqori daraja - topshiriq imtihon oluvchining javobni belgilar ketma-ketligi shaklida mustaqil ravishda shakllantirish va yozishni o'z ichiga oladi, bajarish vaqti - 6 minut, topshiriqni bajarish uchun maksimal ball - 1). Ushbu topshiriqga javob berishda imtihon paytida o'zlashtirilganligi tekshiriladigan tayyorgarlik darajasiga qo'yiladigan talablar: axborot ob'ektlari va jarayonlarining raqamli parametrlarini, bajarish qobiliyatini baholash. dumaloq robin algoritmi dasturlash tillaridan birida raqamlar massivini qayta ishlash.

Vazifani bajarish uchun nimani bilishingiz kerak:

  • massiv- bu elementning massivdagi o'rnini aniqlovchi indekslar bo'yicha tartiblangan bir xil turdagi elementlar to'plami (nomli to'plam);
  • Uni dasturda ishlatishdan oldin massivni tavsiflash kerak, ya'ni. massiv elementlarining nomi, soni va ularning turi ko'rsatilishi kerak;

var<имя_массива>:massiv [<мин_знач_индекса>. . <макс_знач_индекса> ] ning<тип_элементов>;

Masalan: rekord
var A: butun sonlar massivi;
10 ta butun elementdan iborat A nomli massiv berilganligini bildiradi.

  • Klaviaturadan har bir elementning qiymatini kiritish yoki elementlarga ba'zi qiymatlarni belgilash orqali massivni to'ldirishingiz mumkin:
  • Massiv elementiga murojaat qilish uchun kvadrat qavslar, yozuvlardan foydalaning A[i] A massiv elementini i raqami (indeks) bilan bildiradi;
  • matritsa (ikki o'lchovli massiv) - bir xil turdagi elementlarning to'rtburchaklar jadvali;
  • agar matritsa A deb nomlangan bo'lsa, teskari A i qator va k ustunining kesishmasida joylashgan elementni bildiradi.

Muammoni hal qilish misoli:
Dat jadvalida sinflardagi o'quvchilar soni to'g'risidagi ma'lumotlar saqlanadi (Dat - birinchi sinf o'quvchilari soni, Dat - ikkinchi sinfda va boshqalar). Quyidagi dastur natijasida qanday raqam chop etilishini aniqlang. Dastur matni uchta dasturlash tilida berilgan.

Algoritmik til ASOSIY Paskal

alg
boshlanishi
celtab Dat
butun k, m
Sana:= 20; Sana := 25
Sana:= 19; Sana: = 25
Sana:= 26; Sana:= 22
Sana:= 24; Sana:= 28
Sana:= 26; Sana:= 21
Sana:= 27
m:= 0
k uchun nc 1 dan 11 gacha
agar Dat[k] > 22 bo'lsa
m:= m + 1
Hammasi
kts
chiqish m
con

DIM Dat(11) INTEGER AS
DIM k,m INTEGER sifatida
Dat(1) = 20: Dat(2) = 25
Dat(3) = 19: Dat(4) = 25
Dat(5) = 26: Dat(6) = 22
Dat(7) = 24: Dat(8) = 28
Dat(9) = 26: Dat(10) = 21
Dat(11) = 27
m = 0
UCHUN k = 1 dan 11 gacha
AGAR Dat(k) > 22 KEYIN
m = m + 1
BO'LSA
KEYINGI k
PRINT m

Var k, m: butun son; Dat: butun sonlar massivi; Boshlanish sanasi:= 20; Sana:= 25; Sana:= 19; Sana:= 25; Sana:= 26; Sana:= 22; Sana:= 24; Sana:= 28; Sana:= 26; Sana:= 21; Dat > 22 keyin boshlanadi m:= m + 1 end; writeln(m) End.

Yechim (1 usul):

  1. Keling, dasturni bosqichma-bosqich ko'rib chiqaylik. Birinchidan, foydalaniladigan o'zgaruvchilar (k va m o'zgaruvchilari), shuningdek 11 ta elementni o'z ichiga olgan Dat massivi (elementlar 1 dan 11 gacha raqamlangan) e'lon qilinadi.

DIQQAT: da tasvirlangan Dat massivida Asosiy til 12 ta element bo'ladi, chunki raqamlash birinchi elementdan emas, balki noldan boshlanadi.

  1. Keyinchalik massivni to'ldirish keladi. Masalan, indeks 1 bo'lgan massiv elementiga 20 qiymat, 2 indeksli elementga 25 va hokazo. Natijada hosil bo'lgan massivni quyidagicha ko'rsatish mumkin:

Massiv Dat

Indeks

Ma'nosi

  1. m o'zgaruvchisiga 0 qiymati beriladi. Shundan so'ng k parametrli sikl boshlanadi, k 1 dan 11 gacha o'zgaradi.

Loop tanasida shart tekshiriladi:

  1. K indeksidagi massiv elementining qiymati 22 raqami bilan taqqoslanadi. Agar massiv elementi 22 dan katta bo'lsa, u holda m o'zgaruvchisi 1 ga oshiriladi. Aks holda, hech narsa sodir bo'lmaydi.
  2. Dasturning eng oxirida ekranda m o'zgaruvchining qiymati ko'rsatiladi.
  3. Dasturni bajargandan so'ng nima sodir bo'lishini aniqlaymiz. m o'zgaruvchining qiymati tsiklda o'zgartiriladi. Loopdan oldin uning qiymati nolga teng. Keyinchalik, dastur massivning barcha elementlarini takrorlaydi va ularni 22 raqami bilan taqqoslaydi. Agar massiv elementi 22 dan katta bo'lsa, u holda m o'zgaruvchisi 1 ga oshiriladi. Shunday qilib, biz massivning barcha elementlarini sanashimiz kerak. 22 dan katta massiv - ularning soni m o'zgaruvchining qiymatiga teng bo'ladi. Bunday 7 ta element mavjud - bu 2, 4, 5, 7, 8, 9 va 11 indeksli elementlar.

DIQQAT: Element raqami 6, bu 22 ga teng. Lekin... Taqqoslashimiz qat'iy bo'lgani uchun (">" belgisi), biz buni hisobga olmaymiz.

Javob: 7

Yechim (2 yo'l qo'lda aylantirish):

Olingan massivni aqlan tasavvur qiling:
Massiv Dat

Indeks

Ma'nosi

Federal Pedagogik O'lchovlar Instituti / OGE 2015 - 2019 ning demo versiyalari, spetsifikatsiyalari, kodifikatorlari // Kompyuter fanlari va AKT - (http://fipi.ru)

  • Dracheva E. R., Grishina I. A. Informatika bo'yicha GIA ga tayyorgarlik / E. R. Dracheva, I. A. Grishina // B qismi - (http://giainformatika.ru/)
  • k Dat[k](BASIC Dat(k) uchun) Vaziyatni tekshirish Dat[k] > 22(BASIC Dat(k) > 22 uchun) m
    0
    1 20 Yo'q
    2 25 Ha 1
    3 19 Yo'q
    4 25 Ha 2
    5 26 Ha 3
    6 22 Yo'q
    7 24 Ha 4

    Dat jadvalida xalq qo‘shiqlarining 10 nafar ijrochisiga berilgan ovozlar soni to‘g‘risidagi ma’lumotlar keltirilgan (Dat – birinchi ijrochiga berilgan ovozlar soni; Dat – ikkinchisiga va boshqalar). Quyidagi dastur natijasida qanday raqam chop etilishini aniqlang. Dastur matni uchta dasturlash tilida berilgan. Algoritmik til BASIC Paskal alg nach celtab Dat butun k, m Dat := 16 Dat := 20 Dat := 20 Dat := 41 Dat := 14 Dat := 21 Dat := 28 Dat := 12 Dat := = 35 m:= 1 dan 10 gacha bo'lgan k uchun 0 nc agar Dat[k]gt;m keyin m:= Dat[k] barcha cc chiqishi m con DIM Dat(10) AS INTEGER DIM k,m AS INTEGER Dat(1) ) = 16: Dat(2) = 20 Dat(3) = 20: Dat(4) = 41 Dat(5) = 14: Dat(6) = 21 Dat(7) = 28: Dat(8) = 12 Dat (9) = 15:Dat(10) = 35 m = 0 UCHUN k = 1 TO 10 AGAR Dat(k)gt;m KEYIN m = Dat(k) ENDIF NEXT k PRINT m Var k, m: butun son; Dat: butun sonlar massivi; Boshlanish sanasi:= 16; Sana:= 20; Sana:= 20; Sana:= 41; Sana:= 14; Sana:= 21; Sana:= 28; Sana:= 12; Sana:= 15; Sana:= 35; m:= 0; k:= 1 dan 10 gacha bajaring, agar Dat[k]gt;m keyin boshlanadi m:= Dat[k] end; writeln(m); Oxiri.

    Shu kabi savollar

    • Bo'sh joylarni to'ldiring. Iltimos yordam bering:)
    • Prometeyni ozod qilgan qahramon
    • Masalani tuzing, masalani yeching va yechimini yozing
    • Bolalar, yordam bering: (lg(x+√3)+lg(x-√3)=0
    • Iltimos, qaror qabul qilishga yordam bering. Yon uzunligi 12 sm bo'lgan kvadratning maydonidan 9 marta kichik bo'lsa, uchburchakning maydonini hisoblang.
    • Tenglamani yeching (8 5/27 - x) - 2 25/27 = 1 25/27
    • Sotilgan dehqonlarning ismlari nima edi?
    • Qiz mushukchani ovqatlantirishni boshladi. U jo'xori uni olib keldi, u kosadan yuz o'girdi. Turpni olgach, kosadan yuz o‘girdi. Men bir parcha pastırma olib keldim, mushukcha bu etarli emasligini aytadi. Matndagi “urgʻisiz unli...” imlosi boʻlgan soʻzlarni toping.

    Demo versiyasi loyihasidan informatika bo'yicha OGE-2016 ning 10-topshiriqining yechimini taqdim etaman. 2015 yilgi demo bilan solishtirganda, 10-topshiriq o'zgarmadi. Bu algoritmik tilda yozilgan (Algoritm, algoritmlarning xossalari, algoritmlarni yozish usullari. Sxemalar. Dasturlashga kirish. Algoritmik tuzilmalar) sonlar massivini qayta ishlashning siklik algoritmini bajarish qobiliyatiga oid topshiriq. Bu murakkablik darajasi yuqori bo'lgan vazifadir, unga javob javob maydoniga yozilishi kerak bo'lgan butun sondir.

    10-topshiriqning skrinshoti.

    Mashq:

    Dat jadvalida xalq qo‘shiqlarining 10 nafar ijrochisiga berilgan ovozlar soni to‘g‘risidagi ma’lumotlar keltirilgan (Dat – birinchi ijrochiga berilgan ovozlar soni; Dat – ikkinchisiga va boshqalar). Quyidagi dastur natijasida qanday raqam chop etilishini aniqlang. Dastur matni uchta dasturlash tilida berilgan.

    Paskal tilidagi misol

    Var k, m: butun son;
    Dat: butun sonlar massivi;
    Boshlanishi
    Sana:= 16; Sana:= 20;
    Sana:= 20; Sana:= 41;
    Sana:= 14; Sana:= 21;
    Sana:= 28; Sana:= 12;
    Sana:= 15; Sana:= 35;
    m:= 0;
    uchun k:= 1 dan 10 gacha
    agar Dat[k]>m keyin
    boshlanishi
    m:=Dat[k]
    oxiri;
    writeln(m);
    Oxiri.

    Ushbu dastur 10 ta raqamdan iborat massivni yaratadi. 1 dan 10 gacha bo'lgan tsiklda massiv elementining qiymati m o'zgaruvchining qiymati bilan taqqoslanadi. Agar massiv elementining qiymati m o‘zgaruvchining qiymatidan qat’iy katta ekanligi aniqlansa, u holda m o‘zgaruvchisiga massiv elementining qiymati beriladi (dastlab, sikl oldidan m o‘zgaruvchining qiymati 0 ga teng edi).

    Qisqacha aytganda, biz quyidagilarni olamiz. 1 dan 10 gacha boʻlgan xalq qoʻshiqlarining har bir ijrochisi uchun ovozlar soni m qiymati bilan taqqoslanadi. Agar ovozlar soni m dan katta bo'lsa, u holda m o'zgaruvchisiga ovozlar soniga teng qiymat beriladi. Tsiklni bajarish natijasida biz m raqamini olamiz, bu ishtirokchilardan biriga berilgan eng ko'p ovozlarni ko'rsatadi, ya'ni. m=41.

    Bizning tushunchamizdagi massiv oddiy jadvaldir. Jadvaldagi qiymatlar bir xil turdagi bo'lishi kerak: butun sonlar yoki haqiqiy sonlar, satrlar yoki mantiqiy qiymatlar. Qoida tariqasida, butun sonli jadvallar bilan bog'liq muammolar maktab kurslarida ko'rib chiqiladi. Jadval elementlari xotirada yaqin joylashgan va ularga jadvaldagi ularning seriya raqami (indeks) orqali kirish mumkin.

    A
    1 2 3 4 5
    55 36 134 75 100

    A besh elementdan iborat jadval bo'lsin. Keyin A = 55, A = 36, A = 134, A = 75, A = 100

    Idol-da jadvallar bilan ishlash uchun siz uni saqlash uchun xotira ajratishingiz kerak:

    Alg nach celtab A

    Jadvalni qo'lda to'ldirish mumkin:

    A := 55 A := 36 A := 134 A := 75 A := 100

    Agar ko'p elementlar bo'lsa, unda pastadirdan foydalanish yaxshidir ( loop o'zgaruvchisi i dastur boshida e'lon qilinishi kerak):

    nc i uchun 1 dan 5 gacha kirish A[i] cc

    Agar siz barcha jadval elementlarining qiymatlarini o'zgartirishingiz kerak bo'lsa (masalan, ularni 2 baravar oshiring), unda yana pastadirdan foydalanish yaxshidir:

    1 dan 5 gacha i uchun NC A[i] := A[i]*2 kc

    Shuningdek, biz barcha jadval elementlari qiymatlarining chiqishini tsiklda bajaramiz:

    i uchun nc 1 dan 5 pinli A[i],ns cc

    Maksimal elementning qiymatini va uning jadvaldagi sonini topish

    Eslatma: minimal elementni topish vazifasi faqat taqqoslash belgisida farqlanadi

    Vazifa bir necha bosqichlarga bo'lingan:

    1. Dastlabki maksimal uchun jadvalning birinchi elementini oling, uning raqamini eslang

    Imax:= 1

    2. Boshqa barcha elementlarni (2-dan oxirgigacha) tekshiramiz: agar tekshirilayotgan element maksimaldan katta bo'lsa, u holda biz imaxdagi joriy elementning sonini eslaymiz.

    i uchun Nts 2 dan 5 gacha, agar A[i] > A bo'lsa, imax:= i barcha kts

    3. Maksimal elementning topilgan raqamidan foydalanib, biz maksimalning o'zini ko'rsatamiz:

    Pin A

    Mana dasturning toʻliq matni:

    Alg SearchMax start celtab A int imax, i nc uchun 1 dan 5 gacha kirish A[i] kts imax:= 1 nts i uchun 2 dan 5 gacha, agar A[i] > A keyin imax:= i barcha kts chiqish A kts

    Yig'indini topish va o'rtacha qiymat jadvalning barcha elementlari

    Avval siz miqdorning boshlang'ich qiymatini belgilashingiz kerak:

    Keyin tsiklda biz elementlarning qiymatlarini yig'indiga qo'shamiz:

    1 dan 5 s gacha bo'lgan i uchun nc:= s + A[i] cc

    Jadvalning barcha elementlarining o'rtacha qiymatini yig'indining elementlar soniga nisbati sifatida topamiz:

    Sr:= s/5

    Mana dasturning toʻliq matni:

    Alg SumAvg boshlovchi celtab A butun i, s narsalar sr | o'rtacha son 1 dan 5 gacha bo'lgan i uchun haqiqiy nc bo'ladi A[i] kc s:= 0 nc i uchun 1 dan 5 s gacha:= s + A[i] kc sr:= s/5 chiqish “yig'indisi barcha elementlar: ",s,ns chiqishi "Barcha elementlarning o'rtacha qiymati:",sr kts

    Muammoni hal qilishga misollar

    1-misol.

    Dat jadvalida xalq qo‘shiqlarining 10 nafar ijrochisiga berilgan ovozlar soni to‘g‘risidagi ma’lumotlar keltirilgan (Dat – birinchi ijrochiga berilgan ovozlar soni; Dat – ikkinchi ijrochi uchun va boshqalar). Quyidagi dastur natijasida qanday raqam chop etilishini aniqlang.

    Alg start celtab Dat int k, m Dat := 16 Dat := 20 Dat := 20 Dat := 41 Dat := 14 Dat := 21 Dat := 28 Dat := 12 Dat := 15 Dat := 35 m: = 0 nc k uchun 1 dan 10 gacha, agar Dat[k]>m keyin m:= Dat[k] barcha kc chiqishi m oxiri

    Dastur boshida ijrochilarga berilgan ovozlar soni jadval katakchalariga yozib qo‘yiladi.

    Quyidagi dastur fragmentini ko'rib chiqing:

    M:= 0 nc k uchun 1 dan 10 gacha, agar Dat[k]>m keyin m:= Dat[k] hammasi kc

    Ko'rinib turibdiki, tsiklda har bir element m o'zgaruvchisi bilan taqqoslanadi, bu tsikldan oldin nolga teng edi. Agar tekshirilayotgan joriy element m dan katta bo'lsa, u holda joriy elementning qiymati m o'zgaruvchiga yoziladi. Loop bajarilgandan so'ng, m o'zgaruvchisi eng katta elementning qiymatini saqlaydi.

    Boshqacha qilib aytganda, dastur barcha jadval katakchalari orasidan maksimal qiymatni topadi. Ushbu element qiymati Dat = 41

    Javob: 41

    2-misol:

    Alg start celtab Dat int k, m Dat := 7; Dat := 9 Dat := 10;Dat := 5 Dat := 6; Dat := 7 Dat := 9; Dat := 8 Dat := 6; Dat:= 9 m:= 0 nc k uchun 1 dan 10 gacha, agar Dat[k]< 7 то m:= m + 1 все кц вывод m кон

    Dasturning boshida bajarilgan vazifalar sonini o'z ichiga olgan jadval to'ldiriladi.
    Shundan so'ng, o'zgaruvchi kiritiladi m nol qiymat bilan.

    Bir halqada Kimga 1 dan 10 gacha tekshiriladi: agar talaba uchun bajarilgan topshiriqlar soni raqamlangan bo'lsa Kimga 7 dan kichik bo‘lsa, yana bitta shunday o‘quvchi bor (m:= m +1).

    Boshqacha qilib aytganda, dastur 7 dan kam topshiriqni bajargan talabalar sonini hisoblaydi.

    Bizda uchta shunday talaba bor: Dat, Dat, Dat

    Javob: 3

    3-misol:

    Dat jadvalida talabalar tomonidan bajarilgan topshiriqlar soni to'g'risidagi ma'lumotlar saqlanadi (Dat topshiriqlarini birinchi o'quvchi bajargan, Dat ikkinchi o'quvchi tomonidan bajarilgan va hokazo). Quyidagi dastur natijasida qanday raqam chop etilishini aniqlang.

    Alg start celtab Dat int k, m Dat := 20; Dat := 25 Dat := 19; Dat := 25 Dat := 26; Dat := 22 Dat := 24; Dat := 28 Dat := 26; Dat := 21 Dat := 27 m:= 0 nc k uchun 1 dan 11 gacha, agar k > 9 bo‘lsa, m:= m + Dat[k] hamma kc chiqishi m oxiri

    Element raqamlari uchun tsikl ichida Kimga 1 dan 11 gacha (barcha talabalar uchun) tekshiriladi: agar element (talaba) soni 9 dan katta bo'lsa, u holda o'zgaruvchiga m Tugallangan talaba topshiriqlari soni qo'shiladi.

    Ko'rinib turibdiki, faqat 10-raqamli talaba (Dat) va 11-sonli talaba (Dat) shartdan o'tadi. Shunga ko'ra, o'zgaruvchi m bu talabalarning bajarilgan topshiriqlari yig'indisini saqlaydi, 0+21+27=48

    Javob: 48

    4-misol:

    Dat jadvalida talabalar tomonidan bajarilgan topshiriqlar soni to'g'risidagi ma'lumotlar saqlanadi (Dat topshiriqlarini birinchi o'quvchi bajargan, Dat ikkinchi o'quvchi tomonidan bajarilgan va hokazo). Quyidagi dastur natijasida qanday raqam chop etilishini aniqlang.

    Alg start celtab Dat int k, m, n Dat := 7; Dat := 9 Dat := 10; Dat := 5 Dat := 6; Dat := 7 Dat := 5; Dat := 8 Dat := 6; Sana := 9 m:= 10; n:= 0 nc k uchun 1 dan 10 gacha, agar Dat[k]<= m то m:= Dat[k] n:= k все кц вывод n кон

    Element qiymatlari 10 dan oshmaydi.

    Chiziq 1 dan 10 gacha bo'lgan k uchun nts massivning barcha elementlari takrorlanganligini bildiradi (bizda ulardan 10 tasi bor).

    Vaziyat Agar Dat[k]<= m joriy elementning qiymati dan kichik yoki teng bo'lganda to'g'ri bo'ladi m. Agar bu shart rost bo'lsa, u holda o'zgaruvchiga m joriy elementning qiymati yoziladi va o'zgaruvchi n- uning raqami.

    Muammoning maqsadi topishdir raqam minimal element! (dastur oxirida qiymatni chop etadi n).

    Chunki shart qattiq emas Dat[k]<= m, то будет найден oxirgi minimal element va uning soni (Dat).

    Agar shart qat'iy bo'lsa, u holda bir xil minimallar orasida birinchisi (Dat)