You are on page 1of 8

TRƯỜNG ĐẠI HỌC THƯƠNG MẠI

HỌC KỲ II NĂM HỌC 2021 – 2022

(Phần dành cho sinh viên/ học viên)

Bài thi học phần: Cơ sở lập trình Số báo danh: 01


Mã số đề thi: 15 Lớp: K57S2
Ngày thi: 27/05/2022 Tổng số trang: 08 Họ và tên: Nguyễn Thị Hải An

Điểm kết luận:


GV chấm thi 1: …….………………………......

GV chấm thi 2: …….………………………......

Họ tên SV/HV: Nguyễn Thị Hải An - Mã LHP: 2217INFO0621 Trang 1/8


Bài làm
Câu 1:
1. Các lệnh điều khiển chu trình không xác định trước số vòng lặp của ngôn ngữ C:
 Lệnh while:
- Cú pháp:

while (dieu_kien)
{
// khối lệnh
}

Trong đó:
 dieu_kien là một biểu thức nhận giá trị nguyên hoặc thực.
 while là từ khoá.
- Sự hoạt động:
Bước 1: Tìm giá trị của biểu thức điều kiện.
Bước 2: Nếu biểu thức điều kiện có giá trị sai thì trình biên dịch sẽ thoát khỏi cấu trúc while.
Nếu biểu thức điều kiện có giá trị đúng thì khối lệnh sẽ được thực hiện và quay trở lại bước 1.
Như vậy có thể khối lệnh sẽ không được thực hiện lần nào nếu ở trong lần đầu tiên biểu thức đã
nhận giá trị sai.
- Ví dụ minh hoạ: Hiển thị các số chẵn từ 1 đến 100

#include<stdio.h>
int main()
{
int i = 1;
while (n<100){
if(n%2 == 0){
printf(" %d ", n);
}
n++;
}
return 0;
}

Họ tên SV/HV: Nguyễn Thị Hải An - Mã LHP: 2217INFO0621 Trang 2/8


 Lệnh do…while:
- Cú pháp:

do {
// khối lệnh
} while(dieu_kien);

Trong đó:
 dieu_kien là một biểu thức nhận giá trị nguyên hoặc thực.
 do và while là hai từ khoá.
- Sự hoạt động:
Bước 1: Thực hiện khối lệnh
Bước 2: Xác định giá trị của biểu thức điều kiện.
Bước 3: Nếu biểu thức điều kiện có giá trị đúng thì trình biên dịch quay lại bước 2. Nếu biểu
thức điều kiện có giá trị sai thì trình biên dịch sẽ thoát khỏi cấu trúc lặp do…while.
- Ví dụ minh hoạ: Hiển thị ra màn hình các số có chữ số tận cùng là “0” trong dãy số từ 1
đến 1000.

#include<stdio.h>
int main()
{
int i = 1;
do{
if (i%10 ==0){
printf(" %d ", i);
}
i++;
}while (i<=1000);
return 0;
}

2. Sơ đồ khối:

Họ tên SV/HV: Nguyễn Thị Hải An - Mã LHP: 2217INFO0621 Trang 3/8


Câu 2:
a) Chương trình:

Họ tên SV/HV: Nguyễn Thị Hải An - Mã LHP: 2217INFO0621 Trang 4/8


#include <stdio.h>
void kichco(int &n, int &m)
{
printf("nhap so dong: ");
scanf("%d",&n);
printf("nhap so cot: ");
scanf("%d",&m);
}
void nhapmt(int a[10][10], int n, int m)
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
printf("a[%d][%d]=",i,j);
do
{
scanf("%d",&a[i][j]);
if(a[i][j]<0)
printf("nhap lai phan tu duong a[%d][%d]=",i,j);
}
while(a[i][j]<0);
}
}
void xuatmt(int a[10][10], int n, int m)
{
printf("ma tran vua nhap la:\n");
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
printf("%3d",a[i][j]);
printf("\n");
}
}
void min(int a[10][10], int n, int m, int *gtnn)
{
*gtnn=a[0][0];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if(j%2==0&& *gtnn>a[i][j])

Họ tên SV/HV: Nguyễn Thị Hải An - Mã LHP: 2217INFO0621 Trang 5/8


*gtnn=a[i][j];
printf("gia tri nho nhat cua cac phan tu tren cot le la: %d\n", *gtnn);
}
void tich(int a[10][10], int n, int m, int *s1)
{
*s1=1;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if(a[i][j]%5==0)
{
*s1=*s1 * a[i][j];
}
printf("tich cac phan tu chia het cho 5 la: %d\n", *s1);
if(*s1==1)

printf("khong co gia tri chia het cho 5");


}
int main()
{
int a[10][10],n,m,gtnn,s1;
kichco(n,m);
nhapmt(a,n,m);
xuatmt(a,n,m);
min(a,n,m,&gtnn);
tich(a,n,m,&s1);
return 0;
}

b) Chương trình:

#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<math.h>

Họ tên SV/HV: Nguyễn Thị Hải An - Mã LHP: 2217INFO0621 Trang 6/8


struct TLUONG
{
int STT;
char HTEN[50];
int MACV;
float HSLUONG;
float PCCV;
float TLINH;
};
int main()
{
int i, s;
FILE *f;
printf ("Nhap so ban ghi:");
scanf("%d", &s);
TLUONG a[100];
for (i=0; i<s; i++)
{
printf ("\nNhap so thu tu:") ;
scanf("%d" , &a[i].STT);
printf ("\nNhap ho ten:") ;
fflush (stdin);
gets (a[i].HTEN);
printf("\nNhap ma chuc vu: ") ;
scanf ("%d" , &a [i].MACV);
printf ("\nNhap he so luong:") ;
scanf("%f", &a[i].HSLUONG) ;
}
f = fopen ("G:\\TLUONG.txt", "r+");
fprintf(f, "%5s%15s%20s%20s%20s%20s\n", "STT", "HTEN", "MACV", "HSLUONG",
"PCCV", "TLINH");
for (i=0; i<s; i++)

Họ tên SV/HV: Nguyễn Thị Hải An - Mã LHP: 2217INFO0621 Trang 7/8


{
if(a[i].MACV == 1 || a[i].HSLUONG>=6.2)
{
a[i].PCCV = 600000;
}
else if(a[i].MACV == 2)
{
a[i].PCCV = 500000;
}
else if (a[i].MACV == 3)
{
a[i].PCCV = 450000;
}
else a[i].PCCV == 0;
a[i].TLINH = 1390000*a[i].HSLUONG+a[i].PCCV;
fprintf(f, "%5d%15s%20d%20.3f%20.3f%20.3f\n", a[i].STT, a[i].HTEN, a[i].MACV,
a[i].HSLUONG, a[i].PCCV, a[i].TLINH);
}
fprintf (f, "_______________\n");
printf("%5s%15s%20s%20s%20s%20s\n", "STT", "HTEN", "MACV", "HSLUONG",
"PCCV", "TLINH");
for (i=0; i<s; i++)
{
printf("%5d%15s%20d%20.3f%20.3f%20.3f\n", a[i].STT, a[i].HTEN, a[i].MACV,
a[i].HSLUONG, a[i].PCCV, a[i].TLINH);
}
fprintf (f, "_______________\n");
fclose(f);
getch();
}

---Hết---

Họ tên SV/HV: Nguyễn Thị Hải An - Mã LHP: 2217INFO0621 Trang 8/8

You might also like