prosedürler ve fonksiyonlar. Pascal'daki prosedürler ve işlevler

prosedürler ve fonksiyonlar.  Pascal'daki prosedürler ve işlevler
prosedürler ve fonksiyonlar. Pascal'daki prosedürler ve işlevler

8. sınıf. programlama açık ABC dili Pascal

Bilişim öğretmeni, NIS, Uralsk FMN Zelenov Boris Aleksandrovich


  • Öğrenciler problemleri çözmek için prosedürleri ve fonksiyonları kullanırlar.
  • Öğrenciler büyük problemleri daha küçük problemlere bölerek çözmeyi öğrenirler.

  • Bir programlama dilinde prosedürler ve fonksiyonlar kavramını oluşturmak.

  • "Prosedürler" ve "işlevler" kavramlarını bilir, formal ve gerçek parametreleri belirler.

Beklenen Sonuçlar - Tanımlayıcılar:

1. "Prosedür" tanımını bilir

2.İşlev tanımını bilir

3. Gerçek ve biçimsel parametreleri tanımlar

4.Parametre değerlerini ve değişkenleri ayırt eder

5. Program kodunda bir prosedüre veya fonksiyona çağrı bulur



Elvira'nın standart planı

1. Kağıtları çıkarın

2. Çiçekleri sulayın

3. Masaları yıkayın

4. Camı silin

Algoritmanın sonu

Bu sürecin organizasyonu nasıl geliştirilir?




ders konusu

Rutinler:


Ishki bagdarlam

alt program

prosedür

prosedür

Parametreler

Kullanışlı ifadeler:

Değişkenlerin değerlerini prosedüre (fonksiyona) aktarmak için gerçek parametreler kullanılır ...

Prosedürü açıklamak için önce ...., sonra ... gerekir.


Bir alt program kavramı

Tanım

alt program programın işlevsel olarak bağımsız ayrı bir parçasıdır.

alt programlar

prosedürler


  • program metninde benzer parçaları tekrar tekrar tekrar etme ihtiyacını ortadan kaldırın;
  • programın yapısını iyileştirmek, anlaşılmasını kolaylaştırmak;
  • program değişiklikleri sırasında programlama hatalarına ve öngörülemeyen sonuçlara karşı direnci artırır.

  • Bir programlama dili kullanarak bir çit çizin

Bu görevde, bir parça (çit) çizmek için algoritmayı yürütecek bir prosedür oluşturabilir ve ardından kalemin başlangıç ​​​​konumunu değiştirerek sürekli olarak bu prosedüre başvurabilirsiniz.


  • Bir programlama ortamında rasyonel olarak bir Noel ağacının nasıl çizileceğini açıklayın

  • Özel bir şekilde tasarlanmış ve kendi adlarına sahip bağımsız program parçalarıdır.

Ana program ve alt program arasındaki etkileşim



blok şeması

  • Alt program çağrı bloğu (prosedür veya fonksiyon)

Alt program adı (prosedür veya fonksiyon)


blok şeması


Prosedürün açıklaması şuna benzer:

prosedür ad(resmi parametrelerin listesi); açıklama bölümü başlamak operatörler son ;


İşlev açıklaması şuna benzer:

işlev isim(resmi parametrelerin listesi): dönüş tipi;

açıklama bölümü başlamak operatörler son ;


Programdaki yer

programı ...;

//Açıklama bölümü Kullanımlar, Const, Var, ...

prosedür A ;

başlamak ....... son ;

prosedür B ;

başlamak ........ son ;

İşlev C ;

başlamak ........ son ;

//Ana program

başlamak ........ son .


  • Bir işlev ile prosedür arasındaki fark, işlevin gövdesini oluşturan işleçlerin yürütülmesinin sonucunun her zaman tek bir değer olmasıdır, bu nedenle işlev çağrısı, değişkenler ve sabitlerle birlikte karşılık gelen ifadelerde kullanılabilir.

prosedürler

Fonksiyonlar

Birden çok sonuca sahip olabilir veya bazı işlemler gerçekleştirebilir

İşlevi bildirirken türü ayrı olarak belirtilen tek bir sonucu vardır.

Sonuçlar herhangi bir tür dizi, dizi, sayı vb. olabilir.

Sonuç yalnızca gerçek, tamsayı veya karakter değeri olabilir.

Prosedür çağrısı komutu, bağımsız olarak kullanılan ayrı bir komuttur.

Bir işlev çağrısı, yalnızca uygun türdeki bir ifadenin bileşeni olarak kullanılabilir.

Bir fonksiyonun gövdesi, sol tarafında fonksiyonun adının belirtildiği en az bir atama işleci içermelidir.


