Rumah - Internet
Turbo Pascal. Pernyataan terstruktur

Operator lompat bersyarat pada Turbo Pascal berbentuk:

Jika kondisi Kemudian operator 1 kalau tidak operator 2;

kondisi adalah ekspresi logis, bergantung pada salah satu dari dua cabang alternatif algoritma yang dipilih. Jika nilai kondisinya BENAR, maka operator 1, ditulis setelah kata kunci kemudian. Jika tidak maka akan dieksekusi operator 2, mengikuti kata lain, sementara operator 1 dilewati. Setelah mengeksekusi pernyataan yang ditentukan, program melanjutkan mengeksekusi perintah segera setelah pernyataan if.

Penting untuk diingat bahwa titik koma tidak pernah ditempatkan sebelum kata kunci else!

else - bagian dalam pernyataan if mungkin hilang:

Jika kondisi Kemudian operator 1;

Kemudian, jika kondisi logis tidak terpenuhi, kendali segera ditransfer ke operator yang terletak di program setelah konstruk if.

Operasi dasar dan prosedur serta fungsi matematika

Ekspresi matematika dalam notasi algoritmik terdiri dari operasi dan operan. Sebagian besar operasi bersifat biner, mis. berisi dua operan (operasi unary berisi satu operan, misalnya: -a, ambil alamat @B).

Operasi aritmatika:

+, -, /, *, div (pembagian bilangan bulat), mod (sisa pembagian),

Logis: tidak, dan, atau, xor,

Operasi relasional: >,<, >=, <=, <>, =.

Perhitungan logis dan operasi relasional

Kehadiran tipe Boolean dan operasi dengannya memungkinkan Anda memprogram perhitungan logis berdasarkan aljabar Boolean. Empat operasi logika diperkenalkan, yang hasilnya selalu bertipe Boolean dan hanya dapat memiliki satu dari dua nilai (Trueº1 (benar) atau Falseº0 (false)).

Untuk menghindari kesalahan, lebih baik menempatkan tanda kurung sendiri saat melakukan perhitungan logis. Jadi, misalnya notasi Bukan A Dan B akan ditafsirkan oleh penyusun sebagai (Bukan A)Dan B, tetapi mungkin perlu sebagai berikut: Bukan (A Dan B).

Prosedur dan fungsi matematika

Pustaka sistem Turbo Pascal ditunjukkan pada tabel:

Fungsi matematika sangat sensitif terhadap jangkauan argumennya. Selain itu, nilai kembalian tipe integer harus sesuai dengan nilai tersebut, jika tidak, konsekuensi fatal dapat terjadi

Sebagian besar fungsinya standar dan tidak memerlukan komentar. Secara terpisah, saya ingin membahas hal-hal tertentu.

Fungsi PI menghasilkan angka “Pi” dengan akurasi tergantung pada keberadaan koprosesor dan berisi 10 hingga 14 digit penting setelah titik desimal; fungsi ini dapat digunakan dalam perhitungan sebagai konstanta, tetapi tidak dapat ditempatkan dalam konstanta yang dapat dihitung dari blok Const.

Himpunan fungsi trigonometri terbatas, tetapi memungkinkan untuk memperluas perpustakaan matematika dengan memperkenalkan fungsi Anda sendiri yang mendefinisikan matematika standar

Tipe Data

Pekerjaan laboratorium No.2(2 jam)

Pilihan 5

Operator adalah elemen tak terpisahkan dari suatu program yang memungkinkan dilakukannya tindakan algoritmik tertentu. Perbedaan antara operator dan elemen lainnya adalah bahwa ia selalu menyiratkan suatu jenis tindakan. Dalam Pascal, operator terdiri dari kata-kata fungsi. Operator-operator yang digunakan dalam suatu program dipisahkan satu sama lain dan dari elemen program lainnya dengan simbol (;). Semua Operator Pascal secara kasar dapat dibagi menjadi dua kelompok:

  1. sederhana;
  2. tersusun.

Operator Sederhana adalah operator yang tidak mengandung operator lain. Ini termasuk:

  • operator penugasan (:=);
  • pernyataan prosedur;
  • operator lompat tanpa syarat (GOTO).

Pernyataan terstruktur adalah operator yang berisi operator lain. Ini termasuk:

  • operator gabungan;
  • operator bersyarat (IF, CASE);
  • operator perulangan (UNTUK, SAAT, ULANGI);
  • bergabung dengan operator (DENGAN).

Operator Sederhana

Operator prosedur

Operator prosedur berfungsi untuk memanggil suatu prosedur.

Format: [procedure_name] (daftar parameter panggilan);

Pernyataan prosedur terdiri dari pengidentifikasi prosedur, diikuti dengan daftar parameter panggilan dalam tanda kurung. Pascal memiliki prosedur tanpa parameter. Dalam hal ini, saat dipanggil, tidak ada daftar parameter. Eksekusi pernyataan prosedur mengarah pada aktivasi tindakan yang dijelaskan dalam tubuhnya. Ada dua jenis prosedur dalam Pascal:

  • Standar, yang dijelaskan dalam bahasa itu sendiri dan merupakan bagian dari bahasa;
  • Prosedur pengguna yang dibuat oleh pengguna.

