SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
1. Looping Structur ( Struktur Berulang )
loop di gunakan untuk mengulangi suatu intruksi
sesuai dengan intruksi yang di tetapkan.
loop memiliki kondisi awl sbgai base line untuk di krjakan dan nilai /kondisi akhir sebagai tujuan

sasaran kompetensi:
-mahasiswa mampu menggunakan statement loop dlm program
-mahasiswa mampu menguasai kapan statement loop diperlukan(dalam keadaan seperti apa)

contoh:

a.for...next
mencetak angka 1-10
cls
i=0
for i=1 to 10
print i

A. Do While dan While-Wend
 Adalah Looping yang akan melakukan terus menerus selama kondisi masih memenuhi syarat
(bernilai True),Proses akan berhenti apabila sudah sampai pada kondisi False ( Kondisi salah )

 contoh;
Suatu Program akan menditeksi suatu matakuliah harus mengadakan ujian semester apabila
sudah pada pertemuan k-14

 cls
X=1
do while X<=13
  Print"Pertemuan ke :"X
  X=X+1
Wend
Print "Ujian Semester"

B. Do-Until
 Adalah looping yang akan melakukan perulangan terus menerus selama kondisi masih tidak
memenuhi syarat(bernilai False),proses akan berhenti apabila sudah sampai pada kondisi
True(kondisi Benar)

 contoh;
       Membuat program untuk menampilkan deretan bilangan dari 1-10
cls
X=1
do
 Print X
 X=X+1
loop until X>=11

C. For - Next
  Syntax(Bentuk Um,um penulisan)

   Contoh;
           Membuat program untuk menampilkan deretan bilang dari 1-10
cls
For X=1 To 10
    Print X
Next X


INPUT "Siapa nama anda:", A$
 PRINT "Halo "; A$
 DO
  S$ = ""
  INPUT "Berapa banyak bintang yang akan ditampilkan"; S
  FOR I = 1 TO S
   S$ = S$ + "*"
  NEXT I
  PRINT S$
  DO
   INPUT "Anda ingin menampilan lebih banyak tanda bintang"; Q$
  LOOP WHILE LEN(Q$) = 0
  Q$ = LEFT$ (Q$, 1)
 LOOP WHILE (Q$ = "Y") OR (Q$ = "y")
 PRINT "Sampai jumpa "; A$
C # Apakah Sementara Contoh
menggunakan Sistem;

namespace ProgramCall
{

Contoh kelas
{
static void Main ()
{

int A, B, Ch;
String Lanjutkan;

melakukan
{

. Konsol WriteLine ("Masukkan Dua Integer");

A = int Parse (Console readline ().).;

B = int Parse (Console readline ().).;

. Konsol Menulis ("Masukkan Pilihan Anda (1 - Tambah / 2 - Sub / 3 - Mul / 4 - Div):");

. Ch = int Parse (. Console readline ());

switch (Ch)
{
Kasus 1:

. Konsol WriteLine ("Sum Apakah {0}", A + B);
break;
Kasus 2:

Console WriteLine ("Perbedaan Apakah {0}", A - B).;
break;
Kasus 3:

. Konsol WriteLine ("Produk Apakah {0}", A * B);
break;

Kasus 4:

. Konsol WriteLine ("Rasio Apakah {0}", A / B);
break;

default:

. Konsol WriteLine ("Pilihan Salah");
break;
}

Console Menulis ("Apakah Anda Ingin Untuk Lanjutkan (Y / N):?").;
Lanjutkan = Console readline ().;
} While (! Lanjutkan = "N" && Lanjutkan = "n"!);
}
}
}

OUTPUT
----------
Masukkan Dua Integer
65
86
Masukkan Pilihan Anda (1 - Tambah / 2 - Sub / 3 - Mul / 4 - Div): 1
Apakah Sum 151
Apakah Anda Ingin Untuk Lanjutkan? (Y / N): y
Masukkan Dua Integer
45
21
Masukkan Pilihan Anda (1 - Tambah / 2 - Sub / 3 - Mul / 4 - Div): 4
Rasio Apakah 2
Apakah Anda Ingin Untuk Lanjutkan? (Y / N):
| Utama | < C & C + + untuk loop 2 | C & C + + sementara
            & do-while loop 2 > | Site Index | Unduh |

                    C LAB KERJA 7a
Lain C & C + + Pengulangan Bina: sementara Loop dan do-
                      while Loop 1
Item di halaman ini:

     1.
     Sebuah pengulangan - loop sementara.
     2.
     Sebuah pengulangan - loop do-while.
     3.
     Untuk kontrol loop kegiatan, pertanyaan dan jawaban.
     4.
     Referensi tutorial terkait untuk lembar kerja ini adalah: C / C + + program kontrol
     1 dan C / C + + program kontrol 2.
The Loop sementara
      Loop sementara di C / C + + sangat mirip dengan untuk loop. Pernyataan untuk
       berisi dua titik koma, yang memungkinkan penempatan pernyataan inisialisasi, negasi
       dari kondisi terminasi dan pernyataan berulang di dalamnya. Namun, loop sementara
       memungkinkan penempatan hanya kondisi sehingga dua lainnya pernyataan harus
       ditempatkan di luar laporan sementara.
# Include

int main (void)

