1. Trang chủ
  2. » Tất cả

15-16,HK1_KTLTGT_De1

8 1 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 526,69 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Câu 9: 2.0 điểm Chương trình sau đây thực hiện chức năng:  Nhập vào một mảng gồm n số nguyên, dùng con trỏ và cấp phát bộ nhớ động.. o Nếu đã theo thứ tự tăng dần: in ra tất cả các số

Trang 1

TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

KHOA ĐIỆN – ĐIỆN TỬ

BM: KT MÁY TÍNH VÀ VIỄN THÔNG

ĐỀ THI CUỐI KỲ HK 1 NĂM HỌC 2015- 2016 Môn: Kỹ thuật lập trình và giao tiếp

Mã môn học: PRIN337664

Đề số/Mã đề: 01 Đề thi có 08 trang

Thời gian: 75 phút

Được sử dụng tài liệu trên giấy

SV làm bài trực tiếp trên đề thi, viết kết quả vào các dòng hoặc ô trống qui định

Chữ ký giám thị 1 Chữ ký giám thị 2

Điểm và chữ ký

CB chấm thi thứ nhất CB chấm thi thứ hai

Họ và tên:

Mã số SV:

Số TT: Phòng thi:

Câu 1: (0.5 điểm) Cho biết kết quả in ra màn hình sau khi chạy chương trình sau:

#include <stdio.h>

void main()

{

int a = 5, b = 2;

float c = 2;

b += a++/c;

printf("%d %d ", a, b);

}

Kết quả in ra màn hình:

Câu 2: (0.5 điểm) Cho biết kết quả in ra màn hình sau khi chạy chương trình sau:

#include <stdio.h>

void main()

{

int a = 6, b = 4, c = 5;

if (a > b)

if (b > c)

a = b + c;

else

b = a + c;

printf ("%d %d", a, b);

}

Kết quả in ra màn hình:

Câu 3: (0.5 điểm) Cho chương trình sau:

#include <stdio.h>

void main()

{

int a, b;

scanf("%d%d", &a, &b );

if (a == b)

printf ("bang nhau! ");

else

printf("khac nhau!");

}

Trang 2

Hãy viết lại chương trình dùng cú pháp lệnh switch case sao cho chức năng chương trình không đổi

Câu 4: (0.5 điểm) Cho biết kết quả in ra màn hình sau khi chạy chương trình sau: #include <stdio.h> void main() { int i, a = 0; for (i = 9; i > 0; i-=2) if (i%5 != 0) a+= i; else break; printf ("%d %d", a, i); } Kết quả in ra màn hình: Câu 5: (0.5 điểm) Cho biết kết quả in ra màn hình sau khi chạy chương trình sau: #include <stdio.h> void main() { int i = 0, a = 4; do { a += i; i++; }while (i < 5 && a < 8); printf("%d %d", a, i); } Kết quả in ra màn hình: Câu 6: (0.5 điểm) Cho chương trình sau: #include <stdio.h> void main() { int i = 5; while ( i > 0) printf("%d ", i); } Hãy viết lại chương trình dùng lệnh for sao cho chức năng chương trình không đổi

Trang 3

Câu 7: (1.0 điểm) Cho biết kết quả in ra màn hình sau khi chạy chương trình sau:

#include <stdio.h>

void main()

{

float a[4] = {1,1,0,0};

float *p1 = &a[0];

float *p2 = &a[2];

*p1 = *p2;

*(p1 + 2) = *p2 + 2;

printf (" %f %f %f %f", a[0], a[1], a[2], a[3]);

}

Kết quả in ra màn hình:

Câu 8: (1.0 điểm) Cho biết kết quả in ra màn hình sau khi chạy chương trình sau:

#include <stdio.h>

int func1 (int x, int y, int *z, int *t)

{

x++; y++;

*z = y; *t = x;

if (x > y)

{

*z = x; *t = y;

}

if ( x!=y) return 1;

else return 0;

}

void main()

{

int a = 3, b = 5, c = 0, d = 0;

if (func1(a, b, &c, &d) == 0)

printf("Not found!");

else

printf ("%d %d %d %d", a, b, c, d);

}

Kết quả in ra màn hình:

Câu 9: (2.0 điểm)

Chương trình sau đây thực hiện chức năng:

 Nhập vào một mảng gồm n số nguyên, dùng con trỏ và cấp phát bộ nhớ động

 Kiểm tra xem mảng đã nhập có theo thứ tự tăng dần hay chưa:

o Nếu chưa: in thông báo “Mang chua duoc sap xep tang”

o Nếu đã theo thứ tự tăng dần: in ra tất cả các số chẵn hiện có trong mảng, nếu mảng không tồn tại số chẵn thì in thông báo “Mang khong co so chan”

Hãy viết hoàn thiện chương trình này

#include <stdio.h>

#include <conio.h>

#include <malloc.h>

//Hàm Function1 thực hiện nhập dữ liệu cho 1 mảng 1 chiều các số nguyên

void Function1(int *x, int y)