Untuk memanggil prosedur standar, Anda harus terhubung di bagian USES dari nama modul (perpustakaan), di mana prosedur ini dijelaskan. Sejumlah prosedur yang terletak di modul SYSTEM selalu terhubung ke program secara otomatis dan koneksinya di bagian USES tidak diperlukan. Prosedur standar Pascal adalah BACA, TULIS, TULIS ULANG, TUTUP, RESET.

BACA ([variabel_file], [daftar_input])

BACA(x,y)

Prosedur pengguna (non-standar) harus dibuat sebelum digunakan dalam program dan ditempatkan di bagian deskripsi program itu sendiri, atau di unit program terpisah dari modul. Jika prosedurnya ada di dalam modul, maka nama modul tersebut harus disebutkan di aplikasi USES.

Operator GOTO tanpa syarat

Format: PERGI [label];

GOTO adalah kata khusus dalam Pascal. [label] adalah pengidentifikasi arbitrer yang memungkinkan Anda menandai pernyataan program tertentu dan kemudian merujuknya. Di Pascal, dimungkinkan untuk menggunakan bilangan bulat tak bertanda sebagai label. Label diletakkan sebelum dan dipisahkan dari tanda operator (:). Satu pernyataan dapat ditandai dengan beberapa label. Mereka juga terpisah satu sama lain (:). Sebelum menggunakan label pada bagian pernyataan, harus dijelaskan pada bagian LABEL (bagian deskripsi).

Tindakan GOTO mentransfer kendali ke pernyataan bertanda yang sesuai. Saat menggunakan tag, Anda harus mengikuti aturan berikut:

  • label harus dijelaskan pada bagian deskripsi dan semua label harus digunakan;
  • jika bilangan bulat digunakan sebagai label, bilangan tersebut tidak dideklarasikan.

Bertentangan dengan prinsip teknologi pemrograman terstruktur. Bahasa pemrograman modern tidak menyertakan operator seperti itu, dan tidak perlu menggunakannya. Selain itu, komputer modern menggunakan apa yang disebut metode konveyor. Jika operator lompatan tanpa syarat ditemukan dalam suatu program, maka operator tersebut akan memutus seluruh pipeline, memaksanya untuk dibuat lagi, yang secara signifikan memperlambat proses komputasi.

Pernyataan terstruktur

Pernyataan kondisi IF

Operator kondisional digunakan dalam program untuk mengimplementasikan struktur algoritmik - percabangan. Dalam struktur ini, proses komputasi dapat dilanjutkan ke salah satu arah yang memungkinkan. Pemilihan arah biasanya dilakukan dengan memeriksa beberapa kondisi. Ada dua jenis struktur percabangan: struktur garpu dan bypass.

Dalam bahasa Pascal, operator IF bersyarat adalah sarana untuk mengatur proses komputasi percabangan.

Format: JIKA [ekspresi_boolean] Lalu [operator_1]; Lain [operator_2];

IF, Then, Else merupakan kata fungsi. [operator_1], [operator_2] - operasi biasa bahasa Pascal. Bagian Else bersifat opsional (mungkin hilang).

Pernyataan IF bekerja seperti ini: Pertama-tama ia memeriksa hasil ekspresi Boolean. Jika hasilnya BENAR, maka [pernyataan_1] yang mengikuti kata fungsi Then dijalankan, dan [pernyataan_2] dilewati. Jika hasilnya FALSE, maka [pernyataan_1] dilewati dan [pernyataan_2] dijalankan.

Jika bagian Else tidak ada, maka pernyataan IF tidak dalam bentuk lengkap:

JIKA [ekspresi boolean] Lalu [operator];

Dalam hal ini, jika hasilnya Benar (TRUE), maka [pernyataan] dijalankan; jika Salah (FALSE), maka kendali dipindahkan ke pernyataan yang mengikuti pernyataan IF.

Ada 2 bilangan A dan B. Tentukan bilangan maksimalnya.

Operator gabungan

Pernyataan majemuk adalah urutan operasi arbitrer dalam suatu program, diapit dalam tanda kurung operator (Awal-Akhir).

Format: Mulai [operator]; Akhir;

Pernyataan majemuk memungkinkan sekelompok pernyataan direpresentasikan sebagai satu pernyataan.

Pernyataan pemilihan KASUS

Dirancang untuk mengimplementasikan banyak cabang, karena operator IF hanya dapat mengimplementasikan dua arah proses komputasi, tidak selalu nyaman menggunakannya untuk mengimplementasikan banyak cabang. Percabangan ganda diimplementasikan oleh pernyataan CASE.

Format: KASUS [kunci_pilih] DARI

[selection_constant_1]:[operator_1];

[selection_constant_2]:[operator_2];

[selection_constant_N]:[operator_N];

LAINNYA [operator];

CASE, OF, ELSE, END - kata fungsi. [select_key] adalah parameter dari salah satu tipe ordinal. [selection_constants] - konstanta dengan tipe yang sama dengan kunci pilihan yang mengimplementasikan seleksi. [operator_1(N)] adalah operator biasa. ELSE mungkin hilang.

