You are on page 1of 3

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP ÔN THI CUỐI KỲ

THÀNH PHỐ HỒ CHÍ MINH


Môn thi :KỸ THUẬT LẬP TRÌNH
KHOA CÔNG NGHỆ THÔNG TIN
Lớp/Lớp học phần:K18
Ngày thi:
Thời gian làm bài:..60...... phút
(Không kể thời gian phát đề)

Họ và tên thí sinh ………………….…………………; MSSV: ………………

Câu 1: LO 3(3.điểm) Sử dụng cấp phát vùng nhớ động (vùng nhớ heap). Viết chương trình thực
hiện các yêu cầu sau:
1. Nhập n giá trị nguyên cho mảng A, m giá trị nguyên cho mảng B ( m, n >0 ). (1 điểm)
2. Tính tổng các giá trị của cả A và B. (1 điểm)
3. Chọn thực hiện 1 trong 3 phép toán sau: giao, hiệu, hợp của A và B. (1 điểm)

Câu 2: LO 3 (2.điểm)Cho biết kết quả khi thực hiện chương trình sau:

a) (1.điểm)
void F(int *a, int b)
{
*a +=12 + b;
b = 2*(*a);
printf("In function F: \n *a= %d\n b = %d",*a,b);
}

int main(void)
{
int a =5, b = 7;
F(&a,b);
printf("\n In function main:\n a = %d\n b = %d",a,b);
return 0;
}
b) (1.điểm)
#include <stdio.h>
void main()
{ int ar[]={10,15,4,25,3,-4},*p, i;
p=&ar[2];
printf("Cac gia tri cua mang:\n\n");
for(i=0;i<6;i++)printf("ar[%d]=%4d\n",i,ar[i]);
printf("\nCho biet gia tri cua cac bieu thuc\n\n");
printf("a) *(p+1)= %d\n\n",*(p+1));
printf("b) p[-1]= %d\n\n",p[-1]);
printf("c) (ar-p)=%d\n\n",(ar-p));
printf("d) ar[*p++]=%d\n\n",ar[*p++]);
printf("e) *(ar+ar[2])=%d\n\n",*(ar+ar[2]));
}
Câu 3 : LO 2 (4.điểm) Thông tin mỗi nhân viên gồm: mã nhân viên, họ tên, lương, thưởng, được
khai báo như sau:
struct EMPLOYEE
{
char code[8];
char name[20];
double salary, allowance;
};
Hãy thực hiện các công việc sau:
a) Viết hàm tìm nhân viên khi biết mã. Hàm trả về vị trí của nhân viên nếu tìm thấy; trả về -1
nếu không tìm thấy. (1.5 điểm)
int findCode(char code[], EMPLOYEE E[], int n);
b) Viết hàm xuất các thông tin của nhân viên khi biết tên. (1.5 điểm)
void printBasedName( char name[],EMPLOYEE E[], int n)
c) Viết hàm xóa nhân viên khi biết mã. (1 điểm)
void remove(char code[],EMPLOYEE A[], int &n);

Câu 3: LO 4 (3.điểm) Một cửa hàng cần phần mềm quản lý các loại nước giải khát. Dữ liệu về
nước giải khát gồm: tên nước giải khát, tên công ty sản xuất, thể tích, giá, thời hạn sử dụng.
Dữ liệu được định nghĩa như sau:
#define MAX 50
struct SOFTDRINK
{
char name[20];//tên nước giải khát
char make[20];//tên công ty sản xuất
int volume;//thể tích thực
int price;//giá
int duration;//số ngày sản phẩm có thể sử dụng
};
SOFTDRINK D[MAX];
Mong muốn chương trình có thể thực hiện được các yêu cầu sau:
- Thêm/sửa/xóa nước giải khát.
- Liệt kê các sản phẩm của một công ty nào đó.
- Liệt kê các sản phẩm có thể tích nằm trong khoảng từ v1 đến v2.
- Liệt kê các sản phẩm có giá thấp hơn p.
- Liệt kê các sản phẩm theo thứ tự tăng dần theo volume, nếu cùng thì theo price.

Hãy liệt kê và mô tả 6 chức năng của bài toán quản lý trên. Từ đó dựa vào dữ liệu đã định
nghĩa ở trên và danh sách D chứa tối đa MAX phần tử kiểu SOFTDRINK, anh/chị hãy viết
nguyên mẫu hàm (prototype) cho các chức năng đó.

------------------------- Hết ------------------------------

Lưu ý: Đề thi không được sử dụng tài liệu.


Cán bộ coi thi không giải thích gì thêm.

You might also like