Tek boyutlu tsilih sayı dizileri, dizinin yürütülmesini tanımlar. Tek dünyalı bir sayı dizisinin teknolojik haritası

Dizi - öğenin dizideki konumunu belirleyen dizinlere göre sıralanmış benzer öğeler topluluğu adlandırılır. Razv'yazannya raznomanіtnyh zavdan, scho z obrobkoyu dizileri, aşağıdaki gibi tipik zavdan z vyrіshennі gidin: - Verilen yetkililerden bir öğe arayın; - Sıralama dizisi. Tek dünya dizisi Diziye öğe değeri Öğenin diziye dizini


Dizinin açıklaması Zagalny bakışı dizi açıklaması: vararray var: dizi [.. of ] of ; var aarrayof var a: tamsayı dizisi; const barrayof const b: tamsayı dizisi = (4, 2, 3, 5, 7); Dizideki öğe türü Im dizisindeki Dizin için maksimum değer Dizin için minimum değer Dizideki 1. öğenin değeri Dizi b, sabitlerin açıklamasının bölümündeki açıklamaların sabit değerleriyle.


Diziyi 1 şekilde doldurmanın yolları. Klavye dış görünüm değeri girişi: forto doread for i:=1 ila 10 do read (a[i]); 2 yol Operatörün ek yardımı için (formül için): forto do for i:=1 ila 10 do a[i]:=i; 3 yol Çekim operatörünün yardımı için (vipadkovy sayıları): rastgele rastgele; forto for i:=1 ila 10 do a[i]:=random(100);


Diziyi 1 şekilde görüntüleme. Bir dizinin öğeleri boşluklarla ayrılmış bir satıra yerleştirilebilir: fortodo for i:=1 ila 10 do write (a[i], ""); 2 yol Yorumlu Visnovok: fortodo for i:=1 ila 10 do writeln ("a[", i, "]=", a[i]); a=4a=1a=6a=3a=8a=5a=9a=4a=8a=7


Bir dizi oluşturma Bir dizi yükleme Bir dizi programını görüntüleme n_1; var i: tamsayı; a: tamsayı dizisi; A dizisini (10) rastgele sayılarla doldurma ve başlangıç ​​dizisine eleman ekleme i:=1 ila 10 do a[i]:=random(50); i:=1 ila 10 için (a[i],``); son.


Sumi Elementiv Masiv Pіdsumovovnia Elementiv Masiva ZdiShn hesaplanırken, aşağı tanklardaki solucandaki bir solucan içindir: s Komirka Pam'yati'ye (Zminna S), yakiy'de, nükleer örnek eleman dizisi değişkeninin sonucu s okunur daha kesin olarak ve dizi öğesi değerlerinden toplanır; s sonucu çıkarmak umarım s'yi değiştirir.


Dizideki öğelerin toplamı s=0 Programın ana parçası: s:=0; s:=0; i:=1-n-s:=s+a[i] için; i:=1-n-s:=s+a[i] için; s = s + bir s = 0+ bir s = s + bir s = 0+ bir+ bir s = s + bir s = 0+ bir+ a+ bir …… s = s + bir s = 0+a+a+a +a


n_2 dizi programındaki elemanların toplamının hesaplanması; vars, i: tamsayı; a: tamsayı dizisi; başlangıç ​​s:=0; s:=0; i:=1 ila 10 için a[i]:=random(50); i:=1 ila 10 için (a[i],``); i:=1 ila 10 için do s:=s+a[i]; i:=1 ila 10 için do s:=s+a[i]; writeln("s=", s); son.




1) En üstteki kartı alın, en büyük sayıyı doshtsi'ye yazın (hatırlayın). 2) Bir adım kartı alın, sayıları eşleştirin. Karttaki numara daha yüksekse, numarayı yazın. Kaydedilen numaralardan kart destesindeki en büyük elemanın değeri: Eksik tüm kartlar için 2. paragrafta açıklanan adımları tekrarlayın. !


Dizi programındaki en büyük elemanı aramak için program n_3; imax var s, i, imax: tamsayı; a: tamsayı dizisi; başlangıç ​​s:=0; s:=0; i:=1 ila 10 için a[i]:=random(50); i:=1 ila 10 için (a[i],``); imax:=1 imax:=1 i:=2 10 için i:=2 ila 10 do a[i]>a imax:=i; a[i]>a ise imax:=i; write ("En büyük öğe a[",imax,"]=", a) write ("En büyük öğe a[",imax,"]=", a) bitiş. imax:=i; a[i]>a ise imax:=i; write ("En büyük öğe a[",imax,"]=", a) write ("En büyük öğe a[",imax,"]=", a) bitiş.">


Verilen güçler dizisindeki bir elemanın değeri Verilen değere daha yakın olan bir eleman için yapılan aramanın sonucu şöyle olabilir: n - a[n] = xx -n - elemanın indeksi a[n] = x olacak şekilde dizide, burada x verilen sayıdır; dizideki eksik elemanın ortaya çıkmadığı hakkında bilgi: üç eski 4. eleman; 1. ve 9. elementlerin on eşiti; 12 iyi olan hiçbir element yoktur.