Operator pemilihan bekerja sebagai berikut: sebelum operator beroperasi, nilai parameter kunci pemilihan ditentukan. Parameter ini dapat dinyatakan sebagai variabel dalam program atau dengan cara lain. Kemudian parameter kunci pilihan dibandingkan secara berurutan dengan konstanta pilihan. Jika nilai kunci pilihan cocok dengan salah satu konstanta pilihan, operator yang mengikuti konstanta ini akan dijalankan, dan semua operator lainnya diabaikan. Jika kunci pilihan tidak cocok dengan konstanta mana pun, pernyataan berikut Else akan dijalankan. Seringkali Else bersifat opsional dan jika kunci pilihan tidak cocok dengan konstanta pilihan mana pun dan jika Else tidak ada, kendali ditransfer ke pernyataan setelah pernyataan CASE.

Pernyataan CASE tidak memiliki pemeriksaan kondisional eksplisit seperti pada pernyataan IF. Pada saat yang sama, operasi perbandingan dilakukan secara implisit. CASE memperkenalkan disonansi ke dalam program Pascal, karena pernyataan ini diakhiri dengan kata layanan End, yang tidak memiliki pasangan Begin.

Buatlah algoritma dan program untuk suatu masalah yang mensimulasikan pengoperasian lampu lalu lintas. Saat Anda memasukkan simbol huruf pertama warna lampu lalu lintas, program akan menampilkan pesan tentang warna dan tindakan yang sesuai.

Program ini bekerja sebagai berikut: menggunakan prosedur Baca, simbol huruf warna lampu lalu lintas dimasukkan dari keyboard. Jika huruf 'z' yang sesuai dengan warna hijau dimasukkan, maka dalam pernyataan CASE nilai yang dimasukkan dalam daftar pilihan akan menemukan konstanta pilihan 'z' dan pesan “Warna hijau, pergerakan diperbolehkan” akan ditampilkan. Saat Anda memasukkan simbol huruf 'k' dan 'zh', pesan serupa akan ditampilkan. Jika Anda memasukkan karakter lain, pesan “Lampu lalu lintas tidak berfungsi” akan ditampilkan, karena dalam kasus ini bagian Else dari pernyataan CASE berfungsi.

Pernyataan lingkaran

Struktur algoritmik siklik adalah struktur di mana beberapa tindakan dilakukan beberapa kali. Ada dua jenis struktur perulangan dalam pemrograman: perulangan dengan parameter dan perulangan berulang.

Dalam suatu siklus dengan suatu parameter selalu ada yang disebut parameter siklus: X, X n, X k, ∆X. Terkadang perulangan dengan parameter disebut perulangan reguler. Ciri khasnya adalah jumlah loop dan pengulangan dapat ditentukan sebelum loop dijalankan.

Dalam perulangan berulang, tidak mungkin menentukan jumlah perulangan sebelum mengeksekusinya. Ini dijalankan selama kondisi kelanjutan loop terpenuhi.

Bahasa Pascal memiliki tiga operator yang mengimplementasikan struktur komputasi siklik:

  • operator penghitungan UNTUK. Hal ini dimaksudkan untuk mengimplementasikan loop dengan parameter dan tidak dapat digunakan untuk mengimplementasikan loop berulang;
  • operator loop dengan prasyarat WHILE;
  • operator loop dengan postkondisi REPEAT.

Dua yang terakhir difokuskan pada implementasi loop berulang, tetapi keduanya juga dapat digunakan untuk mengimplementasikan loop dengan parameter.

UNTUK operator

Format: UNTUK [loop_parameter] := [n_z_p_ts] Ke [k_z_p_ts] Lakukan [operator];

FOR, To, Do merupakan kata fungsi. [parameter_siklus] - parameter siklus. [n_z_p_ts] - nilai awal parameter siklus. [k_z_p_ts] - nilai akhir dari parameter siklus. [operator] - operator sewenang-wenang.

Parameter loop harus berupa variabel ordinal. Nilai awal dan akhir parameter loop harus bertipe sama dengan parameter loop.

Mari kita pertimbangkan pekerjaan operator menggunakan algoritmanya:

Langkah pertama, nilai parameter siklus diambil [n_z_p_ts], kemudian parameter siklus diperiksa kurang dari atau sama dengan [k_z_p_ts]. Kondisi ini merupakan kondisi untuk melanjutkan perulangan. Jika dieksekusi, loop melanjutkan operasinya dan [pernyataan] dieksekusi, setelah itu parameter loop dinaikkan (dikurangi) satu per satu. Kemudian, dengan nilai baru dari parameter loop, kondisi untuk melanjutkan loop diperiksa. Jika terpenuhi, maka tindakan diulangi. Jika kondisi tersebut tidak terpenuhi maka perulangan akan berhenti berjalan.