b sonra maks:=a başka maks:=b; MaksSayı:= maks; bitiş;" genişlik="640"

Prosedür veya fonksiyon?

MaksSayı(a,b: tamsayı): tamsayı;

var max: tamsayı;

MaksSayı:= maks;


b sonra maks:=a başka maks:=b; bitiş;" genişlik="640"

Prosedür veya fonksiyon?

MaksSayı(a,b: tamsayı; var max: tamsayı);

eğer ab ise max:=a else max:=b;


Prosedür veya fonksiyon?

Renk Değiştir(C1, C2: Kelime);

MetinArkaGround(C2)


Prosedür veya fonksiyon?

Topla(X, Y: Tamsayı): Tamsayı;


Gerçek

  • Ana program bölümünde belirtilmiştir

Resmi

  • Alt programda belirtilen
  • Alt programda belirtilen

Aşağıdaki biçime sahip bir ifadeyle bir prosedür çağrısı yapılır:

prosedür adı (gerçek parametrelerin listesi);

  • Gerçek parametrelerin listesi virgülle ayrılmış numaralandırmalarıdır.

  • Pascal dil standardında, parametreler iki şekilde iletilebilir - değere göre ve referansa göre. Değer tarafından iletilen parametreler çağrılır değer parametreleri referans ile geçti - değişken parametreler. Sonuncusu, bir prosedür (işlev) başlığında var hizmet sözcüğünden önce gelmesiyle ayırt edilir.

Geçme parametreleri. Resmi parametreler

Değişkenler

Değerler

Değere göre parametreler

Resmi parametreler

Değişkenler


Resmi parametreler

Değere göre parametreler

  • İlk yöntemde (değere göre geçirme), gerçek parametrelerin değerleri karşılık gelen resmi parametrelere kopyalanır.

prosedür

Ad Prosedürü (a, b: tamsayı);

Ana program

Prosedürün (fonksiyonun) yürütülmesi sırasında bu değerler değiştirilirse, ilk veriler (gerçek parametreler) değişemez.


Var c, d: tamsayı;

  • Referansa göre geçerken, bir prosedürün (fonksiyonun) gövdesinde resmi parametrelerle meydana gelen tüm değişiklikler, bunlara karşılık gelen gerçek parametrelerde hemen benzer değişikliklere yol açar.

prosedür

Ad Prosedürü (a, b: tamsayı, Var c: gerçek);

Ana program

Çağıran bloğun değişkenlerinde değişiklikler meydana gelir, bu nedenle çıkış parametreleri referans olarak iletilir. Çağrıldığında, bunlara karşılık gelen gerçek parametreler yalnızca değişken olabilir.


Sen yaz:

1. Gerçek parametreler ___________

Prosedür Kvad(R: gerçek; var S: gerçek);

2.Formal parametreler ___________

3. Resmi parametreler-değerler __________

5. Prosedür adı ___________

6. Prosedürü programdan çağırma _____________________


Etkileşimli görev

http://www.bzfar.net/load/podprogrammy_procedury_i_funkcii_parametry/23-1-0-498


Elvira sınıf lideridir. Sınıftaki genel temizlik için bir plan yapması gerekecek: kağıtları çıkarın, çiçekleri sulayın, sıraları yıkayın, camları silin. İşini düzenlemesinin en iyi yolu nedir? Elvira'ya yardım et.


Elvira Gelişmiş Planı

Rutinler:

Arsen - kağıtları kaldırır

Çiçekleri sulayan Mila

Vitaly - masaları yıkar

Indira - cam siler

1. Arsen'i çalıştırın

2. Mila'yı çalıştırın

3. Vitaly'yi çalıştırın

4. Indira'yı çalıştırın

Algoritmanın sonu


  • Bugün programlama dilinin hangi yeni yapılarıyla tanıştık?
  • İncelenen parametreleri adlandırın
  • Parametreler bir prosedüre nasıl iletilir?

  • ders özeti
  • Tanımları Bulun: "Yerel Değişkenler" ve "Global Değişkenler"
  • Prosedürlerin veya işlevlerin kullanılabileceği iki görev oluşturun.

  • Dersin konusunu nasıl tanımlarsınız? (kendi adını uydur)
  • Bir sonraki derste ne öğrenmen gerektiğini düşünüyorsun?

Tanışalim

gelecek ders!

Eğlenmek Ön izleme sunumlar bir hesap oluşturur ( hesap) Google ve oturum açın: https://accounts.google.com


Slayt altyazıları:

Pascal'da prosedürler ve fonksiyonlar. Yineleme Bilgisayar bilimi öğretmeni GBOU okulu 1362 Sanina Marina Sergeevna tarafından gerçekleştirilir

