Detaljno rješenje OGE problema u informatici. Što trebate znati za dovršetak zadatka Uvjet specificira radnje korisnika

💖 Sviđa li vam se? Podijelite vezu sa svojim prijateljima

U tablici Dat prikazani su podaci o broju glasova za 10 izvođača narodnih pjesama (Dat - broj glasova za prvog izvođača; Dat - za drugog itd.). Odredite koji će se broj ispisati kao rezultat sljedećeg programa. Programski tekst je dat na tri programska jezika. Algoritamski jezik BASIC Pascal alg nach celtab Dat integer 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 za k od 1 do 10 ako je Dat[k] veći od m tada m:= Dat[k] all cc izlaz 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 FOR k = 1 TO 10 IF Dat(k) veće od m THEN m = Dat(k) ENDIF NEXT k PRINT m Var k, m: integer; Dat: niz cijelih brojeva; Datum početka := 16; Datum := 20; Datum := 20; Datum := 41; Datum := 14; Datum := 21; Datum := 28; Datum := 12; Datum := 15; Datum := 35; m:= 0; za k:= ​​1 do 10 do ako je Dat[k] veći od m then begin m:= Dat[k] kraj; writeln(m); Kraj.

Slična pitanja

  • Ljudi, pomoć: (lg(x+√3)+lg(x-√3)=0
  • Djevojčica je počela hraniti mačića. Donijela je zobene pahuljice, on se okrenuo od šalice. Donijela sam mu rotkvice, on se okrenuo od zdjele. Donijela sam komad slanine, mačić kaže da nije dovoljno. Pronađite u tekstu riječi s pravopisom "nenaglašeni samoglasnik u...
  • . Što je više: 26% učenika škole ili učenici ove škole? A. 26% učenika B. učenika C. Ovi brojevi su jednaki D. Nema dovoljno podataka za odgovor
  • Pomozite mi da ispravno prevedem pismo zamišljenom prijatelju. Draga Nellie, zdravo, sjećaš se da sam ti htio reći o svom selu? U našem selu imamo prekrasnu prirodu. Posebno je dobar ljeti. Ne mogu točno opisati naše ruralne p...
  • 1) kalcijev karbonat --> kalcijev oksid + ugljični dioksid 2) bakar (II) sulfat + natrijev hidroksid --> …... 3) klorovodična kiselina + željezo --> …... 4) litijev oksid + voda -- > litijev hidroksid. Navedite vrste reakcija, zapišite jednu od...
  • U prvom bazenu bilo je 1600 kubika vode, u drugom bazenu bilo je 1215 četvornih metara vode, iz njega je potrebno ispumpati 65 kubika vode, tj treba sipati...
  • Za 5 bilježnica platili su n kopejki, a za 11 bilježnica - m kopejki. više. Koliko je kopejki bilježnica jeftinija od bilježnice? Trebate sastaviti SLOVNI IZRAZ i pronaći njegovu vrijednost na n=1000, m=320.

Tema: “Ciklični algoritam za obradu niza brojeva”

U tablici Dat pohranjuju se podaci o broju zadataka koje su učenici riješili (Dat zadatke je riješio prvi učenik, Dat drugi itd.). Odredite koji će se broj ispisati kao rezultat pokretanja sljedećeg programa napisanog u Pascalu.

Var k, m, n: cijeli broj; Dat: niz cijelih brojeva; početni datum := 7; Datum := 9; Datum := 10; Dat := 5; Datum := 6; Datum := 7; Datum := 9; Datum := 10; Datum := 6; Datum := 9; m:= 0; n:= 0; za k:= ​​1 do 10 do if Dat[k] >= m then begin m:= Dat[k]; n:= k kraj; napisati(n)kraj.

Ovaj primjer je preuzet iz otvorene banke zadataka iz informatike na web stranici http://fipi.ru

RIJEŠENJE

Prije nego počnemo rješavati problem, pogledajmo od kojih se glavnih dijelova sastoji program u programskom jeziku Pascal.

U programskom jeziku Pascal program se sastoji od Zaglavlje , dio opisa i izvršni dio . Pascal pomoćne riječi, koje označavaju početak određenog bloka programa, označene su masnim slovima.

Program– blok koji opisuje naslov programa u Pascalu ima dekorativno značenje i može biti odsutan.

Konst– blok za opisivanje konstanti. Može biti odsutan ako konstante nisu navedene u programu.

Var— blok za opisivanje varijabli koji označava njihov tip, na primjer, tip cijeli broj znači cjelobrojne varijable.