Sağlıklı olan bir öğe arayın 50 Program zihni memnun eden öğelerin geri kalanını buldu program n_4; varn, i: tamsayı; a: tamsayı dizisi; start for i:=1 ila 10 do a[i]:=random(60); i:=1 ila 10 için (a[i],``); n:=0; n:=0; i için:=1 ila 10, i için:=1 ila 10, eğer a[i]=50 ise:=i; a[i]=50 ise:=i; n=0 ise write("Merhaba") aksi takdirde write(i) n=0 ise write("Merhaba") yoksa write(i) biter.


Sağlıklı bir element arayın 50 program n_5; varn, i: tamsayı; a: tamsayı dizisi; start for i:=1 ila 10 do a[i]:=random(60); i:=1 ila 10 için (a[i],``); ben:=0; ben:=0; tekrar i:=i+1; ben:=i+1; (a[i]=50) veya (i=10) kadar; (a[i]=50) veya (i=10) kadar; a[i]=50 ise write(i) eğer a[i]=50 ise write(i) yoksa write("Merhaba") biter. Program, zihni memnun eden unsurların ilkini buldu.


Pidrakhunok eleman sayısı Bir pidrakhunka için, gerekli eleman bulunursa değeri bir kat artan bir değişiklik yapılır. program n_6; var k, i: tamsayı; a: tamsayı dizisi; start for i:=1 ila 10 do a[i]:=random(60); i:=1 ila 10 için (a[i],``); k:=0; k:=0; i:=1 10 için i:=1 ila 10, eğer a[i]>50 k:=k+1; a[i]>50 ise k:=k+1; ("k=", k) write("k=", k) bitiş 50k:=k+1; a[i]>50 ise k:=k+1; ("k=", k) write("k=", k) son.">