Operator For sangat berbeda dengan operator serupa dalam bahasa pemrograman lain. Perbedaannya adalah sebagai berikut:

  • badan operator For. Pernyataan tersebut tidak boleh dieksekusi sekali pun, karena kondisi kelanjutan perulangan diperiksa sebelum badan perulangan;
  • langkah perubahan parameter siklus adalah konstan dan sama dengan 1;
  • Badan perulangan dalam pernyataan For diwakili oleh satu pernyataan. Jika aksi badan perulangan memerlukan lebih dari satu pernyataan sederhana, maka pernyataan tersebut harus diubah menjadi satu pernyataan gabungan menggunakan tanda kurung operator (BEGIN-END);
  • Parameter loop hanya dapat berupa variabel ordinal.

Contoh penggunaan operator FOR: buat tabel untuk mengkonversi rubel ke dolar.

Pernyataan WHILE (pernyataan loop dengan prasyarat)

Format: SAAT [kondisi] Lakukan [operator];

SEMENTARA, Lakukan - kata fungsi. [kondisi] - ekspresi tipe logis. [operator] - operator biasa.

;

Pernyataan While bekerja sebagai berikut: pertama, hasil dari kondisi logika diperiksa. Jika hasilnya benar, maka pernyataan dijalankan, setelah itu kembali memeriksa kondisi dengan nilai parameter baru dalam ekspresi logis dari kondisi tersebut. Jika hasilnya salah, maka perulangan dihentikan.

Saat bekerja dengan While, Anda perlu memperhatikan propertinya:

  • kondisi yang digunakan dalam While adalah kondisi kelanjutan perulangan;
  • di badan perulangan, nilai parameter yang termasuk dalam ekspresi kondisi selalu berubah;
  • Perulangan While mungkin tidak dapat dijalankan satu kali pun, karena pemeriksaan kondisi selama perulangan dilakukan sebelum badan perulangan.

Pernyataan REPEAT (pernyataan loop dengan postcondition)

Format: ULANGI [siklus_tubuh]; SAMPAI [kondisi];

Pernyataan REPEAT bekerja sebagai berikut: pertama, pernyataan di badan perulangan dieksekusi, setelah itu hasilnya diperiksa kondisi logikanya. Jika hasilnya salah, maka ia kembali mengeksekusi pernyataan pada badan perulangan berikutnya. Jika hasilnya benar, maka operator keluar.

Operator Ulangi memiliki beberapa fitur berikut:

  • di Ulangi, kondisi penghentian loop diperiksa dan jika kondisi terpenuhi, loop berhenti bekerja;
  • Badan perulangan selalu dieksekusi setidaknya sekali;
  • parameter untuk memeriksa kondisi diubah di badan loop;
  • Pernyataan badan perulangan tidak perlu diapit tanda kurung operator (BEGIN-END), sedangkan peran tanda kurung operator dilakukan oleh Ulangi dan Sampai.

Hitung y=sin(x), di mana xn=10, xk=100, langkahnya adalah 10.

Kebetulan program perlu mengatur percabangan. Dalam hal ini, proses penyelesaian suatu masalah terjadi atas dasar terpenuhi atau tidak terpenuhinya suatu kondisi.

Dalam bahasa Pascal, pemilihan suatu tindakan, tergantung pada kondisi tertentu, dapat diimplementasikan dengan menggunakan konstruksi

jika... maka... lain...jika... maka...

2. Bagaimana bentuk lengkap dari conditional jump operator jika dalam Pascal?

Bentuk lengkap dari operator lompat bersyarat jika :

jikakondisiKemudianoperator1kalau tidakoperator2;

Tindakan operator adalah sebagai berikut: pertama, nilai ekspresi dihitung kondisi . Jika benar (sama dengan TRUE ), maka pernyataan yang mengikuti kata tersebut akan dieksekusi Kemudian (operator1). Jika nilainya salah (FALSE), maka pernyataan yang mengikuti kata tersebut akan dieksekusi kalau tidak(operator2 ).

Operator operator1 Dan operator2 dapat bersifat majemuk, yaitu berisi beberapa baris kode. Operator tersebut ditempatkan dalam tanda kurung operator mulai...akhir. Kebutuhan ini muncul jika setelah kata-kata dicadangkan Kemudian atau kalau tidak Anda perlu menentukan beberapa operator.

Dalam hal ini, bentuk umum dari operator lompat bersyarat, misalnya, dapat berupa bentuk berikut:

jikakondisiKemudianmulai// beberapa operator ... akhirkalau tidakmulai// beberapa operator ... akhir ;

3. Apa bentuk singkatan dari operator lompat bersyarat?

Bentuk singkat dari operator lompat bersyarat tidak mengandung blok kalau tidak dan memiliki bentuk:

jikakondisiKemudianoperator;

Dalam hal ini, operator bekerja sebagai berikut. Pertama, nilai ekspresi logika (Boolean) dihitung kondisi . Jika hasil dari ekspresi logis kondisi benar (sama BENAR), maka operator yang mengikuti kata tersebut dieksekusi Kemudian. Jika hasilnya FALSE, maka pernyataan yang mengikuti pernyataan tersebut akan dieksekusi jika(dalam pernyataan jika... maka tidak ada yang dilakukan).

Jika suatu kondisi terpenuhi, beberapa operator perlu dijalankan, maka bentuk umum dari operator lompat kondisional adalah sebagai berikut:

jikakondisiKemudianmulai// dua atau lebih operator ... akhir ;