Početak - kraj. – servisne riječi koje se nalaze u bloku operatora. Početi pokreće izvršni dio programa i kraj.(točka na kraju je obavezna) – dovršava ga.

Na primjer, napišimo jednostavan program za pronalaženje zbroja dvaju brojeva. Program možete napisati u programu PascalABC.NET ili online slijedeći ovu poveznicu.

Počnimo rješavati problem broj 10 OGE iz informatike. Program koristi jednodimenzionalni niz cijelih brojeva od Dat do Dat. Struktura programa izgleda ovako:

Nakon ulaznih podataka počinje petlja s parametrom za, u kojem se mijenjaju vrijednosti varijabli m i n.

Za je petlja u kojoj se tijelo izvršava određeni broj puta, pa se naziva i petlja brojača. U ovom programu, petlja se mora izvršiti od 1 do 10 puta.

Petlja sadrži uvjetnu if naredbu koja pronalazi vrijednost elementa niza veću ili jednaku varijabli m, kao i njen redni broj n. Vrijednosti m i n će se promijeniti ako uvjet pravi.

Za k:= ​​1 do 10 do if Dat[k] >= m then begin m:= Dat[k]; n:= k kraj;

Završimo svih 10 koraka ciklusa, a rezultate unesemo u tablicu:

Umjesto Dat[ k] zamijenit ćemo broj koraka u ciklusu, na primjer, za korak 1 unos će izgledati kao Dat[ 1 ], za korak 2 Dat[ 2 ] itd.

1 KORAK

Za k:= ​​1 do 10 učinite if Dat >= m then begin m:= Dat; n:= 1 kraj;

Ovaj algoritam glasi ovako: ako je vrijednost Dat veća ili jednaka vrijednosti u varijabli m, tada ćemo varijabli m dodijeliti vrijednost koja je bila u Datu, a u varijablu n unijeti redni broj niza, tj. 1.

Zamijenite vrijednosti: ako je 7 >= 0 tada je m:=7 i n:=1.

KORAK 2

Za k:= ​​1 do 10 učinite if Dat >= m then begin m:= Dat; n:= 2 kraj;

Ovaj algoritam glasi ovako: ako je vrijednost Dat veća ili jednaka vrijednosti u varijabli m, tada ćemo varijabli m dodijeliti vrijednost koja je bila u Datu, a u varijablu n unijeti redni broj niza, tj. 2.

Zamijenite vrijednosti: Ako je 9 >= 7 tada je m:=9 i n:=2. Dakle, budući da je uvjet istinit, varijable m i n su se promijenile, upišimo nove vrijednosti u tablicu:

KORAK 3

Za k:= ​​1 do 10 učinite if Dat >= m then begin m:= Dat; n:= 3 kraj;

Ovaj algoritam glasi ovako: ako je vrijednost Dat veća ili jednaka vrijednosti u varijabli m, tada ćemo varijabli m dodijeliti vrijednost koja je bila u Datu, a u varijablu n unijeti redni broj niza, tj. 3.

Zamijenite vrijednosti: Ako je 10 >= 9 tada je m:=10 i n:=3. Dakle, budući da je uvjet istinit, varijable m i n su se promijenile, upišimo nove vrijednosti u tablicu:

KORAK 4

Za k:= ​​1 do 10 učinite if Dat >= m then begin m:= Dat; n:= 4 kraj;

Ovaj algoritam glasi ovako: ako je vrijednost Dat veća ili jednaka vrijednosti u varijabli m, tada ćemo varijabli m dodijeliti vrijednost koja je bila u Datu, a u varijablu n unijeti redni broj niza, tj. 4.

Zamijenite vrijednosti: Ako je 5 >= 10 tada je m:=5 i n:=4. Dakle, kao uvjet lažno, zatim varijable m i n nije promijenjeno, U koraku 4, vrijednosti m i n ostale su iste:

KORAK 5

Za k:= ​​1 do 10 učinite if Dat >= m then begin m:= Dat; n:= 5 kraj;

Ovaj algoritam glasi ovako: ako je vrijednost Dat veća ili jednaka vrijednosti u varijabli m, tada ćemo varijabli m dodijeliti vrijednost koja je bila u Datu, a u varijablu n unijeti redni broj niza, tj. 5.

Zamijenite vrijednosti: Ako je 6 >= 10 tada je m:=6 i n:=5. Dakle, kao uvjet lažno, zatim varijable m i n nije promijenjeno, U koraku 5, vrijednosti m i n ostale su iste:

