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

Postingan populer dari blog ini

BAHASA INDONESIA 1 (Kalimat Efektif)

PENGERTIAN, CONTOH KATA ABSTRAK DAN KATA KONKRET

Algoritma Dijkstra