Elementlerin değerlerinin toplamı, yakі vіdpovіdat umovі program n_7; vars, i: tamsayı; a: tamsayı dizisi; start for i:=1 ila 10 do a[i]:=random(60); i:=1 ila 10 için (a[i],``); s:=0; s:=0; i:=1 10 için i:=1 ila 10 do a[i]>10 (a[i] 10 ve (a[i]) 1"> 10 (a[i] 10 ve (a[i]"> 1" title="(!LANG:(!LANG:Zihni memnun edecek eleman değerleri toplamı 105013 1421501021 program n_7; var s, i) : tamsayı; a: tamsayı başlangıç ​​için i:=1 ila 10 do a[i]:=random(60); için i:=1 ila 10 do write (a[i],` `); i:= 1 10 için i:=1 ila 10 do a[i]>1"> title="Aklı tatmin eden elementlerin değerlerinin toplamı 105013 1421501021 program n_7; vars, i: tamsayı; a: tamsayı dizisi; start for i:=1 ila 10 do a[i]:=random(60); i:=1 ila 10 için (a[i],``); s:=0; s:=0; i:=1 10 için i:=1 ila 10 do a[i]>1"> !}!}


Diziyi sıralama 1. Diziden maksimum eleman seçilir 2. Maksimum ve ilk eleman yer değiştirilir (sıralama ile ilk eleman dikkate alınır) 3. Dizinin sıralanmamış kısmından tekrar maksimum eleman seçilir ; Dizideki ilk sıralanmamış öğenin olduğu yerleri değiştirirseniz, Ölüm noktası 3 dizideki sıralanmamış öğelerle tekrarlanır, yuvalarda sıralanmamış bir öğe (minimum) kalmaz.


diziyi sıralama


A sonra imax:=j; x:=a[i]; a[i]:=a; a:=x; son; i:=1 ila 10 için (a[i],``); son; program n_8; imax var n, i, j, x, imax: tamsayı; a:arrav o" title="(!LANG:(!LANG: i:=1 ila 9 için diziyi sırala do startup imax:=i; j:=i+1 ila 10 için x:=a[i] için yap ;a[i]:=a;a:=x;end;n, i, j, x, imax: tamsayı;" class="link_thumb"> 21 !}!} Diziyi i:=1 ile 9 arasında sıralayın do startup imax:=i; j:=i+1 ila 10 için a[j]>a ise imax:=j; x:=a[i]; a[i]:=a; a:=x; son; i:=1 ila 10 için (a[i],``); son; program n_8; imax var n, i, j, x, imax: tamsayı; a: tamsayı dizisi; i için start:=1 ila 10 do read(a[i]); i:=1 ila 10 için (a[i],``); a sonra imax:=j; x:=a[i]; a[i]:=a; a:=x; son; i:=1 ila 10 için (a[i],``); son; program n_8; imax var n, i, j, x, imax: tamsayı; a:arrav o"> a sonra imax:=j; x:=a[i]; a[i]:=a; a:=x ; end; , ``); end; program n_8; imax var n, i, j, x, imax: integer;=1 ila 10 do (a[i],` `); 01924365 96543210"> a sonra imax:=j; x:=a[i]; a[i]:=a; a:=x; son; i:=1 ila 10 için (a[i],``); son; program n_8; imax var n, i, j, x, imax: tamsayı; a:arrav o" title="(!LANG:(!LANG: i:=1 ila 9 için diziyi sırala do startup imax:=i; j:=i+1 ila 10 için x:=a[i] için yap ;a[i]:=a;a:=x;end;n, i, j, x, imax: tamsayı;"> title="Diziyi i:=1 ile 9 arasında sıralayın do startup imax:=i; j:=i+1 ila 10 için a[j]>a ise imax:=j; x:=a[i]; a[i]:=a; a:=x; son; i:=1 ila 10 için (a[i],``); son; program n_8; imax var n, i, j, x, imax: tamsayı; bir:arravo"> !}!}


Naygolovnіshe Dizisi - ad, dizideki öğelerin konumunu belirleyen dizinlere göre sıralanan aynı tür öğelerin koleksiyonuna verilir. Hareketler, diziler ve tablolar gibi bu tür veri yapılarının uygulanması için programlama dizilerine sahiptir. Alıntılardan önce, programın bir dizi açıklaması olabilir. Tek dünyalı bir dizinin tanımına güzel bir bakış: var: array […] of element_type; Kaplama öğesinin değerini klavyeden değiştirerek veya öğelere gerçek değeri ekleyerek diziyi geri yükleyebilirsiniz. Bir saat boyunca dizi yüklenir ve görüntü bir parametre ile bir döngü ile ekranda görüntülenir. Dizilerin işlenmesiyle ilgili çeşitli görevlerin uygulanması, aşağıdakiler gibi tipik görevlere dayanır: bir diziye eleman eklemek; verilen yetkililerden bir öğe aramak; diziyi sıralama.


Yiyecek ve içecek konuşma anlamı? Dizinin açıklaması neden gerekli? Böyle bir sıralamada kalıplanmış dizi hakkında ne söyleyebilirsiniz? a) i:=1 ila 10 için a[i]:=random(101)-50 yapın; b) i için: = 1 ila 20 do a [i]: = i; c) i için: = 1 ila 5 do a [i]: = 2 * ben -1; Problemleri çözmek için Pascal programımı yaz. Deakim yerellik N evler. Görünüşe göre, cilt bakım merkezinde yaşayan bir sürü insan var. N öğelerini içermesi gereken ek doğrusal tablo A için vergi verileri (çuval sayısı): A - kabin 1'deki çuval sayısı, A - kabindeki çuval sayısı 2, ..., A[ N] - kabindeki çuval sayısı N. ] çanta çuval sayısı i, de i nabuє 1'den n'ye kadar olan tüm değerler (i =1,n). Çalışmanın sonuçları s ile bilinir. 50'den 200'e kadar bir sayı aralığı ile kabinin torba sayısını ve kabin sayısı n = 30'u girin. Problemleri çözmek için Pascal programımı yazın. Okul basketbol takımına seçildi. Vіdome rostannya dermal s N uchniv, yakі bazhayut tsієї komutuna kadar içti. Takıma katılma şansınız varmış gibi yarışmacı sayısını destekleyin, böylece takımın yerçekimindeki artış 170 cm'den az olamaz >> 12 Salı >> 10 Çarşamba >> 16 Perşembe >> 18 Cuma >> 17 Cumartesi >> 16 Hafta >> 14 Haftanın Ortalama Sıcaklığı: 14.71 Ertesi günün ortalama sıcaklığını hesaplayan bir program yazınız. Haftalık veriler klavyeden üzerine gelir. Danimarka on tam sayı dizisi. Vyznachte skіlki elementіv cgo dizisi maksimum değere sahip olabilir. 20 kişilik sınıf Rusça bir dikte yazdı. Dikte için bir dizi ikili, üçlü, dörtlü ve beşli, otrimanih gibi bir program yazın. a ve b dizilerinde, düz kesimli on trikodan iki ayak vardır: a [ i ] - İlk ayağın uzunluğu, b [ i ] i-inci trikonun diğer ayağının uzunluğu. En geniş alandan bir triko bulun. Bana numaranı göster, kateterleri o kareye koy. Perebachte vipadok, eğer böyle tricoutnikler varsa є kіlka. On Avrupa krayıyla ilgili bilgileri n (krayın adı), ila (nüfus sayısı), s (krayın alanı) dizisine göre girin. Nüfus yoğunluğunu artırmak için ülkeyi adlandırın. > 12 Salı >> 10 Çarşamba >> 16 Perşembe >> 18 Cuma >> 17 Cumartesi >> 16 Hafta >> 14 Haftanın Ortalama Sıcaklığı: 14.71 Ertesi günün ortalama sıcaklığını hesaplayan bir program yazınız. Haftalık veriler klavyeden üzerine gelir. Danimarka on tam sayı dizisi. Vyznachte skіlki elementіv cgo dizisi maksimum değere sahip olabilir. 20 kişilik sınıf Rusça bir dikte yazdı. Dikte için bir dizi ikili, üçlü, dörtlü ve beşli, otrimanih gibi bir program yazın. a ve b dizilerinde, düz kesimli on trikodan iki ayak vardır: a [ i ] - İlk ayağın uzunluğu, b [ i ] i-inci trikonun diğer ayağının uzunluğu. En geniş alandan bir triko bulun. Bana numaranı göster, kateterleri o kareye koy. Perebachte vipadok, eğer böyle tricoutnikler varsa є kіlka. On Avrupa krayıyla ilgili bilgileri n (krayın adı), ila (nüfus sayısı), s (krayın alanı) dizisine göre girin. Nüfusunu artırmak için ülkenin adını verin.">


Destekleyici özet Klavyeye giriş Dizi - ad, dizideki öğelerin konumunu belirleyen, dizinlere göre sıralanmış aynı türdeki öğelerin koleksiyonuna verilir. var dizi var: element_type dizisinin [.. of]; Dizinin değeri Öğelerin toplamı Dizideki öğelerin sıralanması Yetkililerde öğeyi arayın