KORAK 6

Za k:= ​​1 do 10 učinite if Dat >= m then begin m:= Dat; n:= 6 kraj;

Ovaj algoritam glasi ovako: ako je vrijednost Dat veća ili jednaka vrijednosti u varijabli m, tada ćemo varijabli m dodijeliti vrijednost koja je bila u Datu, a u varijablu n unijeti redni broj niza, tj. 6.

Zamijenite vrijednosti: Ako je 7 >= 10 tada je m:=7 i n:=6. Dakle, kao uvjet lažno, zatim varijable m i n nije promijenjeno, U koraku 6, vrijednosti m i n ostale su iste:

7 KORAK

Za k:= ​​1 do 10 učinite if Dat >= m then begin m:= Dat; n:= 7 kraj;

Ovaj algoritam glasi ovako: ako je vrijednost Dat veća ili jednaka vrijednosti u varijabli m, tada ćemo varijabli m dodijeliti vrijednost koja je bila u Datu, a u varijablu n unijeti redni broj niza, tj. 7.

Zamijenite vrijednosti: Ako je 9 >= 10 tada je m:=9 i n:=7. Dakle, kao uvjet lažno, zatim varijable m i n nije promijenjeno, U koraku 7, vrijednosti m i n ostale su iste:

8 KORAK

Za k:= ​​1 do 10 učinite if Dat >= m then begin m:= Dat; n:= 8 kraj;

Ovaj algoritam glasi ovako: ako je vrijednost Dat veća ili jednaka vrijednosti u varijabli m, tada ćemo varijabli m dodijeliti vrijednost koja je bila u Datu, a u varijablu n unijeti redni broj niza, tj. 8.

Zamijenite vrijednosti: Ako je 10 >= 10 tada je m:=10 i n:=8. Dakle, budući da je uvjet istinit, varijable m i n su se promijenile, upišimo nove vrijednosti u tablicu:

KORAK 9

Za k:= ​​1 do 10 učinite if Dat >= m then begin m:= Dat; n:= 9 kraj;

Ovaj algoritam glasi ovako: ako je vrijednost Dat veća ili jednaka vrijednosti u varijabli m, tada ćemo varijabli m dodijeliti vrijednost koja je bila u Datu, a u varijablu n unijeti redni broj niza, tj. 9.

Zamijenite vrijednosti: Ako je 6 >= 10 tada je m:=10 i n:=9. Dakle, kao uvjet lažno, zatim varijable m i n nije promijenjeno, U koraku 9, vrijednosti m i n ostale su iste:

KORAK 10

Za k:= ​​1 do 10 učinite if Dat >= m then begin m:= Dat; n:= 10 kraj;

Ovaj algoritam glasi ovako: ako je vrijednost Dat veća ili jednaka vrijednosti u varijabli m, tada ćemo varijabli m dodijeliti vrijednost koja je bila u Datu, a u varijablu n unijeti redni broj niza, tj. 10.

Obrada podataka:

  • Algoritam, svojstva algoritama, načini zapisivanja algoritama. Dijagrami toka. Uvod u programiranje.
  • Algoritamski dizajni.

Ovo su teme za koje su izrađeni ispitni zadaci br. 10 glavnog državnog ispita (OGE) iz informatike.

10 (B) (1. dio, napredna razina - zadatak podrazumijeva da ispitanik samostalno formulira i bilježi odgovor u obliku niza simbola, vrijeme rješavanja - 6 minuta, maksimalan broj bodova za rješavanje zadatka - 1). Zahtjevi za razinu osposobljenosti čije se ovladavanje provjerava tijekom ispita prilikom rješavanja ovog zadatka: procijeniti numeričke parametre informacijskih objekata i procesa, sposobnost izvršavanja cikličkog algoritma za obradu niza brojeva u jednom od programskih jezika .

Što trebate znati da biste dovršili zadatak:

  • niz- ovo je skup (imenovana kolekcija) elemenata iste vrste, poredanih po indeksima koji određuju položaj elementa u nizu;
  • Prije korištenja u programu, polje mora biti opisano, tj. mora biti naveden naziv, broj elemenata niza i njihov tip;

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

Na primjer: zapis
var A: niz cijelih brojeva;
znači da je dan niz s imenom A koji se sastoji od 10 cjelobrojnih elemenata.

  • Polje možete ispuniti unosom vrijednosti svakog elementa s tipkovnice ili dodjeljivanjem nekih vrijednosti elementima:
  • Za upućivanje na element niza, koristite uglate zagrade, notaciju A[i] označava element niza A s brojem (indeksom) i;
  • matrica (dvodimenzionalni niz) je pravokutna tablica elemenata iste vrste;
  • ako je matrica nazvana A, tada inverz A označava element koji se nalazi na sjecištu retka i i stupca k.