Alt program - programın belirli bir algoritmayı gerçekleştiren ve ona farklı bölümlerden erişime izin veren özerk bir parçası genel program. Alt programları kullanmak, en modern programlama yöntemlerinden biri olan yapılandırılmış programlamayı uygulamanıza olanak tanır.

alt programlar prosedür fonksiyonu PROSEDÜR FONKSİYONU

Pascal'daki prosedürler ve fonksiyonlar, değişken bölümünün arkasındaki açıklama bölümünde bildirilir.

İşlevler ve yordamlar parametrelere (bir değer ileten değişkenler) sahiptir. Bunlar iki türdendir: 1) Resmi - alt programın açıklamasında olanlar 2) Gerçek - ana programdan bir fonksiyona veya prosedüre aktarılanlar. Gerçek parametreler sayı, sıra ve tür bakımından resmi olanlarla eşleşmelidir.

Ayrıca, alt programın değişkenleri vardır. kiminle çalışmaya devam edecek. Yine iki türe ayrılırlar: 1) Genel değişkenler, yani programın tamamında hareket eden değişkenler 2) Yerel - yalnızca bir prosedür veya işlevde hareket edenler

Prosedürler Bir alt programın birden fazla sonuç alması gerektiğinde kullanılır. İki tür prosedür vardır: bir parametre ile; parametresiz.

Prosedür yapısı, program yapısına benzer ve bir başlık ve bir bloktan (prosedür gövdesi) oluşur. prosedür ProsedürAdı; var … başla …//Yordam gövdesi bitiş ; begin // ana program gövdesi sonu .

Parametresiz prosedürler prosedür pr; var i: tamsayı; start for i:=1 ila 60 do write (' * "); writeln ; end . start pr ; end. Bu program 60 yıldızdan oluşan bir dizi çıkarır.

Bir parametre ile prosedür. c=5 ve d=7 olmak üzere iki sayının yerlerini değiştiren bir program yazınız program obmenDan ; var c,d:integer ; prosedür obmen(a,b:integer); var m: tamsayı; başlangıç:=a; bir:=b; b:=m; yaz(a,b); son; writeln("2 sayı giriniz: "); readln(c,d); obmen(c,d) ; writeln(c," ",d); son.

Problemin analizi 1) obmen prosedürünü iki parametre 5 ve 7 ile çağırırken, 5 ve 7 sayıları da sırasıyla a ve b değişkenlerine yerleştirilir: с 5 d 7 a 5 b 7

c ve d , a ve b değişkenlerinin resmi parametreleri açıklarken aynı bellek hücrelerine atıfta bulunması için (a ve b değerleri değişirse c , d değerleri de değişecektir), gerekli değişkenlerin önüne VAR kelimesini ekleyin: prosedür obmen (var a,b:integer); c 5 d 7 a b

İşlevler Pascal'daki yerleşik işlevler kümesi oldukça geniştir (ABS, SQR, TRUNC, vb.). Programa yeni, standart olmayan bir işlev dahil edilmişse, program metninde tanımlanmalı ve ardından programdan erişilebilir. İşlev çağrısı, atama operatörünün sağ tarafında, işlevin adını ve gerçek parametreleri belirterek gerçekleştirilir. Bir fonksiyonun kendi yerel sabitleri, tipleri, değişkenleri, prosedürleri ve fonksiyonları olabilir. Pascal'daki işlevlerin tanımı, prosedürlerin açıklamasına benzer.

İşlevlerin ayırt edici özellikleri: - yürütme sonucu - işlev adına atanan ve ana programa aktarılan bir değer; - işlev adı, ifadeye bir işlenen olarak dahil edilebilir.

İşlev açıklaması: işlev () : tür; (yerel ad açıklama bölümü) Başla (yürütülebilir ifadeler bölümü) :=; (gerekli parametre) Bitiş;

İşlev çağrısı: := (); 1. Atama operatörünün sağ tarafında. 2. Dallanma operatörünün durumundaki bir ifadede. 3. Çıkış prosedüründe, fonksiyonun bir sonucu olarak.

Yineleme Pascal'daki prosedürler ve işlevler kendilerini çağırabilir, yani. özyineleme özelliğine sahiptir. Yinelemeli bir işlev, programın döngüye girmesine neden olmamak için mutlaka yinelemeli bir sonlandırma koşulu içermelidir. Her özyinelemeli çağrı, yeni bir yerel değişkenler kümesi oluşturur. Yani çağrılan fonksiyonun dışında bulunan değişkenler değişmez.