Dzherela bilgileri 1. sayılar.jpg -sayılar sayılar.jpg klavye kısayolu sayılar 4. - sayılar 5. içerik/yüklemeler/2012/01/ _ jpg - sayılar içerik/yüklemeler/2012/01/ _ jpg sayılarla çocuk 7. içerik/ theme/rttheme9/timthumb.php?src= wp-content/uploads/mas-slider-two.jpg&w=940&h=320&zc=1 -numbers content/themes/rttheme9/timthumb.php?src= wp-content/uploads/mas -slider-two.jpg&w=940&h=320&zc= sayılar

Bugün sizinle sınıfta yeni bir anlayışa bakacağız sıralamak. sıralamakaynı tür verinin sıralanması. Aksi takdirde, asılı, dizi tüm tablodur, cilt elemanı dizinin bir elemanı gibidir. Masifler bir ve iki dünyadır. Tek dünya dizisi- bütün bir masa, tobto. elemanları bir satırda veya arka arkaya düzenlenmiş tablo. iki boyutlu dizi

Avantaj:


Önden görünüş:

Kostanay bölgesi, Mendikarinsky bölgesi, SE "Budennivska orta okulu",

bilgisayar bilimi öğretmeni

Doshchanova Gulzhan Baigariivna

9. sınıf

Ders: Dizi kavramı. Tek dünya ve iki dünya dizileri. Dizi öğesi.

Meşgul gizle:

  1. Organizasyon anı.
  2. Ev ödevi yeniden kontrol ediliyor.
  3. Yeni malzemenin açıklaması.
  4. Razvyazannya görevleri.
  5. Ödev.
  1. Organizasyon anı.Ofisin işgal etmeye hazır olup olmadığını gözden geçirin, öğrencilerin yoklamalarını yapın.
  1. Ev ödevi yeniden kontrol ediliyor.Ev işlerinin yürütülmesinin doğruluğunu doğrulayın. Önceki dersin teorik materyalini tamamlayın.
  1. Yeni malzemenin açıklaması.

Bugün sizinle sınıfta yeni bir anlayışa bakacağız sıralamak. Sıralamak - aynı tür verinin sıralanması. Aksi takdirde, asılı, dizi tüm tablodur, cilt elemanı dizinin bir elemanı gibidir. Masifler bir ve iki dünyadır.Tek dünya dizisi- bütün bir masa, tobto. elemanları bir satırda veya arka arkaya düzenlenmiş tablo.iki boyutlu dizi- Tse doğrusal bir tablodur, tobto. bir dizi satır ve sütundan oluşan tablo.(Doğrusal ve dikdörtgen bir tablonun poster tablosunu gösterin. Etkileşimli tahta sınıfında netlik için, üzerinde bir sunum hazırlayabilirsiniz. farklı şekiller diziler.)

Bu lineer tablo sim öğelerine sahiptir. Kaplama elemanı tabloda bir harfle verilmiştir.

Dizi öğeleri sayısal ve metin değerleri olabilir. Farklı Değişken Vars olması durumunda dizi şu şekilde yazılır:

x: dizi dizisi;

Bu kayıt, tek boyutlu bir dizinin (doğrusal tablo) verildiğini, değerleri satır değerleri olan 7 elemanın değiştirilebileceğini göstermektedir.

İki boyutlu bir dizi şu şekilde belirlenir:

y: tamsayı dizisi;

bu dizinin elemanları, 4 satır ve 5 satır halinde yazılan tamsayılardır.

