Bab 5a
DIKTAT BAB 5
1. Cetaklah bilangan 1 sampai dengan 4 menggunakan downto.
Algoritma
{langsung mencetak bilangan 1 sampai 4}
Deklarasi b=integer
b<1
repeat
b<=4
b++
write(b)
Dev C++
source code :
#include <iostream>
using namespace std;
int main(){
cout <<"\n \t\t\tPROGRAM MENCETAK BILANGAN 1-4 \n";//Algoritma menceteak bilanagn 1 sampai 4
cout <<" \n\t\t\t DENGAN PERULANGAN \n"; //{langsung mencetak bilanagn 1 sampai 4}
int b; //Deklarasi b=integer
for (b=1;b<=4;b++){ //read
cout<<b<<endl;
}
return 0;
}
outputnya :
Raptor
2. buatlah translasi dalam bahasa C untuk algoritma 4.5. Apakah diperlukan modifikasi algoritma ?
Algoritma
{masukkan integer 1 sampai 7, akan
ditentukan hari apa yang sesuai}
Deklarasi hari= integer;
Deskripsi
read(hari);
case(hari) of
1:hari<-'senin';
2:hari<-'selasa';
3:hari<-'rabu';
4:hari<-'kamis';
5:hari<-'jumat';
6:hari<-'sabtu';
else hari<-'minggu';
endcase
write(hari)
Dev C++
source code :
#include <stdio.h>
#include <stdlib.h>
// Tidak perlu modifikasi algoritma
int main(int argc, char *argv[]) {
printf("\t\t\tPROGRAM MENENTUKKAN HARI.\n\n\n");//Algoritam menentukan hari
int hari;
printf("masukan hari ke- ");
scanf("%d", &hari);
switch (hari)
{
case 1:puts("hari senin"); break; //1:hari<-'senin';
case 2:puts("hari selasa"); break; //2:hari<-'selasa';
case 3:puts("hari rabu"); break; //3:hari<-'rabu';
case 4:puts("hari kamis"); break; //4:hari<-'kamis';
case 5:puts("hari jumat"); break; //5:hari<-'jumat';
case 6:puts("hari sabtu"); break; //6:hari<-'sabtu';
case 7:puts("hari minggu"); break; //else hari<-'minggu';
default:puts("kode salah");
}
return 0;
}
outputnya :
Raptor
3. Buatlah algoritma dan program untuk mencetak bilangan yang habis dibagi 3 dan 5 antara 1 sampai dengan 100.
Algoritma
Algoritma
Mencetak bilangan yang
habis dibagi 3 dan 5 antara 1-100
|
Deklarasi
a:integer (output)
|
Deskripsi
a<-1
repeat
a<-100
a%3<-0 &&
a%5<-0
write(a)
|
Dev C++
source code :
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int a;
for(a=1;a<=100;a++){
if(a%3==0 && a%5==0){
cout<<"Bilangan habis dibagi 3 dan 5= "<<a;
cout<<endl;
}else{
}
}
return 0;
}
outputnya :
Raptor
4. Hitunglah nilai dari : 1-1/2+1/3-1/4+...+1/n.
Algoritma
Algoritma
Menghitung Hasil Deret
1-1/2+1/3-1/4+...+1/n
|
Deklarasi
a,n:integer (input)
p,bil,hasil,total :integer
(output)
|
Deskripsi
a<-2
bil<-1
p<-1
total<-0
hasil<-0
repeat until p=n
if p%2=0
hasil<- (-1)*(bil/p)
if a=n
write (a)
else
hasil<-bil/p
if a=n
write (a)
total<-total+hasil
p<-p+1
a<-a+1
write n,bil,total
|
source code :
#include <iostream>
#include<conio.h>
#include<math.h>
using namespace std;
class hitung
{
public:
void input();
int proses();
private:
int a;
float bil,hasil,total;
};
void hitung::input(){
cin>>a;
cout<<endl;}
int hitung::proses(){
hasil=0;
total=0;
bil=-1;
for(int j=1; j<=a; j++){
bil=(bil*(-1));
total=bil/j;
hasil+=total;
if(j==1)
cout<<"("<<bil<<"/"<<j<<")";
if(j>1)
cout<<" +("<<bil<<"/"<<j<<")";
}
cout<<endl<<endl<<"hasil penjumlahan deret = "<<hasil;
return hasil;
}
int main()
{
cout<<"menghitung jumlah Hasil Deret 1-(1/2)+(1/3)-(1/4)+...+(1/n)"<<endl<<endl;
cout<<"masukan nilai n : ";
hitung deret;
deret.input();
deret.proses();
getch();
return 0;
}
outputnya :
Raptor
5. Buatlah algoritma dan program untuk menghitung nilai dari permutasi dan kombinasi n buah bola yang diambil r bola.
Dev C++
source code :
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int faktorial(int N);
int main(void)
{
int hasil;
int n,k, Y=1;
char proses[2];
char yesno[2];
while(Y) {
cout<<"\tMasukkan nilai n : ";
cin>>n;
cout<<"\tMasukkan nilai k : ";
cin>>k;
if(n<k){
cout<<"\tNilai n tidak boleh lebih kecil dari k\n";
}
else
{
cout<<"\tPilih P (permutasi) atau C (kombinasi) : ";
cin>>proses[0];
if (proses[0]=='p' || proses[0]=='P')
{
hasil = faktorial(n)/faktorial(n-k);
cout<<"\n \n";
cout<<n<<"P"<<k<<" : "<<hasil;
}
else if (proses[0]=='c' || proses[0]=='C')
{
hasil = faktorial(n)/(faktorial(k) * faktorial(n-k));
cout<<"\n \n";
cout<<n<<"C"<<k<<" : "<<hasil;
}
else
cout<<"\n\tAnda tidak memilih P atau C";
cout<<"\n\tIngin mengulang? <y/n> ";
cin>>yesno[0];
if (yesno[0]=='Y'||yesno[0]=='y')
Y=1;
else if (yesno[0]=='N'||yesno[0]=='n'||yesno[0]!='Y'||yesno[0]!='y')
Y=0;
}
}
}
int faktorial(int N)
{
int F;
if (N<=1)
{
return(1);
}
else
{
F = N * faktorial(N-1);
return(F);
}
}
outputnya:
Raptor
6. Buatlah algoritma dan program untuk mengkonversi bilangan desimal menjadi bilangan biner. Petunjuk : Gunakan operator mod dan div !
Dev C++
source code :
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
long desimal, pembagi, bit;
pembagi=1073741824;
cout<<"\t\t Program Konversi Bilangan Desimal ke Biner"<<endl<<endl;
cout<<" Masukan bilangan desimal : ";
cin>>desimal;
while(pembagi>desimal)pembagi/=2;
do{
bit=desimal/pembagi;
cout<<bit;
desimal=desimal%pembagi;
pembagi/=2;
}
while(pembagi>=1);
cout<<"\n";
return 0;
}
outputnya :
Raptor
7. Buatlah algoritma, flowchart dan program untuk menampilkan permutasi dari 3 huruf. Misalnya diberikan : abc
output :
abc
bca
bac, dan seterusnya
Dev C++
source code :
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
void masuk(char a[50]);
void keluar(char b[50]);
void identitas();
int main()
{
char kata[50];
cout<<"\nPermutasi dari tiga huruf"<<endl;
masuk(kata);
keluar(kata);;
getch();
}
void masuk(char a[50]){
cout<<"\nMasukkan Kata : ";
gets(a);
cout<<endl;
}
void keluar(char b[50]){
cout<<"\nHasil Pembalikkan kata :";
for(int a=strlen(b);a>=0;a--)
{
cout<<b[a];
}
cout<<endl;
}
outputnya :
0 komentar:
Posting Komentar