Bir n sayısının faktöriyelini aşağıdaki gibi hesaplayan özyinelemeli bir işlev oluşturun: n ! = 1 ise n= 1 n!= (n -1)! n > 1 ise

function f(n: tamsayı): tamsayı ; başla eğer n = 1 ise f:= 1 değilse f:= n * f (n -1); (f işlevi kendisini çağırır) end ;

Görevler a, b, c değişkenlerinin değerlerini azalan düzende (a ≤ b ≤ c) düzenlenecek şekilde değiştirin. Verilen n tamsayı. Aralarından rakamları toplamı en büyük olan sayıyı bulunuz.


Alt programlar Genellikle bir görevde, programın farklı bölümlerinde belirli bir ifade dizisini tekrarlamak istersiniz. Programlama dillerinde bu diziyi bir kez tarif etmek ve birçok kez uygulamak için alt programlar kullanılır. Bir alt program, ana programda daha fazla yeniden kullanılması için özel olarak tasarlanmış bir program bloğudur.Alt programların kullanımı, en modern programlama yöntemlerinden biri olan yapılandırılmış programlamayı uygulamanıza olanak tanır.


Alt programlar, programlamayı büyük ölçüde kolaylaştıran üç önemli görevi çözer: 1. program metninde benzer parçaları tekrar tekrar tekrar etme ihtiyacını ortadan kaldırır, örn. programın kapsamını azaltmak; 2. Ayrıştırma sırasında anlaşılmasını kolaylaştırarak programın yapısını iyileştirin; 3. Değişiklik sırasında hata olasılığını azaltın, programlama hatalarına ve öngörülemeyen sonuçlara karşı direnci artırın.


Prosedürler ve Fonksiyonlar Pascal'da iki tür alt program vardır: prosedür (PROCEDURE) ve fonksiyon (FUNCTION). Pascal'daki prosedürler ve fonksiyonlar, değişken bölümünün arkasındaki açıklama bölümünde bildirilir. Program ProgramAdı; VAR … // ana program değişkenlerinin açıklaması bölümü; prosedür ProsedürAdı; var … başla …//Prosedür gövdesi sonu; start //ana program gövdesi sonu.


İşlevler ve yordamlar parametrelere (bir değer ileten değişkenler) sahiptir. Bunlar iki türdendir: 1) Resmi - alt programın açıklamasında olanlar 2) Gerçek - ana programdan bir fonksiyona veya prosedüre aktarılanlar. Gerçek parametreler sayı, sıra ve tür bakımından resmi olanlarla eşleşmelidir.




Prosedürler Prosedürler, bir alt programda birkaç sonuç elde edilecek olduğunda kullanılır. Pascal'da iki tür prosedür vardır: parametreli ve parametresiz prosedürler. Bir prosedür, prosedürün adıyla ve ardından gerçek parametrelerle çağrılır. Bir prosedür çağrıldığında, gerçek ve resmi parametreler arasında bire bir uygunluk kurulur, ardından kontrol prosedüre aktarılır. Prosedür yürütüldükten sonra kontrol, prosedür çağrısından sonra çağıran programın bir sonraki operatörüne aktarılır.


Örnek 1: 60 yıldızdan oluşan bir dizi yazdıran parametresiz bir prosedür. prosedür pr; var i: tamsayı; start for i:=1 - 60 do write(* "); writeln; end; pr başla; bitiş.


Örnek 2. c=5 ve d=7 sayılarını yer değiştiren bir program yazınız program obmenDan; var c,d:integer; prosedür obmen(a,b:integer); var m: tamsayı; başlangıç:=a; bir:=b; b:=m; yaz(a,b); son; writeln("2 sayı giriniz: "); readln(c,d); değiştir(c, d); writeln(c," ",d); son. c5 d 7 a 5 b 7 a 7 b 5 3) ancak c ve d değişkenlerindeki veriler değişmedi, onlar diğer hafıza hücrelerinde


C ve d, a ve b değişkenlerinin resmi parametreleri açıklarken aynı bellek hücrelerine atıfta bulunabilmesi için (a ve b değerleri değişirse c ve d değerleri de değişecektir), gerekli değişkenlerin önüne VAR kelimesini ekleyin: prosedür obmen (var a,b:integer); c5 d 7 a b