Tek dünya dizisinin bir elemanı şu şekilde yazılır: x tek dünya dizisinin beşinci öğesidir x (yogo anlamları є "O" harfi), y - iki dünya dizisinin diğer satırında ve üçüncü sütununda karıştırılmış bir öğe y (Yogo değeri 15'tir).

Ve şimdi kiraz gününe geçelim. (Sınıfın hazırlık düzeyinin gelişimini dikkate almak gerekir.)

  1. Razvyazannya görevleri. Bir akış şemasını teşvik edin ve yaklaşan görevlerin yerine getirilmesi için bir program oluşturun:
  1. Verilen dizi için x gerçek sayıların aritmetik ortalamasını alın, sanki 10'u kaydırıyormuş gibi.

Aynı zamanda görevi analiz edebiliyoruz, eğer görevi net bir şekilde anlamanız gerekiyorsa, popo olarak 9 elementten oluşan bir tablo kurabilirsiniz.

program toplamı;

x: gerçek dizisi;

s,c: gerçek;

k, n: tam sayı;

başlamak

k=1 ila 9 için

başlamak

writeln('DEĞER X GİRİN[', k,']');

readln(x[k]);

son;

(tablonun tanıtılan unsurları, sayıları yakі є be-yakі dіysnі)

s:=0; n:=0; (elemanların toplamı ve sayısı sıfır)

k:=1 ila 9 için

başlamak

x[k]>10 ise s:=s+x[k] ile başlayın; n:= n+1; son;

son;

(büyük 10'un bu sayıdaki elemanının miktarını destekleyin)

c=s/n; (aritmetik ortalamayı biliyoruz)

writeln('c=',c); (sonucu ekranda göster)

son.

  1. Kіlkoh kіl alanı göz önüne alındığında. En küçük x'in yarıçapını bulun.

Rozv'yazuvannya zavdannya z'yasuvati z uchni'den önce, hisse alanı yarıçapta nasıl yatırılır. (Yarıçap daha küçük olduğu için alan daha küçüktür.) Yöntemlerden biri ile problemin karmaşıklığını analiz etmek mümkündür.

İlk yol:

program krugi_1;

S, R: gerçek dizisi;

x:gerçek; k, n: tam sayı;

başlamak

k=1 ila 10 için

başlamak

R[k]:=sqrt(S[k]/pi);

son;

x:=R(1); sayı:=1;

k:=2 ila 10 için

başlamak

eğer R[k]

son;

writeln('YARIÇAP ',n,' BİR DAİRE - KÜÇÜK R=', R[n]);

son.

Diğer yol:

program krugi_2;

S: gerçek dizisi;

R, x: gerçek; i, k: tam sayı;

başlamak

k=1 ila 10 için

başlamak

writeln('GİRİŞ ALANI', k,'KOLA'); readln(S[k]);

son;

x:=S(1); k:=1;

i için:=2 ila 10 arası

başlamak

eğer S[k]

son;

R:=sqrt(x/pi); writeln('YARIÇAP', n,' KOLA KÜÇÜK R=',R);

son.

  1. Ödev. Mağaza 90-97. (N.T. Ermekov, V.A. Krivoruchko, L.M. Kaftunkin Bilişim Sınıf 9, Almatı "Mektep" 2005)

Razvyazati çok zavdannya:

  1. 12 tam sayıdan oluşan Y dizisinde aritmetik ortalama erkeklerle aynıdır.
  2. Bir dizi karenin alanı verildi. En büyük їх'nin köşegen uzunluğunu bulun.
  1. Pіdbitya podsumkіv dersi.Öğrencilerin değerlendirmelerini oylayın, yorum yapın. Akademik görevin sonucunu analiz edin.

Anahtar Kelimeler:

  • sıralamak
  • dizi açıklaması
  • doldurma dizisi
  • diziyi görüntüle
  • işleme dizisi
  • son arama
  • sıralama

Hangi saate kadar basit haraçlarla karşılandık. Pratik görevler dışında, veriler genellikle diziler gibi farklı veri yapılarında birleştirilir. Hareketler, diziler ve tablolar gibi bu tür veri yapılarının uygulanması için programlama dizilerine sahiptir.

Aynı masiflere bakıyoruz.

Dizilerin işlenmesiyle bağlantılı çeşitli görevlerin varyasyonu, aşağıdakiler gibi tipik görevlerin varyasyonlarına dayanır:

  • diziye eleman ekleme;
  • verilen yetkililerden bir öğe aramak;
  • diziyi sıralama.

4.7.1. Dizinin açıklaması

Seçimlerden önce, program bir dizi tanımlamaya sahip olabilir, böylece dizi, dizi için eleman sayısı ve türleri için belirtilebilir. Bu, gerekli tipteki bellek bloğunu bellekte görmek için gereklidir. Zagalny diziyi tanımlamaya bakar:

var<имя_массива>:sıralamak[<мин_знач_индекса> .. <макс_знач_индекса>] ile ilgili<тип__элементов>;

popo

var a: tamsayı dizisi;

Bir dizi açıklama ve on tam değer vardır. Bir sonraki saatte, bilgisayarın hafızasında her türden on hücre görülecektir.

Sabit değerlere sahip küçük bir dizi, sabitlerin açıklaması için açıklamalara sahip olabilir:

const b: tamsayı dizisi = (1, 2, 3, 5, 7);

Bu akılda, sadece hafızanın son satırları görülmekle kalmaz, aynı zamanda son satırlara hemen girilir.

4.7.2. Bir dizi doldurma

Kaplama öğesinin değerini klavyeden değiştirerek veya öğelere gerçek değeri ekleyerek diziyi geri yükleyebilirsiniz. Bununla, parametreden sonra döngüyü bükmek mümkündür.

Örneğin, klavyeden girmek için, dizide yukarıda açıklanan öğelerin değeri, parametre ile bir sonraki döngü tarafından üzerine yazılır:

i:=l ila 10 için (a:=i;

Programın bir sonraki parçasında, değerleri 0 ile 99 arasında değişen değişken sayılarda 10 elemandan oluşan tüm dizinin doldurulması düzenlenir:

4.7.3. görüş dizisi

Zengin durumlarda, elementlerin değerlerini ekranda görüntülemek kolaydır. Bu nedenle, dizinin anlamları vipadkovy sıralaması tarafından üretildiğinden, ne tür bir dizi olduğunu bilmek gerekir. Yani bir sonraki asalet, sanki bir dizi ardıl iş haline geliyor.

Dizinin öğeleri, bir boşlukla bölünerek bir sıraya yerleştirilebilir:

i:=1 ila 10 için (a[i], ");

Yorumlarla bir sonraki görüş çeşidiyle başlayalım:

için i:=1 ila 10 do writeln("a[", i, ")=", a[i]);

Örneklere bakarak, yazıldığı programı bağımsız olarak yazmaya çalışın: tüm diziyi, değerleri tür aralığında değişen 10 öğeden oluşan bir vipadkovy sıralaması ile doldurmak 0 ila 99; diziyi görüntüleyin, ancak ekranda.

4.7.4. Dizideki öğelerin toplamının hesaplanması

Dizideki öğelerin toplamı, basit değişikliklerin anlamının toplamı olan bu ilkeye dayanır:

  1. hafızanın ortası (değişiklik s) işaretlenir, burada toplama sonucu sırayla biriktirilir;
  2. zminnoї s 0 değerinin başlangıcını umuyor - toplama sonucuna eklenmeyen sayı;
  3. bir dış görünüm öğesi için, değişiklik dizisi daha kesin olarak dikkate alınır ve dizi öğesinin değerlerine eklenir; otrimany sonucu umarım değişir s.

Sürecin açıklaması aşağıdaki gibi görselleştirilebilir:

Rozv'yazannya tsієї görevlerinin ana parçasını yönlendireceğiz:

Paragraf 4.7.3'te oluşturulan diziye, dizideki elemanların toplamı hesaplanacak ve toplamanın sonucu ekranda görüntülenecek şekilde diziyi oluşturacak programı ekleyin.

4.7.5. Dizideki son arama

Programlamada, aramalar sayısal olmayan nitelikteki en geniş görevlerden biridir.

Aşağıdaki istek türlerini görebilirsiniz:

  1. dizinin en büyük (en küçük) öğesini bilin;
  2. değeri verilen değere eşit olan bir dizi elemanı bulun.

Bilgisayar aynı anda tüm nesnelerle eşleşemez. Deri kasık vin üzerinde sadece iki nesneyle eşleşebilir. Bu nedenle programda dizinin elemanlarının son gözden geçirilmesi ve çekirdek elemanın değerinin aktif eleman ile eşitlenmesinin düzenlenmesi gerekmektedir.

İlk türdeki görevlerin sunumuna bir göz atalım (en büyük (en küçük) öğenin önemi).

Dışında bir sayının yazılı olduğu kart destelerinin görünümünde bir dizi görebilirsiniz. Dizideki en büyük elemanı aramak için başka bir fikir aşağıdaki sıra ile temsil edilebilir:

  1. en üstteki kartı alın (dizinin ilk elemanı), karttaki sayıyı (tahtaya yazın) en çok bakılan sayı olarak hatırlayın; öldürülen kartı alın;
  2. bir adım kartı alın; kartlarda ve tahtalarda keyfi olarak yazılan sayılar; kartlardaki sayı daha büyükse, doshtsi'de yazılan sayı daha önemlidir ve kartlardaki aynı sayıyı yazacağız; yeni sayı daha büyük değilse, doshtsi'de net bir giriş yapmak gerekir; öldürülen kartı alın;
  3. yığında kalan tüm kartlar için 2. paragrafta açıklanan adımları tekrarlayın.

Sonuç, doshtsi'de yazılan incelenen dizinin en büyük değerine sahip olacaktır.

Bir dizideki bir elemanın değerine erişim indeksin arkasındaysa, o zaman tek bir dizideki en büyük eleman için bir arama organize ederken, indeksi aramak doğrudur. Önemli ölçüde şaka dizin imax. Oluşturduğumuz dizi için algoritmanın daha fazla açıklaması var ve Pascal'ım aşağıdaki gibi yazılabilir:

Bağımsız olarak, tüm dizinin oluşumunun oluşturulduğu ve değeri 0 ile 99 arasında olan 10 eleman için bu dizinin en büyük elemanını arayan bir program yazın.

Bir dizi elementte olduğu gibi, eşit maksimum değer, o zamanlar verilen program ilkini bilin (ilk giriş). Maksimum öğelerin geri kalanını bilmesi için programda neyi değiştirmeniz gerektiğini düşünün. Dizinin minimum elemanını bilmek için programı yeniden yapmak nasıl gereklidir?

Başka türden bir görev atamanın bir sonucu olarak (değeri verilen değere eşit olan bir diziye bir öğe değeri) şunlar olabilir:

  • n - dizi elemanı dizini öyle ki bir [n] = x de x - verilen sayı;
  • dizideki elemanın ortaya çıkmadığı hakkında bilgi.

50'ye eşit bizim tarafımızdan oluşturulan değerler dizisindeki arama algoritması şöyle görünebilir:

Program, dizinin tüm öğelerini sırayla arar. Değeri belirli bir sayıya eşit olan bir dizi eleman varsa, program gerisini bilecektir.

Zengin durumlarda, en önemli anlama sahip olabilecek öğelerden ilkini bilmek ve diziye daha yakından bakmak gerekir. Aşağıdaki programı kimin için kazanabilirsiniz:

Burada algoritma iki adımdan birinde kesintiye uğrayacaktır:

  1. dizide, verilen öğeye eşit olan öğelerin ilki bulundu;
  2. dizinin tüm elemanları gözden geçirilir.

bir yere yaz yeni metin Bilgisayarda її programlayın ve indirin.

Çoğu zaman, zihni tatmin eden bir dizi unsuru belirlemek gerekir. Gerekli eleman bulunursa değeri bir kat artan bu şekilde değişiklik yapılır.

Programın bir sonraki parçasındaki bu tür öğelerin sayısını belirleyin.

Öğelerin değerlerinin toplamını atamanız gerekiyorsa, değeri bulunan öğenin değerini diziye eklemek olan bir değişiklik girin.

Vznachte, zihin, programın bir sonraki parçasında anlamları özetlenen dizinin öğelerinden memnun olduğu için.

İki yeni metin yaz programların geri kalanı ve bunları bilgisayara indirin.

4.7.6. sıralama dizisi

Dizinin sıralaması (sıralaması) altında, öğelerin anlamlarını aynı sırada yeniden düşünün.

Dizideki ilk elemanın en az anlamlı olduğu ve cilt adımlama elemanının değerinin ön elemanın değerinden az olmadığı sıraya büyüme denir.

Dizideki ilk öğenin en önemli olduğu ve cilt saldırgan öğesinin değerinin ön öğenin değerinden büyük olmadığı sıraya alt öğe denir.

Meta sıralama - öğeleri aramayı kolaylaştırır: sıralanmış bir dizide gerekli bir öğeyi aramak daha kolaydır.

Veritabanları ile işin sıralamasını zaten yaptınız. Hemen bu işlemin mekanizmasının uygulanması için olası seçeneklerden1 birine bakacağız - seçime göre sıralama.

Seçime göre sıralama (örneğin düşme için) şu şekilde sıralanır:

  1. dizi, seçilen maksimum öğeye sahiptir;
  2. maksimum ve ilk eleman yerlere göre değiştirilir (sıralamada ilk eleman dikkate alınır);
  3. dizinin sıralanmamış kısmında, maksimum eleman yeniden seçilir; chіnyuієtsya, ilk sıralanmamış eleman dizisidir;
  4. 3. paragrafta açıklanan dії, sıralanmamış bir öğe kalana kadar (değeri minimum olacaktır) dizideki sıralanmamış öğelerle sonuncuya kadar tekrarlanır.

a = (0, 1, 9, 2, 4, 3, 6, 5) dizisinin dip noktasından seçime göre sıralama işlemine bakalım.

Sekiz elemanlı bu dizide maksimum eleman seçme işlemi 7 kez yapılmıştır. n elemanlı bir dizi için bu işlem n-1 kez gerçekleştirilir. Sebebini açıkla.

Algoritmanın açıklamalarını uygulayan programın bir parçasını yönlendireceğiz:

Burada diğerinin ortasında bir döngü vikoristali yapıyoruz. Böyle bir yapıya iç içe döngü denir.

Programın en son metnini yazın ve uygulamada incelenen dizi için її bilgisayara indirin.

"Etkileşimli programlama gösterileri" (http://informatika.kspu.ru/flashprog/demos.php) sitesinde, bu diğer yöntemleri seçerek sıralama sürecini daha iyi göstermek için etkileşimli öğreticiler ile iyileştirme yapabilirsiniz.

Naygolovnişe

Dizi - ad, dizideki öğelerin konumunu belirleyen dizinlere göre sıralanan aynı türdeki öğelerin dizisine verilir. Hareketler, diziler ve tablolar gibi bu tür veri yapılarının uygulanması için programlama dizilerine sahiptir.

Alıntılardan önce, programın bir dizi açıklaması olabilir. Zagalny, tek dünya dizisinin açıklamasına bakın:

var<имя_массива>:sıralamak[<мин_знач_индекса> ..
<макс_знач_индекса>] element_type;

Kaplama öğesinin değerini klavyeden değiştirerek veya öğelere gerçek değeri ekleyerek diziyi geri yükleyebilirsiniz. Bir saat boyunca dizi yüklenir ve görüntü bir parametre ile bir döngü ile ekranda görüntülenir.

Dizilerin işlenmesiyle ilgili çeşitli görevlerin uygulanması, aşağıdakiler gibi tipik görevlere dayanır: bir diziye eleman eklemek; verilen yetkililerden bir öğe aramak; diziyi sıralama.

Soruşturma ve görev


DERS:

Dersin organizasyon aşaması:

  • vitanya

Öğretmen:

Bugün "Bir Masif"e bakıyoruz. Önceki dersler için, programlamada muzaffer olan kişisel olmayan veri türleri (sayılar) olduğunu sizinle birlikte hatırlıyoruz. Onlara isim verin.

Öğrenmek:

Böyle bir veri türü, örneğin Tsіlіі Konuşma.

Qile:

  • bayt -128 ila 127;
  • kısa -32768 ila 32767;

Öğretmen:

sıralamak

Dizi açıklaması:

Var<имя_массива>:sıralamak[<минимальное_значение_индекса>. <максимальное_значение_индекса>] ile ilgili<тип данных>;

popo: var a: tamsayı dizisi;

a

const a: Tamsayı dizisi = (1, 4, 7, 14, 25);

Bir diziyi doldurma:

Bir diziyi çeşitli şekillerde yükleyebilirsiniz. Hadi bir bakalım.

için ben:=1 ile 10 yapmak oku(a[i]);

için ben:=1 ile 10 yapmak a[i]:=i;

rastgele

için ben:=1 ile 10 yapmak a[i]:= rastgele(100);

Bir dizideki öğeleri görüntüleme:

paskal;

rastgele.

için ben:=1 ile 10 yapmak write(a[i], " ");

için ben:=1 ile 10 yapmak writeln("a[", ben, ", a[i]);

Örneğe bakalım:

var a: sıralamak ile ilgili tam sayı;

rastgele

için ben:=1 ile 10 yapmak

a[i]:= rastgele

yazmak(a[i], "");

Torbalar:

Öğretmen:

Öğrenmek:

Belge yerine gözden geçirin
"Bir tam sayı dizisi"

Ders:"Bir tam sayı dizisi"

ders türü: Yeni malzemenin tanıtımı

meta ders: Dizinin temellerini öğrenin ve diziyi nasıl programlayacağınızı öğrenin.

Müdür:

    "MASIV" kavramlarına aşina olun;

    Dizinin bir programlama nesnesi olarak tanımı;

    Vivchiti varyantı zapovnennya bu videdennya danih z dizisi.

Mülkiyet:

    Sınıfta, öğretmen ekranını görüntülemek için ekranlı bir projektör vardır;

    Doshka, dersin ana aşamalarının suçluluğu için;

    Çalışılan materyalin pratik konsolidasyonu için 14 bilgisayar.

DERS:

Dersin organizasyon aşaması:

    vitanya

    Çalışmaların yeniden doğrulanması

Öğretmen:

Beyler, bugün programlamanın yeni bir aşamasına başlıyoruz. benim Pascal'ım.

Bugün "Bir Masif"e bakıyoruz. Önceki dersler için, programlamada muzaffer olan kişisel olmayan veri türleri (sayılar) olduğunu sizinle birlikte hatırlıyoruz. İsim ver...

Öğrenmek:

Böyle bir veri türü, örneğin Tsіlіі Konuşma.

Qile:

    bayt -128 ila 127;

    kısa -32768 ila 32767;

    int -2 147483648 ila 2147483647;

Konuşma (yüzen yumrulu sayılar):

    gerçek görünüm 4.9 * 10-324 - 1.7 * 10308;

Öğretmen:

sıralamak- ana isme atanabilen kişisel olmayan benzer zminnyh (dizi elemanları) ve tüm elemanlar ve farklı sayılar (indeksler) sırasına göre ce.

Dizi açıklaması:

Yoga programında herhangi bir nesnenin seçiminden önce, zminnyh değişiminde seslendirilmelidir. Bu mertebede bir tezh dizisi buti ünlüler olabilir.

Bir dizi atamak için şunları belirtin: İM'YA DİZİSİ + DİZİNDEKİ KILKIST ELEMENTS + dizide seçilen VERİ TÜRÜ.

var:dizi[..] ile ilgili;

popo: var a: tamsayı dizisi;

İşte adları olan tek boyutlu bir tamsayı dizisinin açıklamaları a. En az miktar azami sayı 1'den 15'e kadar indeksler. Dizi, sabitlerin açıklamasının genişletilmesinde de açıklamalara sahip olabilir, ancak dizinin öğeleri, programlama işlemiyle değiştirilemez.

const a: Tamsayı dizisi = (1, 4, 7, 14, 25);

Bu şekilde, dizi bir araya getirildiğinde, hemen yeni elemanla tanışmış oluyoruz.

Bir diziyi doldurma:

Bir diziyi çeşitli şekillerde yükleyebilirsiniz. Hadi bir bakalım...

1) Klavyeden giriş için çevrim için elemanların değeri seçilir:

için ben:=1 ile 10 yapmak oku(a[i]);

2) Atanan ek operatörü kullanarak öğelerin değerlerini diziye ayarlayabilirsiniz:

için ben:=1 ile 10 yapmak a[i]:=i;

3) Ek bir prosedür için diziyi doldurun rastgele. 0'dan 99'a (dahil) kadar farklı sayılar için rasgele rasgele sayılar oluşturmanıza ve dizimizi sayılarla doldurmanıza olanak tanır.

için ben:=1 ile 10 yapmak a[i]:= rastgele(100);

Bir dizideki öğeleri görüntüleme:

Programlama dilinde, programa sadece sayı ve veri girmekle kalmayıp, bunları ekranda (konsol) da görüntüleyebiliyor olabiliriz. Bize göre, bugün veri dizisini konsolda çalıştırabiliyoruz. paskal;

Programları yazarken sorduğumuz gibi sayıları bilebiliriz, bu yüzden bilmiyoruz, böylece sayılar ek bir prosedür için rastgele üretilebilir. rastgele.

Dizinin öğeleri, hem bir takas yoluyla hem de bir rapor yorumuyla konsola girilebilir.

1) Sayıları boşlukla böldükten sonra, ek Yaz komutundan sonra bunları girin:

için ben:=1 ile 10 yapmak write(a[i], " ");

2) Birine yorum yazarak şunları belirteceksiniz: İNDEKS NUMARASI ve ardından indeksle eşleştiği için bir SAYI belirtilecektir. Writeln yardımı için tüm elemanlar konsolda gösterilecek, kelimenin sonundaki LN komutu, dizideki yeni elemanın kaplamasının konsolun yeni satırından görüntüleneceğini belirtir.

için ben:=1 ile 10 yapmak writeln("a[", ben, ", a[i]);

Örneğe bakalım:

var a: sıralamak ile ilgili tam sayı;

rastgele(prosedür, değişken sayıların üretecinin başlatılması için nasıl hizmet edilir (aksi takdirde rozgoduvannya olarak da adlandırılır)

için ben:=1 ile 10 yapmak

a[i]:= rastgele(on dokuz); (sıfırdan 18'e kadar rastgele bir sayı üreten fonksiyon: rastgele(n+1))

yazmak(a[i], "");

Torbalar:

Öğretmen:

Bu yılki derste öğretildiniz mi?

Öğrenmek:

Dizi programlamanın temellerini öğrendim. Їx sersemlemiş, kapalı farklı bir şekilde, ek yorum raporları için görmenin yanı sıra.

tarayıcılar