{

int i, j;

/ / Untuk loop

printf ("Ini adalah untuk loop  n");

untuk (i = -5, i <= 0; i = i +1) / / awal,
kondisi terminal dan iterasi

printf ("% d", i);

printf (" n");

printf (" nIni sementara loop  n");

j = -5, kondisi / / awal

/ / While
while (j <= 0) Kondisi / / terminal

{

printf ("% d", j);

j = j + 1; / / iterasi

}

printf (" nBoth konstruksi menghasilkan
hasil yang sama ...  n");

return 0;

}

        Untuk loop dalam program mencetak semua bilangan bulat dari -5 sampai 0. Loop
         sementara di bagian kedua dari program ini juga melakukan hal yang sama. Perhatikan
         bahwa pernyataan i = -5, dan i = i + 1; dikeluarkan dari untuk pernyataan karena kita
         dikonversi ke loop sementara. Karena kita sekarang memiliki dua pernyataan dalam loop
         sementara, kami harus menambah sepasang kawat gigi, karena kami harus dengan
         untuk loop. Sama seperti untuk pernyataan tidak mengambil titik koma setelah itu, begitu
         juga dengan pernyataan sementara. Satu-satunya perbedaan antara while loop dan
         untuk loop membangun adalah beberapa titik koma seperti yang ditunjukkan di bawah
         ini.
         while (kondisi)

         for (; kondisi;)

        Sebagai perbandingan lebih lengkap, kita mungkin memiliki:
         Kondisi awal

         sementara (kondisi terminal)

         perulangan

         untuk (kondisi awal, kondisi terminal; iterasi)

         atau

         Kondisi awal

         for (; kondisi terminal;)

         perulangan

      Buat flowchart dan / atau tracechart untuk berikut sementara loop.
# Include
int main (void)

{

int j;

j = -5;

/ / While

while (j <= 0)

{

printf ("% d", j);

j = j + 1;

}

return 0;

}

                                                      / / Program untuk menunjukkan
Mengkonversi program-program berikut yang
                                                      loop sementara bersarang
menggunakan untuk loop untuk sementara loop.
                                                      # Include
/ / Program untuk menunjukkan bersarang               int main ()
untuk loop                                            {
                                                          / / Variabel untuk kontra ...
# Include                                             int i = 15, j;
                                                          / / Loop luar, jalankan ini
int main ()                                           pertama ...
                                                      / / Untuk setiap iterasi i,
{                                                     mengeksekusi loop batin
                                                      while (i> 0)
/ / Variabel untuk kontra ...                         {
                                                              / / Menampilkan i ==
int i, j;
                                                      printf ("% d ==", i);
/ / Loop luar, jalankan ini pertama ...                       / / Kemudian, mengeksekusi
                                                      loop batin dengan loop indeks j,
/ / Untuk setiap iterasi i, mengeksekusi loop batin   / / Nilai awal j adalah i - 1
                                                      j = i-1;
untuk (i = 15; i> 0 ;)                                while (j> 0)
                                                      {
{
                                                                  / / Display #
                                                      printf ("#");
/ / Menampilkan i ==                                                 / / Pengurangan j oleh 1
                                                          sampai j> 10, yaitu j = 9
printf ("% d ==", i);                                     j = j - 1;
                                                          }
/ / Kemudian, mengeksekusi loop batin dengan loop
                                                                 / / Pergi ke baris baru, baris
indeks j,
                                                          baru
/ / Nilai awal j adalah i - 1                             printf (" n");
                                                                 / / Memundurkan i oleh 1,
for (j = i-1; j> 0;)                                      ulangi sampai i> 0 yang i = 1
                                                          i = i - 1;
{                                                         }
                                                          return 0;
/ / Display #                                             }
printf ("#");

/ / Pengurangan j oleh 1 sampai j> 10, yaitu j = 9

j = j - 1;

}

/ / Pergi ke baris baru, baris baru

printf (" n");

/ / Memundurkan i oleh 1, ulangi sampai i> 0 yang i = 1

i = i - 1;

}

return 0;

}
/ / Program untuk menunjukkan bersarang                      / / Program untuk menunjukkan
untuk loop                                                   loop sementara bersarang
                                                             # Include
# Include                                                    int main ()
                                                             {
int main ()
                                                                 / / Variabel untuk kontra ...
{                                                            int i = 1, j;
                                                                 / / Loop luar, jalankan ini
/ / Variabel untuk kontra ...                                pertama ...
                                                             / / Untuk setiap iterasi i,
int i, j;                                                    mengeksekusi loop batin
                                                             while (i <= 9)
/ / Loop luar, jalankan ini pertama ... untuk setiap iterasi
                                                             {
i,                                                                   / / Menampilkan i
                                                             printf ("% d", i);
/ / Mengeksekusi loop batin
                                                                     / / Kemudian, mengeksekusi
untuk (i = 1; i <= 9 ;)                                      loop batin dengan loop indeks j,
                                                             / / Nilai awal j adalah i - 1
{                                                            j = i-1;
                                                             while (j> 0)
/ / Menampilkan i                                            {
                                                                         / / Menampilkan == j
printf ("% d", i);
                                                             printf ("==% d", j);
/ / Kemudian, mengeksekusi loop batin dengan loop                        / / Pengurangan j oleh 1
indeks j,                                                    sampai j> 0, yaitu j = 1
                                                             j = j - 1;
/ / Nilai awal j adalah i - 1                                }
                                                                     / / Pergi ke baris baru
for (j = i-1; j> 0;)                                         printf (" n");
                                                                     / / Increment i oleh 1, ulangi
{                                                            sampai i <= 9, yaitu i = 9
/ / Menampilkan == j                                        i = i + 1;
                                                            }
printf ("==% d", j);                                        return 0;
                                                            }
/ / Pengurangan j oleh 1 sampai j> 0, yaitu j = 1

j = j - 1;

}

/ / Pergi ke baris baru

printf (" n");

/ / Increment i oleh 1, ulangi sampai i <= 9, yaitu i = 9

i = i + 1;

}

return 0;

}




The Loop do-while

Contoh berikut ini menggunakan do-while loop, yang lain C / C + + membangun yang dapat
digunakan untuk pengulangan. Perbedaan utama di sini adalah kondisi diuji setelah tubuh
loop dan pernyataan dalam tubuh akan dijalankan minimal sekali apakah kondisi benar
atau salah. Ini tidak terjadi dengan dua loop lain di mana jika kondisi salah di awal, maka tubuh
loop tidak dijalankan sama sekali. Perhatikan titik koma di akhir baris kode sementara.
/ / Program untuk menunjukkan penggunaan
do-while

# Include

int main ()

{

int j = -5; / / inisialisasi

melakukan

{

printf ("% d  n", j);

j = j + 1;

}

while (j <= 0); / / Kondisi

return 0;

}




Buat flowchart dan / atau tracechart untuk loop
sebelumnya do-while.
Lebih untuk Loop Variasi
Ketika menggabungkan scanf () dengan loop, ada dua jenis loop yang harus dikuasai. Ini adalah
jumlah loop dan loop pembatas. Dengan loop hitungan, programmer tahu sebelum loop
dimulai berapa banyak iterasi yang loop akan tampil. Namun dengan lingkaran pembatas,
programmer tidak tahu hal itu, sebaliknya, ketika sebuah item data tertentu yang dijumpai, loop
akan berhenti. Item data tertentu yang akan menghentikan loop disebut pembatas misalnya x =
0!. Berikut adalah bentuk umum dari loop hitungan.

/ / Program untuk menunjukkan jumlah
penggunaan

# Include

int main ()

{

int i, count;

printf ("Masukkan jumlah item data:");

scanf_s ("% d", & count, 1);

untuk (i = 1; i <= hitung; i = i + 1)

printf ("% d", i);

printf (" n");

return 0;

}

Perhatikan bahwa pertama programmer tahu jumlah item data yang akan dibaca. Angka dibaca
dan disimpan dalam hitungan yang disebut variabel. Kemudian loop diatur sehingga akan
dilakukan kali yang banyak. Loop bisa juga telah disiapkan dengan cara ini:

        for (; count = 0; count = count - 1!)

Ini akan memiliki efek yang sama. Namun jika untuk beberapa alasan nilai hitungan yang
diperlukan setelah loop, itu tidak akan tersedia karena akan berada di tingkat pertama. Bentuk
umum dari lingkaran pembatas ditampilkan dalam potongan kode berikut.

printf ("Masukkan data integer, 0 bila
dilakukan  n.");

scanf_s ("% d", & in_data);
for (; in_data = 0;!)

{

/ / Kode lain untuk pengolahan data ...

scanf ("% d", & in_data);

}

Contoh program kerja untuk pembatas ditampilkan di
bawah.

/ / Untuk loop, pembatas

# Include

int main ()

{

mengapung sum;

int count, in_data;

printf ("Masukkan data integer, masukkan
0 bila dilakukan  n.");

scanf_s ("% d", & in_data, 1);

untuk (count = 0, jumlah = 0.0; in_data =
0;! count = count + 1)

{

/ / Menghitung jumlah yang ...

sum = sum + in_data;

/ / Membaca dan menyimpan data berikutnya
...

scanf_s ("% d", & in_data, 1);

/ / Increment count oleh 1 dan memeriksa

/ / In_data = 0 atau tidak,! Jika! = 0,
ulangi

/ / Yang lain menghentikan loop dan
menghitung rata-rata ...

}

printf ("The rata-rata% d memasuki angka
adalah% f  n", count, jumlah / count);

return 0;

}

Berikut ini adalah contoh program yang memiliki baik
jumlah dan loop pembatas.

/ / Untuk loop, pembatas

# Include

int main ()

{

mengapung jumlah = 0,0;

int i, count, in_data;

printf ("Berapa banyak item yang Anda
ingin rata-rata?");

scanf_s ("% d", & count, 1);

untuk (i = 1; i <= count, i = i +1)

{

scanf_s ("% d", & in_data);

sum = sum + in_data;

}

printf ("The rata-rata% d data% .2 f 
n", count, jumlah / count);

/ / Mengulang kode sebelumnya

printf (" nMasukkan data, 0 untuk
mengakhiri  n.");

scanf_s ("% d", & in_data);
untuk (count = 0, jumlah = 0.0; in_data =
0;! count = count + 1)

{

sum = sum + in_data;

scanf_s ("% d", & in_data);

}

printf ("Rata-rata dari angka d% adalah%
.2 f  n", count, jumlah / count);

/ / Kita harus membuat hitungan pasti
tidak tinggal 0 untuk menghindari membagi
dengan 0.

return 0;

}

Berikut ini adalah contoh yang lebih kompleks. Suhu dilaporkan turun setiap hari, jadi kami ingin
tahu hari pertama yang naik. Suhu dan kondisi cuaca untuk hari masing-masing program apa
yang harus dibaca dan harus melaporkan suhu dan kondisi cuaca untuk hari ketika suhu
merosot ke minimum sebelum naik.

/ / Untuk loop, pembatas dan menghitung

# Include

# Include <string.h>

int main ()

{

pelampung CurrentTemp, PreviousTemp,
total = 0.0;

CurrentCondition char [15],
PreviousCondition [15];

int hari;

/ / Menginisialisasi loop, mengatur
nilai-nilai saat ini & sebelumnya

printf ("Suhu di gelar F, kondisi: panas,
ringan, nyaman, adil dan berangin  n");

printf ("Masukkan kondisi sebelumnya &
suhu:");

scanf_s ("% f% s", & PreviousCondition,
15, & PreviousTemp);

printf ("Masukkan kondisi saat & suhu:");

scanf_s ("% f% s", & CurrentCondition,
15, & CurrentTemp);

Total = PreviousTemp;

/ / Melakukan perulangan

untuk (hari = 1; CurrentTemp
<PreviousTemp, hari = hari + 1)

{

total = total + CurrentTemp;

/ / Sekarang membuat nilai-nilai saat ini
menjadi yang lama atau sebelumnya

PreviousTemp = CurrentTemp;

strcpy_s (PreviousCondition, 15,
CurrentCondition);

/ / Dan mendapatkan nilai-nilai baru atau
saat ini.

printf ("Masukkan kondisi saat & suhu:");

scanf_s ("% f% s", & CurrentCondition,
15, & CurrentTemp);

}

/ / Mencetak laporan

printf ("suhu terendah sebelum naik
pertama kalinya:.% .2 f  n",
PreviousTemp);

printf ("Kondisi saat itu:% s  n",
PreviousCondition);
printf ("Rata-rata Suhu sampai saat
itu:.% .2 f  n", total / hari);

return 0;

}




Sebuah flowchart untuk program sebelumnya diberikan di bawah ini.
Berikut ini adalah tracechart tersebut.
The EOF Karakter
Sebuah karakter khusus yang disebut EOF (E nd O f F ile) ditempatkan di akhir file. Ketika
sebuah sistem komputer mengetik file dan pertemuan karakter ini, ia menyadari bahwa ini
adalah akhir dari file dan bahwa mengetik file selesai. Dalam UNIX berbasis OS, karakter ini
adalah CTRL-D dan dalam sistem PC, itu adalah CTRL-Z. EOF didefinisikan dalam file
stdio.h. Nilainya adalah -1. Berikut ini menunjukkan penggunaan EOF. The getchar () fungsi
mendapatkan karakter dari pengguna dan menyimpannya dalam i. Jika saya tidak sama
dengan EOF, maka kita menggunakan putchar () fungsi, mencetaknya pada layar dan
mendapatkan satu lagi untuk menempatkannya di i. Hal ini dilakukan sampai EOF ditemui,
ketika loop berhenti. Perhatikan bahwa karakter dibaca ke i, integer. Hal ini juga bisa menjadi
char. Pada output, total 4 ditunjukkan karena karakter keempat, yang kita tidak bisa melihat,
adalah karakter carriage return.

# Include

int main ()

{

int i, j;

/ / Membaca input pengguna, getchar () dapat membaca
Char

/ / Di sini kita mendeklarasikan int

i = getchar ();

for (j = 0; i = EOF,! j = j + 1)
{

/ / Tampilan ke layar ...

putchar (i);

i = getchar ();

}

printf ("Jumlah total =% d  n", j);

return 0;

}

Lebih Kegiatan Dan Pertanyaan
Coba contoh program berikut, menunjukkan output dan menjawab pertanyaan. Sampel
masukan ketika program ini memungkinkan Anda untuk melakukannya juga ditampilkan atau
dinyatakan. Masukkan satu masukan pada satu waktu dan tidak mungkin semua dalam satu
baris. Suatu program mungkin tidak perlu semua nilai yang ditampilkan di sini.

        Contoh masukan: 3 7 8 11 14 10 9 9 6

# Include

int main ()

{

int i, k;

printf ("Masukkan masukan sampel:  n");

untuk (i = 1; i <= 4; i = i + 1)

{

scanf_s ("% d", & k, 1);                               a. 4. Berdasarkan i <= 4;
                                                          kondisi, 4 disertakan.
printf ("Data yang dimasukkan:% d  n", k);            b. 3. Berdasarkan i <4; kondisi,
                                                          4 tidak termasuk.
}                                                      c. 3. Berdasarkan i = 4;
                                                          kondisi, ketika saya == 4,
return 0;                                                 iterasi berhenti.!
}

    a. Berapa banyak nomor yang diterima oleh
       program?
b. Jika <= diubah menjadi <, bagaimana
       mungkin data yang akan diproses?
    c. Jika itu berubah menjadi =,! Berapa banyak
       item data akan diproses?
# Include

int main ()

{

int i, k;

printf ("i = 1, i <0, i = i + 1, apa yang salah  n???");

untuk (i = 1; i <= 0; i = i + 1)                            a. Tidak ada. Program atau
                                                               loop hanya mengakhiri.
{
                                                            b. loop tidak dijalankan sama
scanf_s ("% d", & k, 1);                                       sekali. Hal ini karena kondisi
                                                               terminal, i <= 0 sudah
printf ("Data yang dimasukkan:% d  n", k);                    diberlakukan (FALSE) ketika
                                                               untuk pernyataan dievaluasi
}                                                              sedangkan nilai awal i = 1.
return 0;

}

    a. Berapa banyak nomor yang diterima oleh
       program?
    b. Berapa kali loop dieksekusi? Kenapa?
Pernyataan berikut dijalankan dalam urutan sebagai
berikut: Pernyataan 1, 2, 3, 4, 2, 3, 4, 2, dll
sampai k = 11. Ingatlah bahwa scanf () / scanf_s ()
akan berakhir pada saat ada spasi. Input berikutnya
akan dibaca oleh scanf berikutnya () / scanf_s ().
                                                            a. 3.
# Include                                                   b. scanf () dan printf ()
                                                               keduanya disebut 3 kali.
int main ()                                                 c. Ya. Karena kondisi BENAR
                                                               untuk untuk loop adalah k =
{                                                              11,! Sehingga k == 11 akan
int k;                                                         FALSE dan menghentikan
                                                               loop.
printf ("Masukkan masukan sampel:  n");                    d. Data.
                                                            e. Mengubah k = 11 sampai k!!
scanf_s ("% d", & k, 1); / / Pernyataan 1                      = 9.
for (; k = 11;!) / / Pernyataan 2

{

printf ("Data adalah:% d  n", k); / / Pernyataan 3

scanf_s ("% d", & k, 1); / / Pernyataan 4
                                                      f. Lihat di bawah.
}

return 0;

}

    a. Berapa banyak nomor yang diterima oleh
       program?
    b. Berapa kali adalah scanf_s () fungsi
       disebut? Dan printf ()?
    c. Apakah 11 pernah membaca sebagai data?
       Mengapa bukan cetak?
    d. Apakah program atau data menentukan
       berapa kali loop itu harus dilakukan?
    e. Jika Anda ingin semua angka sampai
       dengan 9 yang akan dicetak, bagaimana
       Anda mengubah untuk pernyataan?
    f. Gambarkan flowchart dan / atau tracechart
       untuk program ini.
Mengubah posisi (printf) dan scanf_s () dalam tubuh
untuk contoh sebelumnya.

# Include
                                                      a. Ya 11 dicetak. Hal ini
int main ()
                                                         karena scanf_s () dalam
{                                                        untuk loop akan membaca
                                                         input berikutnya, yang
int k;                                                   merupakan masukan kedua,
                                                         7. Kemudian masukan itu
printf ("Masukkan masukan sampel:  n");                 dicetak. Ketika 11
                                                         dibacakan, itu dicetak
scanf_s ("% d", & k, 1); / / Pernyataan 1                terlebih dahulu sebelum
                                                         dievaluasi dalam kotak
for (; k = 11;!) / / Pernyataan 2
                                                         berlian keputusan.
{                                                     b. Tidak Hal ini karena scanf_s
                                                         () dalam untuk loop akan
scanf_s ("% d", & k, 1); / / Pernyataan 4                membaca data input
                                                         berikutnya, yaitu 7 dan
printf ("Data adalah:% d  n", k); / / Pernyataan 3      kemudian mencetaknya.
                                                      c. Mengubah k = 11 sampai k!!
}                                                        = 10.
return 0;

}

    a. Apakah yang 11 bisa dicetak? Mengapa atau
       mengapa tidak?                                 d. Lihat di bawah.
    b. Apakah nomor pertama yang dibacakan bisa
       dicetak? Mengapa atau mengapa tidak?
    c. Jika Anda ingin semua angka sampai
       dengan 9 yang akan dicetak, bagaimana
       Anda mengubah untuk pernyataan?
    d. Gambarkan flowchart untuk program ini.
# Include

int main ()                                           a. Nomor 11 tidak dicetak.
                                                         Setelah 11 dibacakan oleh
{                                                        scanf_s () dalam untuk loop,
                                                         k = 11 keputusan itu!
int k = 0;
                                                         Dievaluasi, sehingga FALSE
printf ("Masukkan masukan sampel:  n");                 dan loop mengakhiri.
                                                      b. Dari output, kita dapat
for (; k = 11;!) / / Pernyataan 2                        melihat bahwa nilai awal k =
                                                         0 telah dicetak sebelum
{                                                        program prompt untuk input.
                                                         Jadi, input berikutnya yang
printf ("Data adalah:% d  n", k); / / Pernyataan 3      akan dibaca oleh scanf_s ()
scanf_s ("% d", & k, 1); / / Pernyataan 4                adalah 3. Bila ada masukan,
                                                         program ini akan
}                                                        menemukan scanf_s
                                                         pertama () untuk membaca
return 0;                                                dan menyimpan nilai-nilai
                                                         tersebut.
}                                                     c. Ya seperti yang ditunjukkan
                                                         dalam output berikut. Nilai
    a. Apakah yang 11 bisa dicetak? Mengapa atau         awal k = 0 telah ditimpa oleh
       mengapa tidak?                                    masukan pertama, 3 dan 3
    b. Mengapa bukan yang pertama item data, 3,          berikutnya telah ditimpa
       bisa dicetak pertama?                             oleh 7 dan seterusnya.
    c. Akankah 3 telah dicetak jika scanf_s () dan
       printf () dialihkan?




# Include

int main ()

{

int k = 0, m;
                                                      a. 4 kali.
printf ("Masukkan integer sebagai count:  n");       b. 4 kali.
scanf_s ("% d", & m);                                 c. Data yang disimpan dalam
                                                         m, yaitu 4.
printf ("Masukkan bilangan bulat d%:  n", m);

for (; m = 0; m = m - 1!)

{

scanf_s ("% d", & k);

printf ("Data adalah:% d  n", k);

}

return 0;

}

     a. Berapa kali adalah tubuh yang dilakukan
        dengan loop?
     b. Berapa kali itu k diberi nilai baru melalui
        scanf_s ()?
     c. Bagaimana dalam data ditentukan berapa
        kali loop dilakukan?
    | Utama | < C & C + + untuk loop 2 | C & C + + sementara
            & do-while loop 2 > | Site Index | Unduh |

      The C Pengulangan untuk sementara dan do-while:
          Bagian 1 | Bagian 2 | Bagian 3 | Bagian 4

Contenu connexe

Tendances

Pertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & PemrogramanPertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & PemrogramanTri Retna
 
Pertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & PemrogramanPertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & PemrogramanTri Retna
 
Pertemuan 4 : Algoritma & Pemrograman
Pertemuan 4 : Algoritma & PemrogramanPertemuan 4 : Algoritma & Pemrograman
Pertemuan 4 : Algoritma & PemrogramanTri Retna
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiDevi Apriansyah
 
Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Dian Aditya
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemogramanPANJI_ADITYAN
 
Function
FunctionFunction
Functionwindi1
 
Programming Logic (PROLOG)
Programming Logic (PROLOG)Programming Logic (PROLOG)
Programming Logic (PROLOG)S N M P Simamora
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antaraGunawan Manalu
 

Tendances (18)

Praktikum 6A
Praktikum 6APraktikum 6A
Praktikum 6A
 
Pertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & PemrogramanPertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & Pemrograman
 
Pertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & PemrogramanPertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & Pemrograman
 
Pertemuan 4 : Algoritma & Pemrograman
Pertemuan 4 : Algoritma & PemrogramanPertemuan 4 : Algoritma & Pemrograman
Pertemuan 4 : Algoritma & Pemrograman
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
 
Pengenalan c++
Pengenalan c++Pengenalan c++
Pengenalan c++
 
Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010
 
Modul praktikum c++
Modul praktikum c++Modul praktikum c++
Modul praktikum c++
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
Function
FunctionFunction
Function
 
Pertemuan II Function
Pertemuan II FunctionPertemuan II Function
Pertemuan II Function
 
Function
FunctionFunction
Function
 
Programming Logic (PROLOG)
Programming Logic (PROLOG)Programming Logic (PROLOG)
Programming Logic (PROLOG)
 
Soal tik kls xii smt 1
Soal tik kls xii smt 1Soal tik kls xii smt 1
Soal tik kls xii smt 1
 
Modul 1-2
Modul 1-2Modul 1-2
Modul 1-2
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antara
 
Praktikum 6B
Praktikum 6BPraktikum 6B
Praktikum 6B
 
Materi operator java
Materi operator javaMateri operator java
Materi operator java
 

En vedette

Dinozavri ryadom s nami
Dinozavri ryadom s namiDinozavri ryadom s nami
Dinozavri ryadom s namiSELENA16
 
TUTTE LE BALLE DI MONTI E DELLA SINISTA
TUTTE LE BALLE DI MONTI E DELLA SINISTATUTTE LE BALLE DI MONTI E DELLA SINISTA
TUTTE LE BALLE DI MONTI E DELLA SINISTACOORDPDLPADOVA
 
Obchodní modely PPC reklamy
Obchodní modely PPC reklamyObchodní modely PPC reklamy
Obchodní modely PPC reklamyagentura KOFEIN
 

En vedette (6)

Dinozavri ryadom s nami
Dinozavri ryadom s namiDinozavri ryadom s nami
Dinozavri ryadom s nami
 
PDL RIFORMA RISCALE
PDL RIFORMA RISCALEPDL RIFORMA RISCALE
PDL RIFORMA RISCALE
 
TUTTE LE BALLE DI MONTI E DELLA SINISTA
TUTTE LE BALLE DI MONTI E DELLA SINISTATUTTE LE BALLE DI MONTI E DELLA SINISTA
TUTTE LE BALLE DI MONTI E DELLA SINISTA
 
Trevi pks(1)
Trevi pks(1)Trevi pks(1)
Trevi pks(1)
 
Enconlab2
Enconlab2Enconlab2
Enconlab2
 
Obchodní modely PPC reklamy
Obchodní modely PPC reklamyObchodní modely PPC reklamy
Obchodní modely PPC reklamy
 

Similaire à 1

Pengulanganwhilealgoritma
PengulanganwhilealgoritmaPengulanganwhilealgoritma
Pengulanganwhilealgoritmacasnadi
 
Algoritma dan Struktur Data - loop pada c++
Algoritma dan Struktur Data -  loop pada c++Algoritma dan Struktur Data -  loop pada c++
Algoritma dan Struktur Data - loop pada c++Georgius Rinaldo
 
Algoritma dan Struktur Data - Loop pada C++
Algoritma dan Struktur Data - Loop pada C++ Algoritma dan Struktur Data - Loop pada C++
Algoritma dan Struktur Data - Loop pada C++ KuliahKita
 
Struktur Algoritma
Struktur AlgoritmaStruktur Algoritma
Struktur Algoritmadaffa12
 
ALOGARITMA 4
ALOGARITMA 4ALOGARITMA 4
ALOGARITMA 4arstwn
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman TerstrukturKelinci Coklat
 
materi9 perulangan (looping).ppt
materi9 perulangan (looping).pptmateri9 perulangan (looping).ppt
materi9 perulangan (looping).pptakundiambang
 
Pertemuan10 pemrograman shell - b
Pertemuan10   pemrograman shell - b Pertemuan10   pemrograman shell - b
Pertemuan10 pemrograman shell - b Syaiful Ahdan
 

Similaire à 1 (12)

Pengulanganwhilealgoritma
PengulanganwhilealgoritmaPengulanganwhilealgoritma
Pengulanganwhilealgoritma
 
modul algoritma Bab 4
modul algoritma Bab 4modul algoritma Bab 4
modul algoritma Bab 4
 
Algoritma dan Struktur Data - loop pada c++
Algoritma dan Struktur Data -  loop pada c++Algoritma dan Struktur Data -  loop pada c++
Algoritma dan Struktur Data - loop pada c++
 
Algoritma dan Struktur Data - Loop pada C++
Algoritma dan Struktur Data - Loop pada C++ Algoritma dan Struktur Data - Loop pada C++
Algoritma dan Struktur Data - Loop pada C++
 
ARDUINO_BASIC_TRAINING.ppt
ARDUINO_BASIC_TRAINING.pptARDUINO_BASIC_TRAINING.ppt
ARDUINO_BASIC_TRAINING.ppt
 
ARDUINO_BASIC_TRAINING.ppt
ARDUINO_BASIC_TRAINING.pptARDUINO_BASIC_TRAINING.ppt
ARDUINO_BASIC_TRAINING.ppt
 
Struktur Algoritma
Struktur AlgoritmaStruktur Algoritma
Struktur Algoritma
 
207 p05
207 p05207 p05
207 p05
 
ALOGARITMA 4
ALOGARITMA 4ALOGARITMA 4
ALOGARITMA 4
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
 
materi9 perulangan (looping).ppt
materi9 perulangan (looping).pptmateri9 perulangan (looping).ppt
materi9 perulangan (looping).ppt
 
Pertemuan10 pemrograman shell - b
Pertemuan10   pemrograman shell - b Pertemuan10   pemrograman shell - b
Pertemuan10 pemrograman shell - b
 

1

  • 1. 1. Looping Structur ( Struktur Berulang ) loop di gunakan untuk mengulangi suatu intruksi sesuai dengan intruksi yang di tetapkan. loop memiliki kondisi awl sbgai base line untuk di krjakan dan nilai /kondisi akhir sebagai tujuan sasaran kompetensi: -mahasiswa mampu menggunakan statement loop dlm program -mahasiswa mampu menguasai kapan statement loop diperlukan(dalam keadaan seperti apa) contoh: a.for...next mencetak angka 1-10 cls i=0 for i=1 to 10 print i A. Do While dan While-Wend Adalah Looping yang akan melakukan terus menerus selama kondisi masih memenuhi syarat (bernilai True),Proses akan berhenti apabila sudah sampai pada kondisi False ( Kondisi salah ) contoh; Suatu Program akan menditeksi suatu matakuliah harus mengadakan ujian semester apabila sudah pada pertemuan k-14 cls X=1 do while X<=13 Print"Pertemuan ke :"X X=X+1 Wend Print "Ujian Semester" B. Do-Until Adalah looping yang akan melakukan perulangan terus menerus selama kondisi masih tidak memenuhi syarat(bernilai False),proses akan berhenti apabila sudah sampai pada kondisi True(kondisi Benar) contoh; Membuat program untuk menampilkan deretan bilangan dari 1-10 cls X=1 do Print X X=X+1
  • 2. loop until X>=11 C. For - Next Syntax(Bentuk Um,um penulisan) Contoh; Membuat program untuk menampilkan deretan bilang dari 1-10 cls For X=1 To 10 Print X Next X INPUT "Siapa nama anda:", A$ PRINT "Halo "; A$ DO S$ = "" INPUT "Berapa banyak bintang yang akan ditampilkan"; S FOR I = 1 TO S S$ = S$ + "*" NEXT I PRINT S$ DO INPUT "Anda ingin menampilan lebih banyak tanda bintang"; Q$ LOOP WHILE LEN(Q$) = 0 Q$ = LEFT$ (Q$, 1) LOOP WHILE (Q$ = "Y") OR (Q$ = "y") PRINT "Sampai jumpa "; A$
  • 3. C # Apakah Sementara Contoh menggunakan Sistem; namespace ProgramCall { Contoh kelas { static void Main () { int A, B, Ch; String Lanjutkan; melakukan { . Konsol WriteLine ("Masukkan Dua Integer"); A = int Parse (Console readline ().).; B = int Parse (Console readline ().).; . Konsol Menulis ("Masukkan Pilihan Anda (1 - Tambah / 2 - Sub / 3 - Mul / 4 - Div):"); . Ch = int Parse (. Console readline ()); switch (Ch) { Kasus 1: . Konsol WriteLine ("Sum Apakah {0}", A + B); break; Kasus 2: Console WriteLine ("Perbedaan Apakah {0}", A - B).; break; Kasus 3: . Konsol WriteLine ("Produk Apakah {0}", A * B); break; Kasus 4: . Konsol WriteLine ("Rasio Apakah {0}", A / B); break; default: . Konsol WriteLine ("Pilihan Salah"); break;
  • 4. } Console Menulis ("Apakah Anda Ingin Untuk Lanjutkan (Y / N):?").; Lanjutkan = Console readline ().; } While (! Lanjutkan = "N" && Lanjutkan = "n"!); } } } OUTPUT ---------- Masukkan Dua Integer 65 86 Masukkan Pilihan Anda (1 - Tambah / 2 - Sub / 3 - Mul / 4 - Div): 1 Apakah Sum 151 Apakah Anda Ingin Untuk Lanjutkan? (Y / N): y Masukkan Dua Integer 45 21 Masukkan Pilihan Anda (1 - Tambah / 2 - Sub / 3 - Mul / 4 - Div): 4 Rasio Apakah 2 Apakah Anda Ingin Untuk Lanjutkan? (Y / N):
  • 5. | Utama | < C & C + + untuk loop 2 | C & C + + sementara & do-while loop 2 > | Site Index | Unduh | C LAB KERJA 7a Lain C & C + + Pengulangan Bina: sementara Loop dan do- while Loop 1 Item di halaman ini: 1. Sebuah pengulangan - loop sementara. 2. Sebuah pengulangan - loop do-while. 3. Untuk kontrol loop kegiatan, pertanyaan dan jawaban. 4. Referensi tutorial terkait untuk lembar kerja ini adalah: C / C + + program kontrol 1 dan C / C + + program kontrol 2. The Loop sementara  Loop sementara di C / C + + sangat mirip dengan untuk loop. Pernyataan untuk berisi dua titik koma, yang memungkinkan penempatan pernyataan inisialisasi, negasi dari kondisi terminasi dan pernyataan berulang di dalamnya. Namun, loop sementara memungkinkan penempatan hanya kondisi sehingga dua lainnya pernyataan harus ditempatkan di luar laporan sementara. # Include int main (void) { int i, j; / / Untuk loop printf ("Ini adalah untuk loop n"); untuk (i = -5, i <= 0; i = i +1) / / awal, kondisi terminal dan iterasi printf ("% d", i); printf (" n"); printf (" nIni sementara loop n"); j = -5, kondisi / / awal / / While
  • 6. while (j <= 0) Kondisi / / terminal { printf ("% d", j); j = j + 1; / / iterasi } printf (" nBoth konstruksi menghasilkan hasil yang sama ... n"); return 0; }  Untuk loop dalam program mencetak semua bilangan bulat dari -5 sampai 0. Loop sementara di bagian kedua dari program ini juga melakukan hal yang sama. Perhatikan bahwa pernyataan i = -5, dan i = i + 1; dikeluarkan dari untuk pernyataan karena kita dikonversi ke loop sementara. Karena kita sekarang memiliki dua pernyataan dalam loop sementara, kami harus menambah sepasang kawat gigi, karena kami harus dengan untuk loop. Sama seperti untuk pernyataan tidak mengambil titik koma setelah itu, begitu juga dengan pernyataan sementara. Satu-satunya perbedaan antara while loop dan untuk loop membangun adalah beberapa titik koma seperti yang ditunjukkan di bawah ini. while (kondisi) for (; kondisi;)  Sebagai perbandingan lebih lengkap, kita mungkin memiliki: Kondisi awal sementara (kondisi terminal) perulangan untuk (kondisi awal, kondisi terminal; iterasi) atau Kondisi awal for (; kondisi terminal;) perulangan  Buat flowchart dan / atau tracechart untuk berikut sementara loop. # Include
  • 7. int main (void) { int j; j = -5; / / While while (j <= 0) { printf ("% d", j); j = j + 1; } return 0; } / / Program untuk menunjukkan Mengkonversi program-program berikut yang loop sementara bersarang menggunakan untuk loop untuk sementara loop. # Include / / Program untuk menunjukkan bersarang int main () untuk loop { / / Variabel untuk kontra ... # Include int i = 15, j; / / Loop luar, jalankan ini int main () pertama ... / / Untuk setiap iterasi i, { mengeksekusi loop batin while (i> 0) / / Variabel untuk kontra ... { / / Menampilkan i == int i, j; printf ("% d ==", i); / / Loop luar, jalankan ini pertama ... / / Kemudian, mengeksekusi loop batin dengan loop indeks j, / / Untuk setiap iterasi i, mengeksekusi loop batin / / Nilai awal j adalah i - 1 j = i-1; untuk (i = 15; i> 0 ;) while (j> 0) { { / / Display # printf ("#");
  • 8. / / Menampilkan i == / / Pengurangan j oleh 1 sampai j> 10, yaitu j = 9 printf ("% d ==", i); j = j - 1; } / / Kemudian, mengeksekusi loop batin dengan loop / / Pergi ke baris baru, baris indeks j, baru / / Nilai awal j adalah i - 1 printf (" n"); / / Memundurkan i oleh 1, for (j = i-1; j> 0;) ulangi sampai i> 0 yang i = 1 i = i - 1; { } return 0; / / Display # } printf ("#"); / / Pengurangan j oleh 1 sampai j> 10, yaitu j = 9 j = j - 1; } / / Pergi ke baris baru, baris baru printf (" n"); / / Memundurkan i oleh 1, ulangi sampai i> 0 yang i = 1 i = i - 1; } return 0; }
  • 9. / / Program untuk menunjukkan bersarang / / Program untuk menunjukkan untuk loop loop sementara bersarang # Include # Include int main () { int main () / / Variabel untuk kontra ... { int i = 1, j; / / Loop luar, jalankan ini / / Variabel untuk kontra ... pertama ... / / Untuk setiap iterasi i, int i, j; mengeksekusi loop batin while (i <= 9) / / Loop luar, jalankan ini pertama ... untuk setiap iterasi { i, / / Menampilkan i printf ("% d", i); / / Mengeksekusi loop batin / / Kemudian, mengeksekusi untuk (i = 1; i <= 9 ;) loop batin dengan loop indeks j, / / Nilai awal j adalah i - 1 { j = i-1; while (j> 0) / / Menampilkan i { / / Menampilkan == j printf ("% d", i); printf ("==% d", j); / / Kemudian, mengeksekusi loop batin dengan loop / / Pengurangan j oleh 1 indeks j, sampai j> 0, yaitu j = 1 j = j - 1; / / Nilai awal j adalah i - 1 } / / Pergi ke baris baru for (j = i-1; j> 0;) printf (" n"); / / Increment i oleh 1, ulangi { sampai i <= 9, yaitu i = 9
  • 10. / / Menampilkan == j i = i + 1; } printf ("==% d", j); return 0; } / / Pengurangan j oleh 1 sampai j> 0, yaitu j = 1 j = j - 1; } / / Pergi ke baris baru printf (" n"); / / Increment i oleh 1, ulangi sampai i <= 9, yaitu i = 9 i = i + 1; } return 0; } The Loop do-while Contoh berikut ini menggunakan do-while loop, yang lain C / C + + membangun yang dapat digunakan untuk pengulangan. Perbedaan utama di sini adalah kondisi diuji setelah tubuh loop dan pernyataan dalam tubuh akan dijalankan minimal sekali apakah kondisi benar atau salah. Ini tidak terjadi dengan dua loop lain di mana jika kondisi salah di awal, maka tubuh loop tidak dijalankan sama sekali. Perhatikan titik koma di akhir baris kode sementara.
  • 11. / / Program untuk menunjukkan penggunaan do-while # Include int main () { int j = -5; / / inisialisasi melakukan { printf ("% d n", j); j = j + 1; } while (j <= 0); / / Kondisi return 0; } Buat flowchart dan / atau tracechart untuk loop sebelumnya do-while.
  • 12. Lebih untuk Loop Variasi Ketika menggabungkan scanf () dengan loop, ada dua jenis loop yang harus dikuasai. Ini adalah jumlah loop dan loop pembatas. Dengan loop hitungan, programmer tahu sebelum loop dimulai berapa banyak iterasi yang loop akan tampil. Namun dengan lingkaran pembatas, programmer tidak tahu hal itu, sebaliknya, ketika sebuah item data tertentu yang dijumpai, loop akan berhenti. Item data tertentu yang akan menghentikan loop disebut pembatas misalnya x = 0!. Berikut adalah bentuk umum dari loop hitungan. / / Program untuk menunjukkan jumlah penggunaan # Include int main () { int i, count; printf ("Masukkan jumlah item data:"); scanf_s ("% d", & count, 1); untuk (i = 1; i <= hitung; i = i + 1) printf ("% d", i); printf (" n"); return 0; } Perhatikan bahwa pertama programmer tahu jumlah item data yang akan dibaca. Angka dibaca dan disimpan dalam hitungan yang disebut variabel. Kemudian loop diatur sehingga akan dilakukan kali yang banyak. Loop bisa juga telah disiapkan dengan cara ini: for (; count = 0; count = count - 1!) Ini akan memiliki efek yang sama. Namun jika untuk beberapa alasan nilai hitungan yang diperlukan setelah loop, itu tidak akan tersedia karena akan berada di tingkat pertama. Bentuk umum dari lingkaran pembatas ditampilkan dalam potongan kode berikut. printf ("Masukkan data integer, 0 bila dilakukan n."); scanf_s ("% d", & in_data);
  • 13. for (; in_data = 0;!) { / / Kode lain untuk pengolahan data ... scanf ("% d", & in_data); } Contoh program kerja untuk pembatas ditampilkan di bawah. / / Untuk loop, pembatas # Include int main () { mengapung sum; int count, in_data; printf ("Masukkan data integer, masukkan 0 bila dilakukan n."); scanf_s ("% d", & in_data, 1); untuk (count = 0, jumlah = 0.0; in_data = 0;! count = count + 1) { / / Menghitung jumlah yang ... sum = sum + in_data; / / Membaca dan menyimpan data berikutnya ... scanf_s ("% d", & in_data, 1); / / Increment count oleh 1 dan memeriksa / / In_data = 0 atau tidak,! Jika! = 0, ulangi / / Yang lain menghentikan loop dan
  • 14. menghitung rata-rata ... } printf ("The rata-rata% d memasuki angka adalah% f n", count, jumlah / count); return 0; } Berikut ini adalah contoh program yang memiliki baik jumlah dan loop pembatas. / / Untuk loop, pembatas # Include int main () { mengapung jumlah = 0,0; int i, count, in_data; printf ("Berapa banyak item yang Anda ingin rata-rata?"); scanf_s ("% d", & count, 1); untuk (i = 1; i <= count, i = i +1) { scanf_s ("% d", & in_data); sum = sum + in_data; } printf ("The rata-rata% d data% .2 f n", count, jumlah / count); / / Mengulang kode sebelumnya printf (" nMasukkan data, 0 untuk mengakhiri n."); scanf_s ("% d", & in_data);
  • 15. untuk (count = 0, jumlah = 0.0; in_data = 0;! count = count + 1) { sum = sum + in_data; scanf_s ("% d", & in_data); } printf ("Rata-rata dari angka d% adalah% .2 f n", count, jumlah / count); / / Kita harus membuat hitungan pasti tidak tinggal 0 untuk menghindari membagi dengan 0. return 0; } Berikut ini adalah contoh yang lebih kompleks. Suhu dilaporkan turun setiap hari, jadi kami ingin tahu hari pertama yang naik. Suhu dan kondisi cuaca untuk hari masing-masing program apa yang harus dibaca dan harus melaporkan suhu dan kondisi cuaca untuk hari ketika suhu merosot ke minimum sebelum naik. / / Untuk loop, pembatas dan menghitung # Include # Include <string.h> int main () { pelampung CurrentTemp, PreviousTemp, total = 0.0; CurrentCondition char [15], PreviousCondition [15]; int hari; / / Menginisialisasi loop, mengatur nilai-nilai saat ini & sebelumnya printf ("Suhu di gelar F, kondisi: panas,
  • 16. ringan, nyaman, adil dan berangin n"); printf ("Masukkan kondisi sebelumnya & suhu:"); scanf_s ("% f% s", & PreviousCondition, 15, & PreviousTemp); printf ("Masukkan kondisi saat & suhu:"); scanf_s ("% f% s", & CurrentCondition, 15, & CurrentTemp); Total = PreviousTemp; / / Melakukan perulangan untuk (hari = 1; CurrentTemp <PreviousTemp, hari = hari + 1) { total = total + CurrentTemp; / / Sekarang membuat nilai-nilai saat ini menjadi yang lama atau sebelumnya PreviousTemp = CurrentTemp; strcpy_s (PreviousCondition, 15, CurrentCondition); / / Dan mendapatkan nilai-nilai baru atau saat ini. printf ("Masukkan kondisi saat & suhu:"); scanf_s ("% f% s", & CurrentCondition, 15, & CurrentTemp); } / / Mencetak laporan printf ("suhu terendah sebelum naik pertama kalinya:.% .2 f n", PreviousTemp); printf ("Kondisi saat itu:% s n", PreviousCondition);
  • 17. printf ("Rata-rata Suhu sampai saat itu:.% .2 f n", total / hari); return 0; } Sebuah flowchart untuk program sebelumnya diberikan di bawah ini.
  • 18. Berikut ini adalah tracechart tersebut.
  • 19. The EOF Karakter Sebuah karakter khusus yang disebut EOF (E nd O f F ile) ditempatkan di akhir file. Ketika sebuah sistem komputer mengetik file dan pertemuan karakter ini, ia menyadari bahwa ini adalah akhir dari file dan bahwa mengetik file selesai. Dalam UNIX berbasis OS, karakter ini adalah CTRL-D dan dalam sistem PC, itu adalah CTRL-Z. EOF didefinisikan dalam file stdio.h. Nilainya adalah -1. Berikut ini menunjukkan penggunaan EOF. The getchar () fungsi mendapatkan karakter dari pengguna dan menyimpannya dalam i. Jika saya tidak sama dengan EOF, maka kita menggunakan putchar () fungsi, mencetaknya pada layar dan mendapatkan satu lagi untuk menempatkannya di i. Hal ini dilakukan sampai EOF ditemui, ketika loop berhenti. Perhatikan bahwa karakter dibaca ke i, integer. Hal ini juga bisa menjadi char. Pada output, total 4 ditunjukkan karena karakter keempat, yang kita tidak bisa melihat, adalah karakter carriage return. # Include int main () { int i, j; / / Membaca input pengguna, getchar () dapat membaca Char / / Di sini kita mendeklarasikan int i = getchar (); for (j = 0; i = EOF,! j = j + 1)
  • 20. { / / Tampilan ke layar ... putchar (i); i = getchar (); } printf ("Jumlah total =% d n", j); return 0; } Lebih Kegiatan Dan Pertanyaan Coba contoh program berikut, menunjukkan output dan menjawab pertanyaan. Sampel masukan ketika program ini memungkinkan Anda untuk melakukannya juga ditampilkan atau dinyatakan. Masukkan satu masukan pada satu waktu dan tidak mungkin semua dalam satu baris. Suatu program mungkin tidak perlu semua nilai yang ditampilkan di sini. Contoh masukan: 3 7 8 11 14 10 9 9 6 # Include int main () { int i, k; printf ("Masukkan masukan sampel: n"); untuk (i = 1; i <= 4; i = i + 1) { scanf_s ("% d", & k, 1); a. 4. Berdasarkan i <= 4; kondisi, 4 disertakan. printf ("Data yang dimasukkan:% d n", k); b. 3. Berdasarkan i <4; kondisi, 4 tidak termasuk. } c. 3. Berdasarkan i = 4; kondisi, ketika saya == 4, return 0; iterasi berhenti.! } a. Berapa banyak nomor yang diterima oleh program?
  • 21. b. Jika <= diubah menjadi <, bagaimana mungkin data yang akan diproses? c. Jika itu berubah menjadi =,! Berapa banyak item data akan diproses? # Include int main () { int i, k; printf ("i = 1, i <0, i = i + 1, apa yang salah n???"); untuk (i = 1; i <= 0; i = i + 1) a. Tidak ada. Program atau loop hanya mengakhiri. { b. loop tidak dijalankan sama scanf_s ("% d", & k, 1); sekali. Hal ini karena kondisi terminal, i <= 0 sudah printf ("Data yang dimasukkan:% d n", k); diberlakukan (FALSE) ketika untuk pernyataan dievaluasi } sedangkan nilai awal i = 1. return 0; } a. Berapa banyak nomor yang diterima oleh program? b. Berapa kali loop dieksekusi? Kenapa? Pernyataan berikut dijalankan dalam urutan sebagai berikut: Pernyataan 1, 2, 3, 4, 2, 3, 4, 2, dll sampai k = 11. Ingatlah bahwa scanf () / scanf_s () akan berakhir pada saat ada spasi. Input berikutnya akan dibaca oleh scanf berikutnya () / scanf_s (). a. 3. # Include b. scanf () dan printf () keduanya disebut 3 kali. int main () c. Ya. Karena kondisi BENAR untuk untuk loop adalah k = { 11,! Sehingga k == 11 akan int k; FALSE dan menghentikan loop. printf ("Masukkan masukan sampel: n"); d. Data. e. Mengubah k = 11 sampai k!! scanf_s ("% d", & k, 1); / / Pernyataan 1 = 9.
  • 22. for (; k = 11;!) / / Pernyataan 2 { printf ("Data adalah:% d n", k); / / Pernyataan 3 scanf_s ("% d", & k, 1); / / Pernyataan 4 f. Lihat di bawah. } return 0; } a. Berapa banyak nomor yang diterima oleh program? b. Berapa kali adalah scanf_s () fungsi disebut? Dan printf ()? c. Apakah 11 pernah membaca sebagai data? Mengapa bukan cetak? d. Apakah program atau data menentukan berapa kali loop itu harus dilakukan? e. Jika Anda ingin semua angka sampai dengan 9 yang akan dicetak, bagaimana Anda mengubah untuk pernyataan? f. Gambarkan flowchart dan / atau tracechart untuk program ini.
  • 23. Mengubah posisi (printf) dan scanf_s () dalam tubuh untuk contoh sebelumnya. # Include a. Ya 11 dicetak. Hal ini int main () karena scanf_s () dalam { untuk loop akan membaca input berikutnya, yang int k; merupakan masukan kedua, 7. Kemudian masukan itu printf ("Masukkan masukan sampel: n"); dicetak. Ketika 11 dibacakan, itu dicetak scanf_s ("% d", & k, 1); / / Pernyataan 1 terlebih dahulu sebelum dievaluasi dalam kotak for (; k = 11;!) / / Pernyataan 2 berlian keputusan. { b. Tidak Hal ini karena scanf_s () dalam untuk loop akan scanf_s ("% d", & k, 1); / / Pernyataan 4 membaca data input berikutnya, yaitu 7 dan
  • 24. printf ("Data adalah:% d n", k); / / Pernyataan 3 kemudian mencetaknya. c. Mengubah k = 11 sampai k!! } = 10. return 0; } a. Apakah yang 11 bisa dicetak? Mengapa atau mengapa tidak? d. Lihat di bawah. b. Apakah nomor pertama yang dibacakan bisa dicetak? Mengapa atau mengapa tidak? c. Jika Anda ingin semua angka sampai dengan 9 yang akan dicetak, bagaimana Anda mengubah untuk pernyataan? d. Gambarkan flowchart untuk program ini.
  • 25. # Include int main () a. Nomor 11 tidak dicetak. Setelah 11 dibacakan oleh { scanf_s () dalam untuk loop, k = 11 keputusan itu! int k = 0; Dievaluasi, sehingga FALSE printf ("Masukkan masukan sampel: n"); dan loop mengakhiri. b. Dari output, kita dapat for (; k = 11;!) / / Pernyataan 2 melihat bahwa nilai awal k = 0 telah dicetak sebelum { program prompt untuk input. Jadi, input berikutnya yang printf ("Data adalah:% d n", k); / / Pernyataan 3 akan dibaca oleh scanf_s () scanf_s ("% d", & k, 1); / / Pernyataan 4 adalah 3. Bila ada masukan, program ini akan } menemukan scanf_s pertama () untuk membaca return 0; dan menyimpan nilai-nilai tersebut. } c. Ya seperti yang ditunjukkan dalam output berikut. Nilai a. Apakah yang 11 bisa dicetak? Mengapa atau awal k = 0 telah ditimpa oleh mengapa tidak? masukan pertama, 3 dan 3 b. Mengapa bukan yang pertama item data, 3, berikutnya telah ditimpa bisa dicetak pertama? oleh 7 dan seterusnya. c. Akankah 3 telah dicetak jika scanf_s () dan printf () dialihkan? # Include int main () { int k = 0, m; a. 4 kali. printf ("Masukkan integer sebagai count: n"); b. 4 kali. scanf_s ("% d", & m); c. Data yang disimpan dalam m, yaitu 4.
  • 26. printf ("Masukkan bilangan bulat d%: n", m); for (; m = 0; m = m - 1!) { scanf_s ("% d", & k); printf ("Data adalah:% d n", k); } return 0; } a. Berapa kali adalah tubuh yang dilakukan dengan loop? b. Berapa kali itu k diberi nilai baru melalui scanf_s ()? c. Bagaimana dalam data ditentukan berapa kali loop dilakukan? | Utama | < C & C + + untuk loop 2 | C & C + + sementara & do-while loop 2 > | Site Index | Unduh | The C Pengulangan untuk sementara dan do-while: Bagian 1 | Bagian 2 | Bagian 3 | Bagian 4