4. Contoh penggunaan operator lompat bersyarat yang bentuk representasinya lengkap.

Contoh 1. Fragmen program untuk mencari nilai maksimum antara dua bilangan real.

var a,b:nyata; // a, b - variabel yang dicari nilai maksimumnya maks:nyata; // maksimum ... mulai ... // a, b - ditentukan jika a>b Kemudian maks:=a kalau tidak maks:=b; akhir ;

...

Contoh 2. Fragmen kode program

... var memecahkan masalah ini: mulai ... // x,f:nyata; jika -5 Kemudian x - ditentukan kalau tidak f:= x*x+8 // f:= -x*x*x+2 ; ... akhir ;

dalam variabel f ​​- hasilnya

Contoh 1. 5. Contoh penggunaan operator lompat bersyarat yang bentuk representasinya disingkat. Cuplikan kode yang menemukan nilai minimum antara dua bilangan real Dan X .

... var kamu mulai ... // min:nyata; ... x, y - diberikan jika menit:= x; Kemudian menit akhir ;

... menit:= kamu;

var... mulai ... // Menghitung nilai suatu fungsi menurut suatu kondisi. Misalkan Anda perlu mencari nilai suatu fungsi: jika x, f:nyata;<-6 Kemudian x - ditentukan jika (-6 <=x) X f:=3 *x*x-x;<=5 ) Kemudian Dan jika(X Kemudian f:=akar(7 -x); akhir ;

Pelajaran ini membahas operator kondisional dalam Pascal ( jika). Menjelaskan cara menggunakan beberapa kondisi dalam satu konstruksi ( DAN Dan ATAU). Contoh bekerja dengan operator dipertimbangkan

Kami mengingatkan Anda bahwa situs ini tidak berpura-pura memberikan penyajian informasi lengkap tentang topik tersebut. Tujuan dari portal ini adalah untuk memberikan kesempatan untuk mengasimilasi materi berdasarkan contoh-contoh penyelesaian yang sudah jadi pada topik “Bahasa” Pemrograman Pascal» dengan tugas praktek untuk memperkuat materi. Tugas Pascal yang disajikan di situs ini disusun secara berurutan seiring dengan meningkatnya kompleksitasnya. Website dapat digunakan oleh guru dan dosen sebagai alat bantu visual.

Sebelum mempertimbangkan topik ini, mereka terutama digunakan algoritma linier dalam Pascal, tipikal untuk tugas yang sangat sederhana, ketika tindakan (operator) dilakukan secara berurutan, satu demi satu. Algoritme yang lebih kompleks melibatkan penggunaan konstruksi percabangan.

Diagram blok operator bersyarat:

Pernyataan kondisional dalam Pascal memiliki sintaks berikut:

Versi pendek:

jika kondisi maka pernyataan;

Versi lengkap:

jika kondisi maka pernyataan pernyataan lain;

Operator kondisional dalam Pascal - if - berfungsi untuk mengatur kemajuan suatu tugas sedemikian rupa sehingga urutan eksekusi operator berubah tergantung pada beberapa kondisi logis. Kondisi logis dapat mengambil salah satu dari dua nilai: benar atau salah, masing-masing dapat berupa benar atau salah.

Operator gabungan

Jika, dalam kondisi benar, beberapa pernyataan perlu dieksekusi, maka Menurut aturan bahasa Pascal, mereka harus diapit dalam satu blok, dimulai dengan kata fungsi Begin dan diakhiri dengan kata fungsi end . Blok seperti itu biasanya disebut tanda kurung operator, A desain inioperator gabungan:

Tanda kurung operator dan operator gabungan dalam Pascal:

jika ekspresi logis lalu mulai pernyataan1;

operator2; akhiri yang lain mulai pernyataan1;

operator2; akhir; Terjemahan dari bahasa Inggris dari operator kondisi akan memudahkan untuk memahami penggunaannya: JIKA
KEMUDIAN KALAU TIDAK JIKA


ITU
JIKA TIDAK

  • Kondisi (dalam ekspresi logika) menggunakan operator relasional.
  • Pertimbangkan daftar operator relasional Pascal:
  • lebih lanjut >
  • lebih sedikit
  • lebih besar atau sama dengan dalam Pascal >=
  • kurang dari atau sama dengan dalam Pascal

perbandingan dalam Pascal = tidak sama dalam Pascal

Contoh: temukan bilangan terbesar dari dua bilangan


Pilihan 1 pilihan 2

perbandingan dalam Pascal = Pahami pekerjaan secara detail

Anda dapat menggunakan operator kondisional di Pascal dengan menonton video tutorial:

hitung nilai variabel y menggunakan salah satu dari dua cabang

Tunjukkan solusi: var x,y:nyata; mulai writeln("masukkan x"); baca(x); jika x>0 maka y:=ln(x) lain y:=exp(x); writeln ("y=", y:6:2) (angka yang dihasilkan akan menempati 6 posisi dan memiliki 2 tempat desimal) berakhir. Harap dicatat bagaimana caranya dalam contoh ini y adalah keluaran. Saat menarik tipe variabel di pascal, Anda dapat menggunakan apa yang disebut
keluaran yang diformat
, atau notasi dengan dua titik dua:
kamu:6:2

