Penjelasan alurnya
Perulangan dimulai dari 1, bilangan ganjil pertama, lalu i bertambah 2 di setiap putaran. Hasilnya 1, 3, 5, 7, dan seterusnya, tanpa perlu memeriksa ganjil atau genap.
Keputusan i <= n diperiksa sebelum setiap putaran. Begitu i melewati n, cabang Tidak keluar dari perulangan dan program selesai.
Cara lain adalah memeriksa setiap bilangan dengan i % 2 == 1 dan menambah i satu per satu. Hasilnya sama, tapi putarannya dua kali lebih banyak.
Pseudocode
1ALGORITMA Bilangan ganjil 1 sampai N23DEKLARASI4 n, i : integer56MULAI7 BACA n8 i ← 19 SELAMA i ≤ n LAKUKAN10 TAMPILKAN i11 i ← i + 212 AKHIR SELAMA13SELESAIKode programnya
Kode di bawah dibuat langsung dari flowchart di atas, jadi alurnya sama persis. Coba jalankan dengan masukan 10.
1# Bilangan ganjil 1 sampai N23n = int(input("Masukkan n: "))4i = 15while i <= n:6 print(i)7 i = i + 21// Bilangan ganjil 1 sampai N23let n, i;45n = Number(prompt("Masukkan n:"));6i = 1;7while (i <= n) {8 console.log(i);9 i = i + 2;10}1<?php23// Bilangan ganjil 1 sampai N45$n = (int) readline("Masukkan n: ");6$i = 1;7while ($i <= $n) {8 echo $i . PHP_EOL;9 $i = $i + 2;10}1// Bilangan ganjil 1 sampai N2#include <stdio.h>34int main(void) {5 int n = 0, i = 0;67 printf("Masukkan n: ");8 scanf("%d", &n);9 i = 1;10 while (i <= n) {11 printf("%d\n", i);12 i = i + 2;13 }1415 return 0;16}1// Bilangan ganjil 1 sampai N2import java.util.Scanner;34public class Program {5 public static void main(String[] args) {6 Scanner input = new Scanner(System.in);7 int n = 0, i = 0;89 System.out.print("Masukkan n: ");10 n = Integer.parseInt(input.nextLine().trim());11 i = 1;12 while (i <= n) {13 System.out.println(i);14 i = i + 2;15 }16 }17}Jalankan kodenya tanpa instalasi di compiler Python online atau compiler bahasa lain di Playground.
Coba ubah sendiri
- Tampilkan bilangan genap dari 2 sampai N.
- Tampilkan bilangan ganjil secara mundur dari N.
- Jumlahkan semua bilangan ganjil yang ditampilkan.