Keragaman Budaya Indonesia 5 Provinsi - Indonesia sangatlah kaya dengan keaneka ragaman istiadat pun budaya, tentu saja hal tersebut disebabkan oleh distrik Indonesia yang berbentuk kepulauan sehingga meningkatkan kekayaan dan keanekaragaman kebiasaan masing-masing pulau. Bahkan guna satu pulau ada bermacam-macam atau keanekaragaman kebiasaan pada masing-masing provinsi. Perbedaan kebiasaan dapat disaksikan dari adanya lokasi tinggal adat, pakaian adat, tarian tradisional, senjata tradisional, lagu daerah, suku wilayah dan sejumlah julukan pada 5 provinsi, bahkan sejumlah provinsi mempunyai lebih dari satu macam lokasi tinggal adat sebab pengaruh dari adanya suku yang beraneka aneka yang bermukim pada satu provinsi. Berikut ini kami tuliskan mengenai rumah tinggal adat, pakaian adat, tarian tradisional, senjata tradisional, lagu daerah, suku wilayah dan julukan pada 5 provinsi yang terdapat di Indonesia. 1. Provinsi Jawa Barat (JABAR) Ibukota ...
Laporan dari fungsi diapit oleh kurung {}. Fungsi main hanya berisi satu pernyataan,
printf("hello, world\n");
Sebuah fungsi disebut dengan penamaan itu, diikuti dengan daftar kurung argumen, sehingga panggilan ini fungsi printf dengan argumen "hello, world\n". Printf adalah fungsi library yang mencetak output, dalam hal ini string karakter antara tanda kutip.
Sebuah urutan karakter dalam tanda kutip ganda, seperti "hello, world\n", disebut karakter string atau konstanta string. Untuk saat ini kita gunakan hanya karakter string akan sebagai argumen untuk printf dan fungsi lainnya.
Urutan \n dalam string adalah notasi C untuk karakter baris baru, yang bila dicetak kemajuan output ke margin kiri pada baris berikutnya. Jika Anda meninggalkan keluar in the string is C notation for the newline character, which when printed
advances the output to the left margin on the next line. If you leave out the \n (percobaan berharga), Anda akan menemukan bahwa tidak ada garis muka setelah output dicetak. Anda harus menggunakan \n untuk memasukkan karakter baris baru di printf argumen, jika Anda mencoba sesuatu seperti,
printf("hello, world");
compiler C akan menghasilkan pesan kesalahan.
Printf tidak pernah memasok karakter baris baru secara otomatis, sehingga beberapa panggilan dapat digunakan untuk membangun sebuah jalur output secara bertahap. Program pertama kami bisa juga ditulis
#include
main()
{
printf("hello, ");
printf("world");
printf("\n");
}
untuk menghasilkan output yang identik.
Perhatikan bahwa \n hanya mewakili satu karakter. Sebuah urutan escape seperti \n menyediakan mekanisme umum dan extensible untuk mewakili sulit tipe atau karakter tak terlihat. Di antara lain bahwa C menyediakan adalah \t untuk tab, \b backspace untuk, \ "untuk kutipan ganda dan \ \ untuk backslash itu sendiri.
latihan 1-1 Jalankan ``hello, world'' Program pada sistem Anda. Percobaan dengan meninggalkan keluar bagian dari program, untuk melihat apa pesan kesalahan yang Anda dapatkan.
Latihan 1-2 Percobaan untuk mencari tahu apa yang terjadi ketika prints's argumen string mengandung \ c, di mana c adalah beberapa karakter tidak tercantum di atas.
Variabel dan Aritmatika Ekspresi
Program berikutnya menggunakan rumus oC = (5/9) (oF-32) untuk mencetak tabel berikut suhu Fahrenheit dan Celcius atau setara Celcius mereka:
1 -17
20 -6
40 4
60 15
80 26
100 37
120 48
140 60
160 71
180 82
200 93
220 104
240 115
260 126
280 137
300 148
Program itu sendiri masih terdiri dari definisi fungsi tunggal bernama main. Hal ini lebih lama daripada yang dicetak ``hello, world'', tapi tidak rumit. Hal ini memperkenalkan beberapa ide-ide baru, termasuk komentar, deklarasi, variabel, ekspresi aritmatika, loop, dan output diformat.
#include
/* mencetak tabel Fahrenheit-Celsius
for fahr = 0, 20, ..., 300 */
main()
{
int fahr, celsius;
int lower, upper, step;
lower = 0; /* batas bawah skala suhu */
upper = 300; /* batas atas */
step = 20; /* ukuran langkah */
fahr = lower;
while (fahr <= upper) {
celsius = 5 * (fahr-32) / 9;
printf("%d\t%d\n", fahr, celsius);
fahr = fahr + step;
}
}
Dua baris
/* mencetak tabel Fahrenheit-Celsius
for fahr = 0, 20, ..., 300 */
adalah komentar, yang dalam hal ini menjelaskan secara singkat apa program tidak. Setiap karakter antara / * dan * / diabaikan oleh compiler, mereka dapat digunakan secara bebas untuk membuat program lebih mudah untuk memahami. Komentar dapat muncul di mana saja di mana kosong, tab atau baris baru bisa.
Dalam C, semua variabel harus dideklarasikan sebelum mereka digunakan, biasanya pada awal fungsi sebelum pernyataan dieksekusi. Sebuah deklarasi mengumumkan sifat variabel, terdiri dari nama dan daftar variabel, seperti
int fahr, celsius;
int lower, upper, step;
Jenis yang int berarti bahwa variabel yang tercantum adalah bilangan bulat, sebaliknya dengan float, yang berarti floating point, yaitu, angka yang mungkin memiliki bagian pecahan. Kisaran kedua int dan floattergantung pada mesin yang Anda gunakan, 16-bit ints, yang terletak antara -32768 dan 32767, yang umum, seperti 32-bit ints. Sejumlah float biasanya kuantitas 32-bit, dengan setidaknya enam angka signifikan dan besarnya umumnya antara sekitar 10-38 dan 1038.
C menyediakan beberapa tipe data lain selain int and float, termasuk:
char
|
karakter - satu byte
|
short
|
integer pendek
|
long
|
Integer panjang
|
double
|
double-precision floating point
|
Ukuran benda-benda ini juga tergantung-mesin. Ada juga array, struktur dan serikat ini tipe dasar, pointer kepada mereka, dan fungsi yang mengembalikan mereka, semua yang kita akan bertemu pada waktunya.
Perhitungan dalam program konversi suhu dimulai dengan pernyataan penugasan.
lower = 0;
upper = 300;
step = 20;
yang mengatur variabel ke nilai awal mereka. Pernyataan individu diakhiri oleh titik koma.
Setiap baris dari tabel dihitung dengan cara yang sama, jadi kita menggunakan loop yang berulang kali per baris output; ini adalah tujuan dari while putaran.
while (fahr <= upper) {
...
}
While itu lingkaran beroperasi sebagai berikut: Kondisi dalam tanda kurung diuji. Jika benar (fahr kurang dari atau sama dengan upper), tubuh loop (tiga pernyataan diapit oleh kurung) dijalankan. Kemudian kondisi ini kembali diuji, dan jika benar, tubuh dijalankan lagi. Ketika tes menjadi palsu (fahr melebihi upper) loop berakhir, dan eksekusi berlanjut pada pernyataan yang mengikuti loop. Tidak ada pernyataan lebih lanjut dalam program ini, sehingga berakhir.
Tubuh seorang while dapat menjadi salah satu atau lebih pernyataan diapit oleh kurung, seperti dalam konverter suhu, atau pernyataan tunggal tanpa kawat gigi, seperti dalam
while (i < j)
i = 2 * i;
Dalam kedua kasus, kita akan selalu memasukkan statement dikendalikan oleh while oleh salah satu tab stop (yang kami telah menunjukkan sebagai empat spasi) sehingga Anda dapat melihat sekilas yang laporan keuangannya berada di dalam lingkaran. Lekukan ini menekankan struktur logis dari program tersebut. Meskipun C compiler tidak peduli tentang bagaimana program terlihat, lekukan yang tepat dan jarak sangat penting dalam membuat program yang mudah bagi orang untuk membaca. Sebaiknya menulis hanya satu pernyataan per baris, dan menggunakan kosong sekitar operator untuk memperjelas pengelompokan. Posisi kawat gigi kurang penting, meskipun orang memegang keyakinan yang penuh gairah. Kami telah memilih salah satu dari beberapa gaya populer. Pilih gaya yang cocok untuk anda, kemudian menggunakannya secara konsisten.
Sebagian besar pekerjaan akan dilakukan dalam tubuh loop. Suhu Celsius dihitung dan ditugaskan untuk variabel celsius oleh pernyataan
celsius = 5 * (fahr-32) / 9;
Alasan untuk mengalikan dengan 5 dan membaginya dengan 9 bukan hanya mengalikan dengan 5/9 adalah bahwa dalam C, seperti di banyak bahasa lain, pembagian integer memotong: setiap bagian pecahan dibuang. Sejak 5 dan 9 adalah bilangan bulat. 5/9 akan dipotong ke nol dan sehingga semua suhu Celsius akan dilaporkan sebagai nol.
Contoh ini juga menunjukkan sedikit lebih tentang bagaimana karya printf. Printf adalah tujuan umum fungsi format output, yang akan kami jelaskan secara rinci dalam Bab 7. Argumen pertama adalah string karakter yang akan dicetak, dengan masing-masing% menunjukkan di mana salah satu dari yang lain (kedua, ketiga, 14 ...) argumen yang akan diganti, dan dalam bentuk apa itu harus dicetak. Misalnya,%d menentukan argumen integer, sehingga pernyataan
printf("%d\t%d\n", fahr, celsius);
menyebabkan nilai dari dua bilangan bulat fahr dan celsius yang akan dicetak, dengan tab (\ t) di antara mereka.
Setiap konstruksi% pada argumen pertama printf dipasangkan dengan argumen kedua yang sesuai, argumen ketiga, dll, mereka harus cocok dengan baik oleh jumlah dan jenis, atau Anda akan mendapatkan jawaban yang salah.
omong-omong, printf bukan bagian dari bahasa C, tidak ada input atau output didefinisikan dalam C itu sendiri. Printf hanya fungsi yang berguna dari perpustakaan standar fungsi yang biasanya dapat diakses oleh program C. Perilaku Printf didefinisikan dalam standar ANSI, bagaimanapun, jadi sifat-sifatnya harus sama dengan compiler dan perpustakaan yang sesuai dengan standar.
Dalam rangka untuk berkonsentrasi pada C itu sendiri, kita tidak berbicara banyak tentang input dan output sampai pasal 7. Secara khusus, kami akan menunda masukan diformat sampai saat itu. Jika Anda harus memasukkan nomor, baca pembahasan fungsi scanf. Scanf seperti printf, - kecuali bahwa membaca masukan alih-alih menulis output.
Ada beberapa masalah dengan program konversi suhu. Yang lebih sederhana adalah bahwa output tidak sangat prettyv karena angka-angka tersebut tidak benar-dibenarkan. Itu mudah untuk memperbaiki, jika kita menambah setiap% d dalam laporan printf dengan lebar, angka yang dicetak akan rightjustified di bidang mereka. Sebagai contoh, kita bisa mengatakan
printf("%3d %6d\n", fahr, celsius);
untuk mencetak angka pertama dari setiap baris di lapangan tiga digit lebar, dan yang kedua di bidang enam digit lebar, seperti ini:
0 -17
20 -6
40 4
60 15
80 26
100 37
...
Masalah yang lebih serius adalah bahwa karena kita telah menggunakan aritmatika integer, suhu Celsius tidak begitu akurat, misalnya, 0oF sebenarnya tentang-17.8oC, bukan -17. Untuk mendapatkan jawaban yang lebih akurat, kita harus menggunakan aritmatika floating-point bukan integer. Hal ini membutuhkan beberapa perubahan dalam program ini. Berikut ini adalah versi kedua:
#include
/* print Fahrenheit-Celsius table
for fahr = 0, 20, ..., 300; floating-point version */
main()
{
float fahr, celsius;
float lower, upper, step;
lower = 0; /* lower limit of temperatuire scale */
upper = 300; /* upper limit */
step = 20; /* step size */
fahr = lower;
while (fahr <= upper) {
celsius = (5.0/9.0) * (fahr-32.0);
printf("%3.0f %6.1f\n", fahr, celsius);
15
fahr = fahr + step;
}
}
Ini adalah sama seperti sebelumnya, kecuali bahwa fahr and celsius dinyatakan sebagai float dan rumus untuk konversi ditulis dalam cara yang lebih alami. Kami tidak dapat menggunakan 5/9 di versi sebelumnya karena pembagian integer akan memotong ke nol. Sebuah titik desimal dalam konstanta menunjukkan bahwa itu floating point, bagaimanapun, jadi 5.0/9.0 tidak terpotong karena merupakan rasio dua nilai floating-point.
Jika operator aritmatika memiliki operan integer, operasi bilangan bulat dilakukan. Jika operator aritmatika memiliki satu floating-point operan dan satu bilangan bulat operan, bagaimanapun, integer akan dikonversi ke floating point sebelum operasi dilakukan. Jika kita telah menulis (fahr-32), 32 akan secara otomatis dikonversi ke floating point. Namun demikian, menulis konstanta floating-point dengan poin desimal eksplisit bahkan ketika mereka memiliki nilai-nilai yang tidak terpisahkan menekankan sifat floating-point mereka untuk pembaca manusia.
Aturan rinci ketika bilangan bulat dikonversi ke floating point ada di Bab 2. Untuk saat ini, melihat bahwa tugas
fahr = lower;
dan tes
while (fahr <= upper)
juga bekerja dengan cara alam – int diubah menjadi float sebelum operasi dilakukan.
Spesifikasi konversi printf %3.0f mengatakan bahwa angka floating-point (disini fahr) yang akan dicetak setidaknya tiga karakter lebar, tanpa titik desimal dan tidak ada angka pecahan. % 6.1f menjelaskan nomor lain (celsius) yang akan dicetak sedikitnya enam karakter lebar, dengan 1 digit di belakang koma. Outputnya terlihat seperti ini:
0 -17.8
20 -6.7
40 4.4
...
Lebar dan presisi dapat dihilangkan dari spesifikasi:% 6f mengatakan bahwa jumlah ini berada di \ / - setidaknya enam karakter lebar;% .2 f menetapkan dua karakter setelah titik desimal, tapi lebar adalah tidak dibatasi, dan % f hanya mengatakan untuk mencetak nomor sebagai floating point.
%d
|
mencetak sebagai integer desimal
|
%6d
|
mencetak sebagai integer desimal, minimal 6 karakter lebar
|
%f
|
dicetak sebagai floating point
|
%6f
|
dicetak sebagai floating point, minimal 6 karakter lebar
|
%.2f
|
dicetak sebagai floating point, 2 karakter setelah titik desimal
|
%6.2f
|
dicetak sebagai floating point, setidaknya 6 lebar dan 2 setelah titik desimal
|
antara lain, printf juga mengakui %o untuk oktal, %x untuk heksadesimal, %c untuk karakter, %s untuk karakter string dan %% untuk dirinya sendiri.
Latihan 1-3. Memodifikasi program konversi suhu untuk mencetak judul di atas meja.
Latihan 1-4. Tulis program untuk mencetak Celcius sesuai dengan tabel Fahrenheit.
BY GONOH
Komentar