- Angka setelah titik dua pertama (6) menunjukkan berapa banyak karakter yang akan ditempati nomor tersebut saat ditampilkan di layar

- Angka setelah titik dua kedua (2) menunjukkan berapa angka desimal dari bilangan real yang akan ditampilkan Jadi, penggunaan notasi seperti itu dalam pascal secara praktis memungkinkan Anda melakukan pembulatan ke perseratus, seperseribu, dan seterusnya.

Tugas 0. Hitung nilai variabel y menggunakan salah satu dari dua cabang:

Tugas 1. Dua nomor dimasukkan ke dalam komputer. Jika yang pertama lebih besar dari yang kedua, maka hitung jumlahnya, jika tidak - hasil perkaliannya. Setelah ini, komputer akan mencetak hasilnya dan teks PROBLEM SOLVED Tugas 2. Naga itu menumbuhkan tiga kepala setiap tahun, tetapi setelah berumur 100 tahun, hanya dua. Berapa banyak kepala dan mata yang dimiliki seekor naga?

N

bertahun-tahun?

  • Operasi logis dalam Pascal (dalam ekspresi logis) DAN Saat Anda perlu menggunakan kondisi ganda di Pascal, Anda memerlukan operasi logika.
  • Operasi logis ATAU (OR) menyatakan cukup jika paling sedikit salah satu syarat terpenuhi (salah satu dari dua syarat benar). Arti logis dari operasi ini adalah “disjungsi”.
  • Dalam Pascal XOR - tanda operasi logika yang mempunyai arti “disjungsi tegas” dan menunjukkan bahwa salah satu dari dua syarat harus dipenuhi (benar), dan syarat lainnya tidak terpenuhi (salah).
  • Operasi logis dalam Pascal (dalam ekspresi logis) BUKAN sebelum ekspresi atau variabel logis, ini berarti “negasi” atau “inversi” dan menunjukkan bahwa jika suatu variabel atau ekspresi tertentu benar, maka negasinya salah dan sebaliknya.

Penting: Setiap syarat sederhana harus diapit tanda kurung.

Contoh: Mari kita lihat contoh operasi logika dalam ekspresi logika di Pascal

1 2 3 4 5 6 7 8 var n: bilangan bulat;<10 ) then writeln ("истина" ) ; if (n>mulai n: = 6 ;<10 ) then writeln ("истина" ) ; if (n>jika (n>5 ) dan (n<10 ) then writeln ("истина" ) ; if not (n>7 ) atau (n

7)xor(n<10) then writeln("истина"); if (n>7) lalu writeln("benar");<10) then writeln("истина"); if (n>akhir.<10) then writeln("истина"); if not(n>var n: bilangan bulat; mulai n:=6; jika (n>5) dan (n

perbandingan dalam Pascal = 7) atau (n
7)xor(n 7) lalu writeln("benar"); akhir.

Perusahaan merekrut karyawan berusia 25 hingga 40 tahun inklusif. Masukkan usia orang tersebut dan tentukan apakah dia cocok untuk perusahaan tersebut (tampilkan jawaban “cocok” atau “tidak cocok”).

Keanehan:

kita perlu memeriksa apakah dua kondisi terpenuhi secara bersamaan.

Operator transisi 1..9999 Kali ini saya akan terus membahas topik “Operator”. Pernyataan lompat (tanpa syarat) dirancang untuk mentransfer kontrol ke pernyataan yang ditandai dengan label (didahului dengan label). Versi bahasa penulis mengasumsikan bahwa label diformat sebagai bilangan desimal bilangan bulat dalam rentang tersebut

. Sebagai tanda

Turbo Pascal

memungkinkan penggunaan pengenal. Saat menggunakan operator lompat, aturan berikut harus diperhatikan:

Penggunaan lompatan tanpa syarat dalam suatu program dianggap berlebihan secara teoritis, karena dapat menyebabkan kebingungan dalam rantai operasi program yang ditempatkan secara logis, yang dapat menyebabkan kesulitan besar dalam men-debug dan memodifikasi program tersebut. Disarankan untuk menggunakan operator transisi dengan mengikuti aturan berikut:

1) jika tampaknya tidak mungkin dilakukan tanpa operator transisi, Anda harus berusaha menggunakannya untuk mentransfer kontrol hanya ke bawah teks program (maju); jika ada kebutuhan untuk mentransfer kontrol “kembali”, lebih baik menggunakan operator loop (lihat di bawah);

2) untuk kejelasan, jarak antara label dan operator untuk melompat ke sana tidak boleh melebihi satu halaman teks (atau ketinggian tampilan layar), jika tidak maka akan sulit untuk memahami arti transisi tanpa syarat tersebut.

Label ditentukan oleh deskripsi yang dimulai dengan kata fungsi label dan berisi urutan nama label yang dipisahkan dengan koma. Untuk mentransfer kendali ke operator yang ditandai dengan label, disediakan operator transisi tanpa syarat pergi. Label dipisahkan dari pernyataan berikut dengan tanda ':' (titik dua). Contoh:

