Soal dan Pembahasan UTS Pemrograman Terstruktur (2)
Fantasy Game
Dalam sebuah role-playing fantasi game, pemain harus merancang character yang akan dimainkannya dengan memberikan nilai pada tiga karakteristik berikut:
- Strength, dari 1 sampai dengan 10
- Health, dari 1 sampai dengan 10
- Luck, dari 1 sampai dengan 10
Tuliskan
subuah program C yang menanyakan nama untuk character itu dan
menanyakan nilai poin untuk ketiga karakteristik tersebut. Total poin
harus lebih kecil dari 15. Apabila total poin lebih besar atau sama
dengan 15, maka masing – masing poin karakteristik diset menjadi sama
dengan 5.
PrintScreen =
Pembahasan =
Source code:
#include<stdio.h>
#include<conio.h>
main()
{char nama[10];int strength,health,luck;
printf(“Welcome to Yertle’s Quest\n”);
printf(“Enter the name of your character:\n”);
gets(nama);
printf(“Enter strength (1-10):\n”);
scanf(“%d”,&strength);
printf(“Enter health (1-10):\n”);
scanf(“%d”,&health);
printf(“Enter luck (1-10):\n”);
scanf(“%d”,&luck);
if(strength+health+luck>=15)
{printf(“\nYou have given your character too many points! Default values have been asigned:”);
strength=health=luck=5;}
printf(“%s, strength: %d, health: %d, luck: %d”,nama,strength, health, luck);
getch();
}
4. Tabel Perkalian
Tuliskan
tabel perkalian dengan memasukkan angka N(grade) dan menghasilkan tabel
perkalian dari N baris dan N kolom sebagai berikut:
Source code:
#include<stdio.h>
#include<conio.h>
main()
{
int grade;
printf(“Grade : “);
scanf(“%d”,&grade);
for(int j=1;j<=grade;j++)
{for(int i=1;i<=j;i++)
printf(“%d * %d = %d\t”,j,i,j*i);
printf(“\n”);
}
getch();
}
5.Matriks
Buatlah matriks N x N yang memiliki tampilan sebagai berikut:
Mis : N=4
1
1 1
1 2 1
1 3 3 1
Gunakan fungsi :
void readGrad () = untuk menditeksi inputan positif dan <=10
void createArray () = untuk memberi nilai array sesuai yang diinginkan
void writeElements () = untuk menuliskan array (matriks) sesuai tampilan di atas
Source Code
#include<stdio.h>
#include<conio.h>
int A[10][10];
void readGrad(int);
void createArray(int);
void writeElements(int);
main()
{
int N;
printf(“grade = “);
scanf(“%d”,&N);
int A[N][N];
readGrad(N);
createArray(N);
writeElements(N);
getch();
}
void readGrad(int N)
{while(N<0 || N>10)
{
fflush(stdin);
printf(“grade must be positiv and <=10\ngrade = “);
scanf(“%d”,&N);}
}
void createArray(int N)
{for(int j=0;j<N;j++)
{for(int i=0;i<N;i++)
{if(i==0 || i==j)
A[j][i]=1;
else
A[j][i]=A[j-1][i-1]+A[j-1][i];
}
}
}
void writeElements(int N)
{for(int j=0;j<N;j++)
{for(int i=0;i<=j;i++)
printf(“%d “,A[j][i]);
printf(“\n”);
}
}
Komentar
Posting Komentar