Primjer rješavanja problema:
U tablici Dat pohranjuju se podaci o broju učenika u odjeljenjima (Dat - broj učenika u prvom razredu, Dat - u drugom itd.). Odredite koji će se broj ispisati kao rezultat sljedećeg programa. Programski tekst je dat na tri programska jezika.

Algoritamski jezik OSNOVNI, TEMELJNI Pascal

alg
početak
celtab Dat
cijeli broj k, m
Datum := 20; Datum := 25
Datum := 19; Datum := 25
Datum := 26; Datum:= 22
Datum := 24; Datum := 28
Datum := 26; Datum:= 21
Datum:= 27
m:= 0
nc za k od 1 do 11
ako je Dat[k] > 22 tada
m:= m + 1
svi
kts
izlaz m
kon

DIM Dat(11) KAO CIJELI BROJ
DIM k,m KAO CIJELI BROJ
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
ZA k = 1 DO 11
AKO je Dat(k) > 22 ONDA
m = m + 1
ZAVRŠI AKO
SLJEDEĆA k
ISPIS m

Var k, m: cijeli broj; Dat: niz cijelih brojeva; Datum početka := 20; Datum := 25; Datum := 19; Datum := 25; Datum := 26; Datum := 22; Datum := 24; Datum := 28; Datum := 26; Datum := 21; Dat > 22 zatim početak m:= m + 1 kraj; writeln(m) Kraj.

Rješenje (1 način):

  1. Pogledajmo program korak po korak. Najprije se deklariraju varijable koje će se koristiti (varijable k i m) te niz Dat koji sadrži 11 elemenata (elementi su označeni brojevima od 1 do 11).

PAŽNJA: Niz Dat, koji je opisan u Basicu, imat će 12 elemenata, budući da numeriranje ne počinje od prvog elementa, već od nule.

  1. Slijedi popunjavanje niza. Na primjer, elementu niza s indeksom 1 dodijeljena je vrijednost 20, elementu s indeksom 2 dodijeljena je vrijednost 25 itd. Kao rezultat toga, rezultirajući niz može se predstaviti na sljedeći način:

Array Dat

Indeks

Značenje

  1. varijabli m dodjeljuje se vrijednost 0. Nakon toga počinje petlja s parametrom k, pri čemu se k mijenja od 1 do 11 u koracima od 1.

U tijelu petlje provjerava se uvjet:

  1. Vrijednost elementa niza s indeksom k uspoređuje se s brojem 22. Ako je element niza veći od 22, tada se varijabla m povećava za 1. Inače se ništa ne događa.
  2. Na samom kraju programa na ekranu se ispisuje vrijednost varijable m.
  3. Odredimo što se događa nakon izvođenja programa. Vrijednost varijable m mijenja se u petlji. Prije petlje, njegova vrijednost je nula. Zatim, program ponavlja sve elemente niza i uspoređuje ih s brojem 22. A ako je element niza veći od 22, tada se varijabla m povećava za 1. Dakle, trebamo prebrojati sve elemente niza. niz koji je veći od 22 - njihov broj će biti jednak vrijednosti varijable m. Postoji 7 takvih elemenata - to su elementi s indeksima 2, 4, 5, 7, 8, 9 i 11.

PAŽNJA: Element broj 6, koji je jednak 22. Ali pošto... Budući da je naša usporedba stroga (znak “>”), ne uzimamo je u obzir.

Odgovor: 7

Rješenje (2 načina ručno pomicanje):

Mentalno zamislite rezultirajući niz:
Array Dat

Indeks

Značenje