var j: bilangan bulat;

(kami mengumumkan dua label)

label Mulai, Selesai;

Mulai: writeln('Awal program');

pergi Menyelesaikan;

Selesai: writeln('Akhir program');

Operator gabungan

Operator struktur yang paling sederhana adalah operator gabungan. Pernyataan ini menentukan urutan eksekusi operator yang terdapat di dalamnya. Operator majemuk diformat sebagai daftar operator yang dipisahkan satu sama lain dengan simbol ';' (titik koma) dan diapit di antara kata bantu mulai Dan akhir.

Kebutuhan akan operator gabungan mungkin timbul jika sintaksis bahasa Pascal mengizinkan penggunaan hanya satu operator di suatu tempat dalam program yang memerlukan sejumlah tindakan (operator), lihat contoh di bawah. Berikut ini contoh sederhana dari operator gabungan:

Operator bersyarat

Arti dari operator kondisional adalah menganalisis suatu kondisi logis tertentu, dan sesuai dengan terpenuhi atau tidaknya kondisi tersebut, mengalihkan kendali ke operator yang bersangkutan. Kondisi tersebut dapat berupa ekspresi yang mengembalikan nilai Boolean. Hasil analisis kondisi dapat berupa nilai BENAR, yaitu kondisi puas dan PALSU, yaitu syaratnya tidak terpenuhi.

Pernyataan kondisional dijalankan sebagai berikut. Ekspresi yang ditentukan setelah kata layanan telah dihitung sebelumnya operator2; akhir;. Jika kondisi terpenuhi, maka kendali dialihkan ke operator yang ditentukan setelah kata layanan Kemudian, jika tidak, maka operator yang ditentukan setelah kata layanan else dijalankan. Dalam hal ini, bagian dari operator kondisional, yang dimulai dengan kata lain, mungkin hilang. Berikut adalah contoh pernyataan kondisional:

Jika Tombol ditekan Kemudian writeln('Tombol ditekan');

Jika A>B Kemudian Min:=B

kalau tidak Min:= A;

jika X1 > X2 lalu mulai

Contoh terakhir adalah kasus ketika sejumlah operator perlu dieksekusi sesuai dengan kondisi, tetapi karena fakta di balik kata layanan Kemudian atau kalau tidak hanya satu pernyataan yang dapat diikuti, yaitu, situasi tersebut dapat diselesaikan dengan menggunakan pernyataan majemuk yang hanya berisi sejumlah pernyataan yang diperlukan.

Saat membuat pernyataan kondisional bertingkat, perlu diingat bahwa cabang else selalu menjadi milik cabang sebelumnya operator2; akhir;, yang belum memiliki cabang else. Itu. konstruksi berikut

jika Kondisi1 lalu jika Kondisi2 Kemudian Operator1 kalau tidak Operator2;

untuk lebih jelasnya dapat diartikan sebagai berikut

jika Kondisi1 lalu mulai

jika Kondisi2 Kemudian Operator1 kalau tidak Operator2;

Penting untuk berhati-hati saat menggunakan pernyataan kondisional bersarang, sehingga di saat yang panas ketika menyusun pernyataan kondisional berikutnya dari program, Anda tidak melupakan detail yang tampaknya kecil yang dapat mengarah pada eksekusi yang sama sekali berbeda. percabangan bersyarat.

Operator varian

Seringkali muncul situasi ketika rangkaian pernyataan kondisional tumbuh hingga proporsi yang sangat besar, misalnya contoh berikut menggambarkan percabangan yang ukurannya sederhana, namun sudah mengandung kompleksitas persepsi makna yang melekat di dalamnya:

jenis TWay = (Atas, Kanan, Bawah, Kiri);

var Cara: Dua arah;

MapX, MapY: kata;

jika Jalan = Naik Kemudian PetaY:= PetaY - 1

kalau tidak jika Cara = Benar Kemudian PetaX:= PetaX + 1

kalau tidakjika Jalan = Turun Kemudian PetaY:= PetaY + 1

kalau tidak PetaX:= PetaX - 1;

Cabang else yang terakhir tidak memiliki pernyataan Jika, karena jika ketiga kondisi tidak terpenuhi, akan logis jika operator yang sesuai dengan opsi keempat dan terakhir dari kemungkinan nilai tipe tersebut akan berlaku Dua arah.

Dalam hal ini, kita beruntung memiliki tipe tersebut Dua arah hanya mempunyai empat nilai yang mungkin. Akankah menyusun cabang seperti itu menjadi sebuah tugas jika ada sepuluh pilihan atau lebih? Namun pada percabangan yang disajikan terlihat pola sederhana. Jadi apakah mungkin untuk menyederhanakannya dan membuatnya lebih efisien dan mudah dibaca? Hal ini dimungkinkan, dan untuk tujuan ini bahasa menyediakan operator varian, yang konstruksinya dapat berisi sejumlah alternatif untuk ekspresi tertentu. Kemudian contoh terakhir dapat ditulis ulang dengan cara baru:

kasus Jalan dari

Atas: MapY:= MapY - 1;

Kanan: MapX:= MapX + 1;

Bawah: MapY:= MapY + 1;