Örnek 3. 3 farklı tamsayı dizisi verildi (her birinin boyutu 15'i geçmiyor). Her dizide, elemanların toplamını ve aritmetik ortalamayı bulun. program süreci; var i, n, toplam: tamsayı; sr: gerçek; prosedür çalışması (r:integer; var s:integer; var s1:gerçek); var mas: tamsayı dizisi; j: tamsayı başla s:=0; j için:=1'den r'ye okumaya başla(mas[j]); s:=s+mas[j]; son; s1:=s/r; son;


(ana program) start for i:=1 to 3 do start write ("Vvedite razmer ",i, " masiva: "); readln(n); iş(n, toplam, sr); (çalışma prosedürünü çağırma) writeln("Summa elementov = ",sum); writeln("Srednearifmeticheskoe = ",sr:4:1); son; son.


Programın çalışmasının sonucu: Program, r, s, s1 biçimsel değişkenlerinin gerçek n, sum, sr ile değiştirildiği çalışma prosedürünü üç kez çağırır. Prosedür, dizi elemanlarının girişini gerçekleştirir, toplamı ve ortalama değeri hesaplar. s ve s1 değişkenleri şuraya döndürülür: ana program, bu nedenle, açıklamalarından önce var hizmet sözcüğü yerleştirilir. Yerel parametreler mas, j yalnızca prosedürde geçerlidir. Global - i, n, sum, sr program boyunca mevcuttur.


Pascal'daki İşlevler Pascal'daki yerleşik işlevler kümesi oldukça geniştir (ABS, SQR, TRUNC, vb.). Programa yeni, standart olmayan bir işlev dahil edilmişse, program metninde tanımlanmalı ve ardından programdan erişilebilir. İşlev çağrısı, atama operatörünün sağ tarafında, işlevin adını ve gerçek parametreleri belirterek gerçekleştirilir. Bir fonksiyonun kendi yerel sabitleri, tipleri, değişkenleri, prosedürleri ve fonksiyonları olabilir. Pascal'daki işlevlerin tanımı, prosedürlerin açıklamasına benzer.




Örnek 4. a, x'in herhangi bir sayı olduğu, a x dereceli bir alt program fonksiyonu yazın. Şu formülü kullanalım: a x = e x ln p2 programı; var f, b, s, t, c, d: gerçek; ( global değişkenler) fonksiyon stp (a, x: gerçek): gerçek; değişir: gerçek; (yerel değişkenler) y:= exp (x * ln (a)) ; stp:= y;(alt program hesaplama sonucunun işlev adının atanması) end; (işlev açıklaması bitti) begin d:= stp(2.4, 5); (çeşitli sayıların ve değişkenlerin kuvvetlerinin hesaplanması) writeln (d, stp (5,3.5)); oku(f, b, s, t); c:= stp(f, s)+stp(b, t); yaz(c); son.


İşlevler Bir alt program, ayrı bir sözdizimsel yapı olarak tasarlanmış ve bireysel görevleri çözmek için bir adla (bağımsız bir program bloğu) sağlanan bir programın parçasıdır. Prosedür açıklaması: prosedür () (yerel ad yürütme bölümü) Başla (ifade yürütme bölümü) Bitiş; Fonksiyon açıklaması: fonksiyon (): tip; (yerel ad beyanı bölümü) Begin (yürütülebilir ifade bölümü) := ; (gerekli parametre) Bitiş; Prosedür çağrısı: (); İşlev çağrısı: := (); 1. Atama operatörünün sağ tarafında. 2. Dallanma operatörünün durumundaki bir ifadede. 3. Çıkış prosedüründe, fonksiyonun bir sonucu olarak. Alt program prosedürlerinin açıklaması


Yineleme Pascal'daki prosedürler ve işlevler kendilerini çağırabilir, yani. özyineleme özelliğine sahiptir. Yinelemeli bir işlev, programın döngüye girmesine neden olmamak için mutlaka yinelemeli bir sonlandırma koşulu içermelidir. Her özyinelemeli çağrı, yeni bir yerel değişkenler kümesi oluşturur. Yani çağrılan fonksiyonun dışında bulunan değişkenler değişmez.


1 fonksiyon f(n: tamsayı): tamsayı; başla eğer n = 1 ise f:= 1 değilse f:= n * f (n -1); (f işlevi kendini çağırır" title="Örnek 5. Bir n sayısının faktöriyelini aşağıdaki gibi hesaplayan özyinelemeli bir işlev oluşturun: n! = 1 if n= 1 n!= (n -1)! n if n > 1 işlev f (n: tamsayı): tamsayı; n = 1 ise başla, sonra f:= 1 aksi takdirde f:= n * f (n -1); (f işlevi kendini çağırır" class="link_thumb"> 19 !}Örnek 5. Bir n sayısının faktöriyelini aşağıdaki gibi hesaplayan özyinelemeli bir fonksiyon yazın: n! = 1 ise n= 1 n!= (n -1)! n eğer n > 1 fonksiyon f (n: tamsayı): tamsayı; başla eğer n = 1 ise f:= 1 değilse f:= n * f (n -1); (f işlevi kendisini çağırır) end; 1 fonksiyon f(n: tamsayı): tamsayı; başla eğer n = 1 ise f:= 1 değilse f:= n * f (n -1); (f işlevi kendini çağırır"> 1 f işlevi (n: tamsayı): tamsayı; n = 1 ise başla, sonra f:= 1 aksi takdirde f:= n * f (n -1); (f işlevi kendini çağırır) bitiş; " > 1 işlev f (n: tamsayı): tamsayı; n = 1 ise başla, sonra f:= 1 değilse f:= n * f (n -1); (f işlevi kendini çağırır" title="Örnek 5) n'nin faktöriyelini aşağıdaki gibi hesaplayan özyinelemeli bir fonksiyon yazın: n!=1 if n= 1 n!= (n -1)!n if n > 1 function f (n: integer): integer;begin if n = 1 sonra f:= 1 başka f:= n * f (n -1); (f işlevi kendisini çağırır"> title="Örnek 5. Bir n sayısının faktöriyelini aşağıdaki gibi hesaplayan özyinelemeli bir fonksiyon yazın: n! = 1 ise n= 1 n!= (n -1)! n eğer n > 1 fonksiyon f (n: tamsayı): tamsayı; başla eğer n = 1 ise f:= 1 değilse f:= n * f (n -1); (f işlevi kendisini çağırır"> !}




alt programlar v TurboPaskal


  • alt program istenildiği kadar çalıştırılmak üzere çağrılabilen adlandırılmış, mantıksal olarak eksiksiz bir komut grubudur. farklı yerler programlar.

Alt programları kullanma nedenleri

  • görevi birkaç alt göreve ayırarak (bölerek) büyük programların geliştirilmesini basitleştirin;
  • programın daha fazla görünürlüğü;
  • bellek tasarrufu.

Alt program türleri

prosedürler

fonksiyonlar

  • prosedür belirli eylemleri gerçekleştirmek için tasarlanmış programın bağımsız bir adlandırılmış parçasıdır.

Parametresiz prosedürler

  • kayıt formatı :

prosedür ;

son ;

  • Parametresiz prosedürlerde kullanılan tüm değişkenler ana programda (Var modülünde) açıklanmıştır.

Örnek . Silindirin hacmini bulan programı yazınız.

program silindiri;

Var R, H, V: gerçek;

Giriş Prosedürü; (veri giriş prosedürü)

Writeln('Yarıçap değerini giriniz');

writeln('Yükseklik değerini giriniz');

prosedür; { prosedür hesaplamalar hacim }

V:=PI*sqr(R)*H;

Çıkış Prosedürü; ( çıkış prosedürü )

writeln('V=',V);


prosedürler C parametreler

  • Prosedürler sabitleri, değişkenleri ve diğer prosedürleri tanımlayabilir.
  • Prosedürlerdeki açıklama bölümü, ana programdaki ile aynı yapıya sahiptir.
  • Yerel değişkenler bir prosedür içinde bildirilen değişkenlerdir.
  • Yerel değişkenlere bir prosedürün dışında erişilemez.
  • Bir prosedür içindeki yerel değişkenlerde yapılan değişiklikler, aynı ada sahip ancak prosedür dışında bildirilen değişkenlerin değerlerini etkilemez.

prosedürler C parametreler

  • Genel değişkenler

Örnek .

programın görevi;

Var a, b: tamsayı;

prosedür yerel;

var a, x: char; İçin prosedürler yerel:

başlamak değişken X - yerel değişken

bir:='! '; (program değerini değiştiremez)

b:=b+1; değişken B - küresel değişken

son ; (prosedürde bu değişkenin değerindeki tüm değişiklikler

BEGIN, prosedürden çıkıldıktan sonra bile korunur)

b:=100; değişken A ana programda bütün tip,

yerel; ve prosedürde - karakter türü. değişken bir

writeln('a=', a); tamsayı tipi yerel prosedürde mevcut değil.

writeln('b=',b);

Program yürütmenin sonucu: a=0; b=101.


); başlangıç; son ; "genişlik="640"

parametrelerin geçirilmesi Turbo Pascal

  • 1. Parametreleri değere göre geçirme
  • Değer parametreleri prosedür adından sonra bildirilen değişkenler parantez. Onlardan önce Var hizmet sözcüğü yoktur.
  • kayıt formatı :

prosedür (:

değişken);

son ;


  • resmi parametreler .
  • gerçek parametreler .

Örnek .

program parametresi;

var m, n: tamsayı;

toplam Prosedür(a, b: tamsayı);

writeln('S=',S);

toplam(m,n); veya summa(100,10);

Değişkenler A Ve B resmi parametreler ve değişkenlerdir M Ve N - gerçek. Gerçek parametre değerleri M =100 ve N =10 resmi parametrelere iletilir A Ve B .

Gerçek parametrelerde yapılan değişiklikler yalnızca prosedür içinde gerçekleşir ve prosedür dışında bunları etkilemez.


; var değişkeni:); başlangıç; son ; "genişlik="640"