Savezni zavod za pedagoška mjerenja / Demo verzije, specifikacije, kodifikatori OGE 2015. - 2019. // Informatika i ICT - (http://fipi.ru)

  • Dracheva E. R., Grishina I. A. Priprema za GIA iz informatike / E. R. Dracheva, I. A. Grishina // Dio B - (http://giainformatika.ru/)
  • k datum[k](za BASIC Dat(k)) Provjera stanja Datum [k] > 22(za BASIC Dat(k) > 22) m
    0
    1 20 Ne
    2 25 Da 1
    3 19 Ne
    4 25 Da 2
    5 26 Da 3
    6 22 Ne
    7 24 Da 4

    U tablici Dat prikazani su podaci o broju glasova za 10 izvođača narodnih pjesama (Dat - broj glasova za prvog izvođača; Dat - za drugog itd.). Odredite koji će se broj ispisati kao rezultat sljedećeg programa. Programski tekst je dat na tri programska jezika. Algoritamski jezik BASIC Pascal alg nach celtab Dat integer 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 za k od 1 do 10 if Dat[k]gt;m then m:= Dat[k] all cc izlaz 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 FOR k = 1 TO 10 IF Dat(k)gt;m THEN m = Dat(k) ENDIF NEXT k PRINT m Var k, m: integer; Dat: niz cijelih brojeva; Datum početka := 16; Datum := 20; Datum := 20; Datum := 41; Datum := 14; Datum := 21; Datum := 28; Datum := 12; Datum := 15; Datum := 35; m:= 0; za k:= ​​1 do 10 do if Dat[k]gt;m then begin m:= Dat[k] end; writeln(m); Kraj.

    Slična pitanja

    • Popuni praznine. Pomozi mi molim te:)
    • Heroj koji je oslobodio Prometeja
    • Sastavi zadatak, riješi zadatak i zapiši rješenje
    • Ljudi, pomoć: (lg(x+√3)+lg(x-√3)=0
    • Molim te pomozi mi da odlučim. Izračunaj površinu trokuta ako je ona 9 puta manja od površine kvadrata čija je stranica duljine 12 cm.
    • Riješite jednadžbu (8 5/27 - x) - 2 25/27 = 1 25/27
    • Kako su se zvali seljaci koji su prodani?
    • Djevojčica je počela hraniti mačića. Donijela je zobene pahuljice, on se okrenuo od šalice. Kad je primio rotkvice, okrenuo se od zdjele. Donio sam komad slanine, mačić kaže da nije dovoljno. Pronađite u tekstu riječi s pravopisom "nenaglašeni samoglasnik...

    Niz je u našem razumijevanju pravilna tablica. Vrijednosti u tablici moraju biti iste vrste: cijeli brojevi, ili realni brojevi, ili nizovi, ili Booleove vrijednosti. U pravilu se problemi s tablicama cijelih brojeva razmatraju u školskom tečaju. Elementi tablice nalaze se u blizini u memoriji i može im se pristupiti putem njihovog serijskog broja (indeksa) u tablici.

    A
    1 2 3 4 5
    55 36 134 75 100

    Neka je A tablica od pet elemenata. Tada je A = 55, A = 36, A = 134, A = 75, A = 100

    Za rad s tablicama u Idolu morate dodijeliti memoriju za njezino pohranjivanje:

    Alg nach celtab A

    Tablica se može popuniti ručno:

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

    Ako ima mnogo elemenata, onda je bolje koristiti petlju (varijabla petlje ja mora se deklarirati na početku programa):

    nc za i od 1 do 5 ulaz A[i] cc

    Ako trebate promijeniti vrijednosti svih elemenata tablice (na primjer, povećati ih 2 puta), onda je opet bolje koristiti petlju:

    NC za i od 1 do 5 A[i] := A[i]*2 kc

    Također izvodimo izlaz svih vrijednosti elemenata tablice u petlji:

    nc za i od 1 do 5 pin A[i],ns cc

    Pronalaženje vrijednosti maksimalnog elementa i njegovog broja u tablici

    Napomena: zadatak pronalaska minimalnog elementa razlikuje se samo u predznaku usporedbe

    Zadatak je podijeljen u nekoliko faza:

    1. Za početni maksimum uzmite prvi element u tablici, zapamtite njegov broj

    Imax:= 1

    2. Provjerit ćemo sve ostale elemente (od 2. do zadnjeg): ako je trenutni element koji se provjerava veći od maksimuma, tada pamtimo broj trenutnog elementa u imax

    Nts za i od 2 do 5 ako je A[i] > A tada imax:= i svi kts

    3. Koristeći pronađeni broj maksimalnog elementa, prikazujemo sam maksimum:

    Pin A

    Donosimo cijeli tekst programa:

    Alg SearchMax start celtab A int imax, i nc za i od 1 do 5 ulaz A[i] kts imax:= 1 nts za i od 2 do 5 ako je A[i] > A onda imax:= i svi kts izlaz A kts

    Pronalaženje zbroja i prosječna vrijednost svi elementi tablice

    Prvo morate postaviti početnu vrijednost iznosa:

    Zatim ćemo u petlji zbroju dodati vrijednosti elemenata:

    nc za i od 1 do 5 s:= s + A[i] cc

    Srednju vrijednost svih elemenata tablice nalazimo kao omjer zbroja i broja elemenata:

    Sr:= s/5

    Donosimo cijeli tekst programa:

    Alg SumAvg početak celtab A cijeli i, s stvari sr | prosječni broj će biti pravi nc za i od 1 do 5 ulaz A[i] kc s:= 0 nc za i od 1 do 5 s:= s + A[i] kc sr:= s/5 izlaz “Zbroj svi elementi: ",s,ns izlaz "Prosječna vrijednost svih elemenata:",sr kts

    Primjeri rješavanja problema

    Primjer 1.

    U tablici Dat prikazani su podaci o broju glasova za 10 izvođača narodnih pjesama (Dat – broj glasova za prvog izvođača; Dat – za drugog itd.). Odredite koji će se broj ispisati kao rezultat sljedećeg programa.

    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 za k od 1 do 10 if Dat[k]>m then m:= Dat[k] all kc output m end

    Na početku programa u ćelije tablice upisuje se broj glasova danih izvođačima.

    Razmotrite sljedeći fragment programa:

    M:= 0 nc za k od 1 do 10 ako je Dat[k]>m onda m:= Dat[k] svi kc

    Vidi se da se u petlji svaki element uspoređuje s varijablom m, koja je prije petlje bila jednaka nuli. Ako je trenutni element koji se provjerava veći od m, tada se vrijednost trenutnog elementa upisuje u varijablu m. Nakon što se petlja izvrši, varijabla m će pohraniti vrijednost najvećeg elementa.

    Drugim riječima, program pronalazi najveću vrijednost među svim ćelijama tablice. Vrijednost ovog elementa je Dat = 41

    Odgovor: 41

    Primjer 2:

    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 za k od 1 do 10 ako je Dat[k]< 7 то m:= m + 1 все кц вывод m кон

    Na početku programa popunjava se tablica s brojem izvršenih zadataka.
    Nakon toga se uvodi varijabla m s nultom vrijednošću.

    U petlji Do od 1 do 10 provjerava se: ako je numeriran broj obavljenih zadataka za učenika Do manji od 7, onda je takvih učenika još jedan (m:= m +1).

    Drugim riječima, program broji učenike koji su riješili manje od 7 zadataka.

    Imamo tri takva učenika: Dat, Dat, Dat

    Odgovor: 3

    Primjer 3:

    U tablici Dat pohranjuju se podaci o broju zadataka koje su učenici riješili (Dat zadatke je riješio prvi učenik, Dat drugi itd.). Odredite koji će se broj ispisati kao rezultat sljedećeg programa.

    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 za k od 1 do 11 ako je k > 9 tada m:= m + Dat[k] svi kc izlaz m kraj

    Unutar petlje za brojeve elemenata Do od 1 do 11 (za sve učenike) provjerava se: ako je broj elementa (učenika) veći od 9, onda na varijablu m Dodaje se broj odrađenih studentskih zadataka.

    Vidljivo je da samo student broj 10 (Dat) i student broj 11 (Dat) zadovoljavaju uvjet. Sukladno tome, varijabla m pohranit će zbroj brojeva izvršenih zadataka ovih učenika, 0+21+27=48

    Odgovor: 48

    Primjer 4:

    U tablici Dat pohranjuju se podaci o broju zadataka koje su učenici riješili (Dat zadatke je riješio prvi učenik, Dat drugi itd.). Odredite koji će se broj ispisati kao rezultat sljedećeg programa.

    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; Dat := 9 m:= 10; n:= 0 nc za k od 1 do 10 ako je Dat[k]<= m то m:= Dat[k] n:= k все кц вывод n кон

    Vrijednosti elemenata ne prelaze 10.

    Crta nts za k od 1 do 10 znači da se ponavljaju svi elementi niza (imamo ih 10).

    Stanje Ako datum[k]<= m će biti istina kada je vrijednost trenutnog elementa manja ili jednaka m. Ako je ovaj uvjet istinit, onda u varijablu m ispisuje se vrijednost trenutnog elementa, a varijabla n- njegov broj.

    Poanta problema je pronaći broj minimalni element! (program ispisuje vrijednost na kraju n).

    Budući da uvjet nije strog datum[k]<= m, то будет найден najnoviji minimalni element i njegov broj (Dat).

    Ako bi uvjet bio strog, tada bi prvi među identičnim minimumima (Dat)



    reci prijateljima
    Pročitajte također