Soal dan Pembahasan UTS Pemrograman Terstruktur (2)

3. 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”);

}

}

Tinggalkan Jejak

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s