parametrelerin geçirilmesi Turbo Pascal

  • 2. Parametreleri ada göre geçirme
  • Değişken parametreler yordam adından sonra parantez içinde bildirilen değişkenler ve önünde Var hizmet sözcüğü gelir.
  • kayıt formatı :

prosedür (:

değişken; Var

değişken:);

son ;



b sonra min:= b; min c ise min:= c; son ; BEGIN writeln('Üç sayı giriniz'); readln(a1, b1, c1); writeln('üç sayı giriniz'); readln(a2,b2,c2); minimum(a1,b1,c1, min1); minimum(a2,b2,c2, min2); S:= min1 + min2; writeln('S=', S); SON. Örnek. İki üçlü sayı verildiğinde: a 1, b 1, c 1 ve a 2, b 2, c 2. Toplamın değerini bulun: S=min (a1, b1, c1) + min (a2, b2, c2) "genişlik=" 640"

var a1,b1,c1,a2,b2,c2, min1, min2, S: gerçek;

Prosedür minimum (a,b,c: gerçek; Var min: gerçek);

min b ise min:= b;

min c ise min:= c;

writeln('Üç sayı giriniz');

readln(a1, b1, c1);

writeln('üç sayı giriniz');

readln(a2,b2,c2);

minimum(a1,b1,c1, min1);

