prosedürler ve fonksiyonlar. Pascal'daki prosedürler ve işlevler
Ayrıca oku
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şkeniSlayt 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… Hslayt 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 Cevapslayt 19