Kiri: MapX:= MapX - 1;

Ya, itu masalah yang sama sekali berbeda. Sekarang mari kita lihat urutan eksekusi pernyataan ini. Nilai ekspresi yang mengikuti kata fungsi telah dihitung sebelumnya kasus, tetapi karena dalam hal ini nama variabelnya adalah Jalan, maka nilai variabel ini dibaca. Nilai yang dihasilkan dibandingkan secara bergantian dengan setiap alternatif (nilai konstan dan langsung) yang ditentukan setelah kata layanan dari. Jika nilai suatu ekspresi sama dengan konstanta berikutnya, operator alternatif yang mengikuti konstanta ini, dipisahkan oleh titik dua, akan dijalankan. Setelah pernyataan alternatif selesai dieksekusi, tindakan berpindah ke pernyataan yang mengikuti pernyataan varian. Jika nilainya tidak cocok Jalan tanpa konstan operator ini opsi tidak melakukan tindakan apa pun.

Namun bagaimana jika perlu menyediakan cabang operator tertentu yang akan dieksekusi jika nilai ekspresi tidak cocok dengan konstanta apa pun? Anda dapat menggunakan alternatif lain untuk ini, misalnya:

kasus Jalan dari

Atas: MapY:= MapY - 1;

Kanan: MapX:= MapX + 1;

Bawah: MapY:= MapY + 1;

kalau tidak PetaX:= PetaX - 1;

Oleh karena itu, konstruksi yang dibangun menggunakan operator kasus sama persis dengan konstruksi yang dibangun sebelumnya menggunakan operator operator2; akhir;. Selain itu, lebih jelas dan tidak ada risiko kebingungan dalam banyak hal kalau tidak.

Sekali lagi, saya ingin menarik perhatian Anda pada fakta bahwa konstanta dalam operator varian dapat berupa bilangan bulat langsung dan nama konstanta yang tidak diketik yang dijelaskan sebelumnya. Penggunaan konstanta yang diketik sebagai alternatif operator varian tidak diperbolehkan. Selain itu, di setiap opsi Anda dapat menentukan seluruh daftar konstanta yang dipisahkan dengan koma atau rentang nilai, misalnya:

kasus Jalan dari

Atas, Bawah: writeln('Bergerak secara vertikal');

Kanan, Kiri: writeln('Bergerak secara horizontal');

kasus X dari

10,20,30: writeln('puluhan');

1..9: writeln('satuan');

Dalam konstruksi terakhir operator writeln('satuan') akan dieksekusi jika variabel X memiliki salah satu nilai 1,2,3,..,8,9 .

Seperti yang mungkin Anda perhatikan, saya menyelaraskan garis dengan konstanta dengan titik dua, karena menurut saya tipe ini lebih visual, meskipun ini masalah selera, dan seperti yang Anda tahu, tidak ada teman untuk mencicipi;O)

Operator varian harus digunakan sesuai dengan aturan berikut:

1) Nilai ekspresi yang dapat diterima - "switch", ditulis setelah kata fungsi kasus, harus memuaskan tipe diskrit: untuk tipe integer mereka harus berada dalam rentang tersebut -32768..32767 .

2) Semua konstanta alternatif yang ditentukan harus bertipe kompatibel dengan tipe ekspresi.

3) Konstanta dalam alternatif tidak boleh diulang dalam pernyataan varian, dan rentang tidak boleh tumpang tindih dan tidak boleh mengandung konstanta yang ditentukan dalam alternatif ini atau alternatif lainnya.

Dan satu hal lagi. Desain kasus memberikan satu pernyataan untuk setiap alternatif. Jika Anda perlu menjalankan beberapa pernyataan, Anda harus mengelompokkannya ke dalam pernyataan gabungan mulai..akhir. Anda dapat menentukan operator kosong untuk alternatif dengan menempatkan simbol ";". (titik koma) tepat setelah titik dua, yang tidak akan melakukan apa pun. Dan sintaks cabang kalau tidak menyediakan untuk menentukan urutan operator yang dipisahkan oleh simbol ';' (titik koma).

 


x>5



Membaca:

Membaca:

Cara menghubungkan Internet seluler dalam roaming dari Beeline

Sistem suara terdistribusi

Sistem suara terdistribusi

Memformat kartu memori SD dan microSD: mengapa diperlukan dan bagaimana melakukannya

Tata cara pelunasan pembayaran yang dijanjikan MTS

Tata cara pelunasan pembayaran yang dijanjikan MTS

Layanan pembayaran yang dijanjikan memungkinkan Anda untuk tetap terhubung ketika akun Anda kehabisan dana. Seseorang dapat meminjam uang dari operator...

Cara menutup profil di Odnoklassniki

Cara menutup profil di Odnoklassniki

Mari kita cari tahu cara menutup profil Anda dari tamu yang tidak diinginkan. Tahun 2016 telah tiba, Internet masih bergerak dengan kecepatan yang sama, dengan pesat...

Selanjutnya, pilih aplikasi yang ingin Anda nonaktifkan.  Jika program ini mendukung fungsi mematikan, Anda akan melihat tombol yang sesuai.... RSS