minimum(a2,b2,c2, min2);

S:= min1 + min2;

writeln('S=', S);

Örnek. İki üçlü sayı verildiğinde: a 1, b 1, c 1 ve a 2, b 2, c 2. Toplamın değerini bulun: S=min (a1, b1, c1) + min (a2, b2, c2)


İşlev sonucu bir değer olan bir alt programdır.

  • kayıt formatı :

işlev (:

son ;

  • İşlev gövdesinde, yürütmesinin sonucu olarak işlev adına atanmalıdır.
  • Bir işlev çağrıldığında, adı gerçek parametreler listesiyle birlikte ifadeye işlenen olarak dahil edilmelidir.

program ifadesi;

işlev modülü (a: gerçek): gerçek;

writeln('Değişkenin değerini girin');

y:= modül(x-3) + modül(x+6);

writeln('y=', y);

Örnek . İfadenin değerini hesaplayın: y = | x -3 | + | x+6 |

slayt 1

slayt 3

Alt programlar: Küresel ve Yerel Değişkenler Tüm alt programlar, bir bildirim bölümünde bildirilmelidir. Her alt programın bir adı olmalıdır. Ana program ve alt programlar arasındaki bilgiler, programın herhangi bir bölümünde geçerli olan ve ana programda açıklanan ada sahip genel parametreler (değişkenler) tarafından iletilir. Alt programın içinde, yerel parametreler (değişkenler) kullanılabilir - adları ve değerleri yalnızca verilen alt programın sınırları içinde anlamlıdır ve çağıran program tarafından kullanılamaz.

slayt 4

Resmi ve gerçek parametreler Alt programların tanımında, parametreler sadece isimlerle belirtilir, bu nedenle resmi olarak adlandırılırlar. Alt program çağrılana kadar hiçbir anlamları yoktur. Sayılarını ve veri türlerini sabitleyerek yalnızca gerçek parametreler için yer ayırırlar. Gerçek parametre türleri: Değer parametreleri, belirli bir alt program parametresine hangi değerin atanması gerektiğini gösterir. Alt program sona erdikten sonra, alt programda değiştirilseler bile önceki değerlerine dönerler. Alt programdaki değişken parametreler resmi olanların yerini alır, alt programın yürütülmesi sırasında değerlerini değiştirebilirler ve alt programdan çıkıldığında değişiklikleri kaydedebilirler (değişken parametrelerden önce anahtar kelime var).

slayt 5

slayt 6

Prosedürün açıklaması Program Pr1; Const...Type...Var...Procedure(); Açıklama Başlangıç ​​Prosedür gövdesi Bitiş; Başlamak ... (); …son. Prosedür çağrıldığında, resmi parametreler gerçek olanlarla değiştirilir.

Slayt 7

İki sayının toplamını hesaplama prosedürü pr1 programı; Crt'yi kullanın; Var a,b,s:gerçek; prosedür summa(x,y:gerçek;var z:gerçek); başla:=x+y; son; clrscr'yi başlat; writeln("a,b giriniz"); readln(a,b); toplam(a, b, s); writeln(" sayıların toplamı ",a:3:1," ve ",b:3:1," = ",s:3:1); oku; son. x,y,z – resmi parametreler, yerel a,b,s değişkenleri– global değişkenler a,b,s – gerçek parametreler x y z a bs Parametre değerleri Parametre değişkeni

Slayt 8

Slayt 9

slayt 10

a:=(3n!+2m!)/(m+n) ifadesinin değerini hesaplayın! Faktöriyeli bulmak için ne tür değişkenler kullanılmalıdır? programpr2; Crt'yi kullanın; Varm,n,x,y,z:integer; a:gerçek; prosedür fact(d:integer;var q:integer); var i:integer; startq:=1; i:=1 ila d için q:=q*i yapın; son; clrscr'yi başlat; writeln("n,m değerlerini giriniz"); readln(n,m); olgu(n, x); olgu(m,y); olgu(m+n,z); a:=(3*x+2*y)/z; writeln("m= ",m:4," ve n= ",n:4,"eşittir",a:8:3 olduğunda ifadenin değeri); oku; son. N!=1 2 3… H

slayt 11

Tek boyutlu bir dizinin öğelerinin girdi çıktısı Random(X) işlevi, 0'dan X'e bir tamsayı veya gerçek türden rastgele bir sayı üretir (işlevi çağırmadan önce, Randomize prosedürü kullanılarak başlatılmalıdır). X belirtilmezse, sonuç 0,0 ile 1,0 arasında Gerçek türünde olacaktır. random(B-A+1)+A aralığından bir tamsayı rasgele sayı dizisi elde etmek için Görev: Bir rasgele sayı üreteci (-10 ila 20 arası değer aralığı) kullanarak tek boyutlu bir dizinin öğelerinin girişini düzenleyin ve bir prosedür olarak elemanların çıktısı. A=-10 için B=20 rastgele(20-(-10)+1)+(-10)

slayt 12

slayt 13

slayt 14

İşlevin açıklaması İşlevler yalnızca bir değeri hesaplamak için tasarlanmıştır, 1. bu nedenle, ilk farkı, prosedürün birkaç parametre için yeni değerlere sahip olabilmesi ve işlevin yalnızca bir taneye sahip olmasıdır (sonuç olacaktır). 2. İkinci fark, işlev başlığındadır. FONKSİYON kelimesinden ve ardından fonksiyonun adından, ardından parantez içindeki resmi parametrelerin bir listesinden ve ardından iki nokta üst üste ile ayrılmış fonksiyon sonucunun türünden oluşur. 3. İşlev gövdesi, işlev adının sol tarafta ve değerinin sağ tarafta olduğu en az bir atama işleci içermelidir. İşlev (): Açıklama Başlangıç ​​İşlev gövdesi:=; son;

slayt 15

a:=(3n!+2m!)/(m+n) ifadesinin değerini hesaplayın! program fn2; Crt'yi kullanın; Varm,n:integer; a:gerçek; function fact(d:integer) :longint; var i:integer; q: uzun; startq:=1; i:=1 ila d için q:=q*i yapın; gerçek:=q; son; clrscr'yi başlat; writeln("n,m değerlerini giriniz"); readln(n,m); a:=(3*gerçek(n)+2*gerçek(m))/gerçek(m+n);; writeln("m= ",m:4," ve n= ",n:4,"eşittir",a:8:3 olduğunda ifadenin değeri); oku; son.

slayt 16

ab bulan bir program yazın, yani b-inci derece A ve B tam sayılar ve B>0 olmak üzere A sayıları klavyeden girilir. İşlevi prosedür programı pr2 ile değiştirerek bir program yazın; Crt'yi kullanın; var a,b:integer; c:uzun süre; İşlev adımları(x,y:integer):longint; var i:integer; s:uzun süre; başla s:=1; i:=1 ila y için s:=s*x; Stephen:=s; son; clrscr'yi başlat; writeln("a, b değerlerini giriniz"); readln(a,b); C:=adım(a,b); writeln("s=",s); oku; son.

slayt 17

slayt 18

Fonksiyonlara ve prosedürlere parametre geçirme mekanizması Prosedür tarafından ne yazdırılacak ve program tarafından ne yazdırılacak? Global değişkenler Yerel değişkenler a b 3 3 -3 Adres c a b c 48 Adres c A:=b+3 B:=3*a C:=a+b Durum C 24 5 8 Cevap

slayt 19