Việc này được thực hiện dùng hàm.. Hàm main chỉ cần gọi hàm và lấy kết quả... 5 điểm Viết chương trình C lần lượt thực hiện các chức năng: - Tạo một kiểu cấu trúc NhietDo để quan sát nh
Trang 1Trang 1/5
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
ĐÁP ÁN CUỐI KỲ HỌC KỲ 2 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ã đề: 1 Đáp án có 05 trang
Câu 1: ( 0.5 điểm) Cho biết kết quả in ra màn hình sau khi thực hiện đoạn chương trình sau
int a = 7, b = 5;
int *p;
p = &b;
a = *p;
*p=*p+1;
printf("%d va %d", a, b);
5 va 6
Câu 2: ( 0.5 điểm) Cho biết kết quả in ra màn hình sau khi thực hiện đoạn chương trình sau
int a = 2;
for (int i = 0; i < 5; i++){
a = a + i;
if (a == 5)
continue;
printf("%d\n", a);
}
2
3
8
12
Câu 3: ( 1.0 điểm) Cho biết kết quả in ra màn hình sau khi thực hiện đoạn chương trình sau
int a[5] = {1,2,3,7,0};
int j;
for (int i = 0; i < 4; i++){
j = i + 1;
a[i] = a[j];
}
printf("%d, %d, %d, %d", a[1], a[2], a[3], a[4]);
3, 7, 0, 0
Trang 2Trang 2/5
Câu 4: ( 0.5 điểm) Cho biết kết quả của a và b sau khi thực hiện chương trình sau
#include "stdio.h"
int hamc(int *p);
void main(void)
{
int a = 29, b = 5;
b = hamc(&a);
printf("a=%d, b=%d", a, b);
}
int hamc(int *p)
{
*p=*p+2;
return(*p % 2);
}
a=31, b=1
Câu 5: ( 1.5 điểm)
Cho đoạn chương trình sau:
int i, n = 10; int a, s = 0;
for (i = 1; i <= 10; i++){
printf("Nhap so thu %d: ", i);
scanf("%d", &a);
s += a;
if (s > 40)
break;
}
printf("%d", s);
Hãy viết lại đoạn chương trình dùng phát
biểu while sao cho chức năng chương
trình không đổi
int i=1, n = 10; int a, s = 0;
while (i <= 10){
printf("Nhap so thu %d: ", i);
scanf("%d", &a);
s += a;
if (s > 40)
break;
i++;
}
printf("%d", s);
Hãy vẽ lưu đồ thực hiện đoạn chương trình này:
Nhap gia tri a i=1, n=10, s=0
s=s+a
s>40
s i=i+1
i<=10
<
Đ
Đ
S
S
Trang 3Trang 3/5
Câu 6: (2.0 điểm) Viết chương trình C thực hiện các chức năng:
- Nhập vào độ pH cho 10 hồ nuôi cá cảnh sử dụng con trỏ và cấp phát bộ nhớ động Tên các hồ nuôi được đặt tên theo số thứ tự từ 1 đến 10
- Tính và in ra màn hình giá trị trung bình độ pH của 10 hồ
- In ra màn hình tên hồ có độ pH > 8.8 Việc này được thực hiện dùng hàm Hàm main chỉ cần gọi hàm và lấy kết quả
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
void ktpH(float *a, int n);
void main(void)
{
float *p,s=0;
p = (float *)malloc(10 * sizeof(float));
for (int i = 0; i < 10; i++){
printf("Nhap do pH cho ho %d: ", i + 1);
scanf("%f", p + i);
s = s + *(p + i);
}
printf("Do pH trung binh: %.2f\n", s / 10);
ktpH(p, 10);
getch();
}
void ktpH(float *a, int n){
int t = 0;
printf("Ho co do pH lon hon 8.8: ");
for (int j = 0; j < n; j++){
if (*(a + j)>8.8){
printf("Ho %d ", j + 1);
t = t + 1;
} }
if (t == 0)
printf("Khong co");
}
Trang 4Trang 4/5
Câu 7: (2 5 điểm) Viết chương trình C lần lượt thực hiện các chức năng:
- Tạo một kiểu cấu trúc NhietDo để quan sát nhiệt độ trong ngày, gồm thông tin các biến theo định dạng số thực như sau:
Nhiệt độ buổi sáng (tsang)
Nhiệt độ buổi trưa (ttrua)
Nhiệt độ buổi tối (ttoi)
- Nhập giá trị nhiệt độ của 6 ngày trong tuần (tính từ thứ hai đến thứ bảy)
- In ra màn hình giá trị nhiệt độ các buổi trưa trong tuần
- Tính nhiệt độ trung bình trong một ngày (giá trị trung bình của nhiệt độ buổi sáng, trưa, tối) và in ra màn hình ngày nóng nhất trong tuần
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
struct NhietDo{
float tsang;
float ttrua;
float ttoi;
};
int main()
{
struct NhietDo t[6];
int i,vt;
float tb[6], max;
for (i = 0; i < 6; i++){
printf("Nhap nhiet do cho ngay thu %d\n", i + 2);
printf("Nhiet do buoi sang: ");
scanf("%f", &t[i].tsang);
printf("Nhiet do buoi trua: ");
scanf("%f", &t[i].ttrua);
printf("Nhiet do buoi toi: ");
scanf("%f", &t[i].ttoi);
tb[i] = (t[i].tsang + t[i].ttrua + t[i].ttoi) / 3;
}
printf("\nNhiet do cac buoi trua trong tuan\n");
for (i = 0; i < 6; i++){
printf("Thu %d:%7.1f\n", i+2, t[i].ttrua);
}
max = tb[0]; vt = 0;
for (i = 1; i < 6; i++){
if (tb[i]>max){
max = tb[i];
vt = i;
} }
printf("\nNgay nong nhat trong tuan: Thu %d", vt + 2);
getch();
return 0;
}
Trang 5Trang 5/5
Câu 8: (1.5 điểm) Cho giao diện C# như HÌNH 1
HÌNH 1
- Số nguyên dương được nhập vào textBox1
- Lựa chọn chức năng kiểm tra số đã nhập chia hết cho 3 hoặc chia hết cho 5 tại
comboBox1
- Hiển thị ra textBox2 chữ “CÓ” ứng với trường hợp chia hết hoặc “KHÔNG” ứng với trường hợp không chia hết
Ví dụ: Nhập 9 vào textBox1, chọn chia hết cho 3 thì được kết quả là CÓ nhưng chọn chia hết cho 5
thì được kết quả là KHÔNG
Hãy viết mã nguồn cho nút nhấn button1
double a;
int n;
a = Convert.ToDouble(textBox1.Text);
n = comboBox1.SelectedIndex;
switch (n)
{
case 0:
if (a % 3 == 0)
textBox2.Text = "CO";
else
textBox2.Text = "KHONG";
break;
case 1:
if (a % 5 == 0)
textBox2.Text = "CO";
else
textBox2.Text = "KHONG";
break;
default:
textBox2.Text = "CHON YEU CAU";
break;
}