{

//Hoàn thiện nội dung hàm nhập dữ liệu cho mảng (0.25 đ)

Trang 4

} //Hàm Function2 thực hiện việc kiểm tra mảng có số chẵn hay không //Hàm trả về: số 1 nếu có, số 0 nếu không có số chẵn trong mảng int Function2(int *x, int y) { //hoàn thiện nội dung hàm kiểm tra mảng có số chẵn hay không (0.25 đ)

} //Hàm Function3 thực hiện việc kiểm tra xem mảng đã được sắp xếp tăng dần chưa Hàm trả về: số 1 nếu mảng đã được sắp xếp tăng dần, số 0 nếu chưa int Function3(int *x, int y) { //hoàn thiện nội dung hàm kiểm tra dữ liệu mảng (0.5 đ)

} void main() { int *array, n, i; printf( "\n Nhap so luong phan tu mang: " ); scanf( "%d", &n ); //cấp phát bộ nhớ mảng cho con trỏ array (0.25 đ)

if(array!=NULL) { printf( "\n Nhap gia tri cho cac phan tu\n" ); //Gọi hàm Function1 để xử lý nhập dữ liệu vào mảng (0.25 đ)

//Kiểm tra dữ liệu trong mảng đã theo thứ tự tăng dần chưa, dùng hàm Function3

if ( Function3(array, n) == 0)

printf( "\n Mang chua duoc sap xep tang! \n" );

else

Trang 5

{

//xử lý khi mảng đã theo thứ tự tăng dần

//Gọi hàm Function2 để kiểm tra mảng có tồn tại số chẵn hay

không

// nếu không tồn tại số chẵn: in thông báo (0.25 đ)

// nếu có số chẵn: in ra tất cả số chẵn hiện có (0.25 đ)

} } } Câu 10: (2.0 điểm) Chương trình sau thực hiện lần lượt các chức năng:  Tạo 1 kiểu cấu trúc LinhKien để quản lý các linh kiện hiện có, gồm các thông tin:  Mã linh kiện (maLk): định dạng số nguyên  Tên linh kiện (tenLk): định dạng chuỗi  Số lượng hiện có (soLuong): định dạng số nguyên  Nhập thông tin (mã linh kiện, tên linh kiện, số lượng) của 10 loại linh kiện khác nhau  Kiểm tra và in ra thông tin các loại linh kiện hiện tại đã hết (có số lượng hiện có là 0) trong 10 loại trên  Cho phép người dùng tìm kiếm thông tin của 1 loại linh kiện bất kỳ bằng cách nhập vào mã linh kiện Sau đó:  Nếu tìm thấy: in tra thông tin chi tiết của linh kiện này  Nếu không tìm thấy: in thông báo “khong co linh kien can tim” Hãy viết hoàn thiện chương trình #include <stdio.h> #include <string.h> struct LinhKien { //Khai báo các thành phần của cấu trúc (0.25 đ)

};

void main()

{

struct LinhKien data[10];

int i, ma;

//Nhập dữ liệu của 10 loại linh kiện, lưu vào mảng data (0.25 đ)

Trang 6

//In thông tin của các loại linh kiện hiện tại đã hết (0.5 đ)

printf( "\n Nhap ma linh kien muon tim: \n" ); scanf( "%d", &ma ); //Tim kiếm linh kiện theo mã vừa nhập //Nếu tìm thấy: in thông tin chi tiết của linh kiện (0.5 đ)

//Nếu không tìm thấy: in thông báo (0.5 đ)

}

Câu 11: (1.0 điểm)

Cho chương trình C# với giao diện được thiết kết như hình dưới Tên của các đối tượng trên Form (radioButton, textbox, Button) được đặt như minh họa trong hình

Trang 7

Chương trình thực hiện chức năng tìm số lớn nhất hoặc tìm số nhỏ nhất trong 2 số nhập vào

 2 số được nhập vào ở textBox1 và textBox2

 Lựa chọn chức năng tìm số lớn nhất hay tìm số nhỏ nhất bằng radioButton1 hoặc radioButton2

 Kết quả được xuất ra ở textBox3

Hãy viết mã nguồn của hàm xử lý cho nút nhấn “Thực thi”

private void button1_Click(object sender, EventArgs e)

{

}

Ghi chú:Cán bộ coi thi không được giải thích đề thi

Chuẩn đầu ra của học phần (về kiến thức) Nội dung kiểm

tra

G1.2 Trình bày được cấu trúc chương trình C, C#

Trình bày được cú pháp lệnh, hoạt động và áp dụng được các cấu trúc

rẽ nhánh và lặp trong ngôn ngữ C

Trình bày được cách khai báo và áp dụng mảng, chuỗi để quản lý dữ

liệu trong C

Trình bày được cách khai báo con trỏ và sử dụng con trỏ để truy xuất

vùng nhớ

Trình bày được định nghĩa hàm và sử dụng hàm trong một chương

trình

Trình bày được định nghĩa kiểu cấu trúc và sử dụng biến cấu trúc để

lưu trữ và quản lý dữ liệu

Câu 1 Câu 2 Câu 3 Câu 4 Câu 5 Câu 6 Câu 7

G2.2 Phân tích, kiểm chứng, điều chỉnh các chương trình ứng dụng viết

bằng ngôn ngữ C, C#

Câu 8

G4.4 Áp dụng các cấu trúc điều khiển, áp dụng các thao tác xử lý dữ liệu, Câu 9

Trang 8

xây dựng sử dụng các hàm hỗ trợ để thiết kế, lập trình ứng dụng giải

quyết các yêu cầu dùng ngôn ngữ C, C#

Câu 10 Câu 11 Ngày tháng năm 2016

Thông qua bộ môn

Ngày đăng: 16/06/2021, 18:16

w