Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (160.93 KB, 14 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
Đ1-K14HCĐH
Trường Đại Học Kinh Tế TpHCM
Khoa Tin Học Quản Lý
<b>Mơn Thi : Lập Trình Cơ Sở</b>
Thời gian làm bài : 90 phút
Sinh viên không được phép tham khảo tài liệu
<b>Bài 1 (2 điểm) Cho biết kết quả của các đoạn chương trình sau:</b>
a) b)
int x = 3, dem = 0;
while (x - 1 > 0)
{
++dem;
x--;
}
Console.WriteLine(dem);
int i;
for (i = 1; i <= 10; i++)
{ if i % 2 = 0
continue;
Console.WriteLine(i);
}
<b>Bài 2 (3 điểm) :</b>
Người ta lưu trữ nhiệt độ trung bình hàng ngày của tháng 3/2009 (có 31 ngày ) trong mảng 1 chiều
NHIETDO (đơn vị tính o<sub>C) với khai báo như sau :</sub>
float [ ] NHIETDO = new float [32] ; // không sử dụng phần tử ở vị trí 0
Hình vẽ minh họa
0 1 2 3 4 5 30 31
NHIE
TDO
34.2 34.3 34 33.9 33.9 34.7 35
Qui ước : Nhiệt độ trung bình ngày 1/3 lưu ở phần tử vị trí 1 của mảng, ngày 2/3 lưu tại vị trí 2 trong
mảng,..., ngày 31/3 lưu tại vị trí 31 trong mảng. Giả sử mảng đã chứa sẵn dữ liệu.
Anh (chị) hãy viết các đoạn lệnh nhằm thực hiện các yêu cầu sau :
a) Cho biết ngày nào trong tháng 3/2009 có nhiệt độ thấp nhất, cao nhất ?
b) Có bao nhiêu ngày trong tháng 3/2009 mà nhiệt độ trung bình lớn hơn 35 o<sub>C? Đó là những ngày nào ?</sub>
c) Cho biết những ngày nào trong tháng 3/2009 mà nhiệt độ trung bình cao hơn 2o<sub>C so với nhiệt độ trung</sub>
bình của ngày trước đó.
<b>Bài 3 (2 điểm) :</b>
Lần lượt thay thế các giá trị trong bảng vào đoạn lệnh sau đây, sau đó cho biết kết quả in ra màn hình
sau khi thi hành :
<b>int m=???, n=???;</b>
for (int i=1; i<=m; i++)
{ for (int j=1; j<=n; j++)
<b> if ( i == 1 || i == m || j == 1 || j == n)</b>
Console.Write(“*”);
else Console.Write(“ ”);
Console.WriteLine();
}
Người ta lưu giữ thông tin giá cổ phiếu 31 ngày trong tháng 3 năm 2009 của 181 công ty cổ phần niêm yết
trên sàn giao dịch chứng khoán TP.HCM (HOSE) trong mảng 2 chiều. Và 1 mảng 1 chiều có 181 phần tử
dùng để lưu tên của từng cơng ty.
Viết chương trình hồn chỉnh nhằm thực hiện yêu cầu sau :
Đ2-K14HCĐH
Trường Đại Học Kinh Tế TpHCM
Khoa Tin Học Quản Lý
Thời gian làm bài : 90 phút
Sinh viên không được phép tham khảo tài liệu
<b>Bài 1 (2 điểm) Cho biết kết quả của các đoạn chương trình sau:</b>
a) b)
int x = 0;
for ( ; ; )
{
if (x++ == 4)
break;
continue;
}
Console.WriteLine(x);
int i = 100;
switch (i)
{
case 100: Console.WriteLine("100");
case 200: Console.WriteLine("200"); break;
default: Console.WriteLine("200"); break;
}
<b>Bài 2 (3 điểm) :</b>
Người ta lưu trữ giá bán mỗi lượng vàng SJC của tháng 3/2009 (có 31 ngày ) trong mảng 1 chiều
GIAVANG (đơn vị tính là ngàn đồng) với khai báo như sau :
double [ ] GIAVANG = new double[32] ; // không sử dụng phần tử ở vị trí 0
Hình vẽ minh họa
0 1 2 3 4 5 30 31
GIA
VAN
G
2028
0
2019
0
Qui ước : Giá vàng SJC bán ra ngày 1/3 lưu ở phần tử vị trí 1 của mảng, ngày 2/3 lưu tại vị trí 2 trong
mảng,..., ngày 31/3 lưu tại vị trí 31 trong mảng. Giả sử mảng đã chứa sẵn dữ liệu.
Anh (chị) hãy viết các đoạn lệnh nhằm thực hiện các yêu cầu sau :
a) Cho biết ngày nào trong tháng 3/2009 vàng SJC có giá bán cao nhất, ngày nào có giá bán thấp nhất ?
b) Có bao nhiêu ngày trong tháng 3/2009 mà giá bán vàng SJC vượt qua ngưỡng 20 triệu đồng 1 lượng ?
Đó là những ngày nào ?
c) Cho biết những ngày nào trong tháng 3/2009 mà giá bán vàng SJC cao hơn 5% so với giá bán của
ngày trước đó.
<b>Bài 3 (2 điểm) :</b>
Lần lượt thay thế các giá trị trong bảng vào đoạn lệnh sau đây, sau đó cho biết kết quả in ra màn hình
sau khi thi hành :
<b>int n=???; </b>
<b>for (int i=1; i<=n; i++)</b>
<b>{ for (int j=1; j<=n; j++)</b>
<b> if ( i == 1 || i == n || j == 1 || j == n || i==j || i+j == n+1)</b>
<b> Console.Write(“*”); </b>
<b> else Console.Write(“ ”);</b>
<b> Console.WriteLine();</b>
<b>}</b>
a) n = 7
b) n = 10
<b>Bài 4 (3 điểm) :</b>
Người ta lưu giữ thông tin giá cổ phiếu 31 ngày trong tháng 3 năm 2009 của 181 công ty cổ phần niêm yết
trên sàn giao dịch chứng khoán TP.HCM (HOSE) trong mảng 2 chiều. Và 1 mảng 1 chiều có 181 phần tử
dùng để lưu tên của từng cơng ty.
Viết chương trình hồn chỉnh nhằm thực hiện yêu cầu sau :
a) Khai báo các mảng để có thể lưu trữ dữ liệu liên quan đến các công ty trên.
b) Nhập dữ liệu của các công ty vào các mảng này.
c) Cho biết có bao nhiêu công ty mà giá cổ phiếu ngày 31/3 lớn hơn 50000. Có bao nhiêu cơng ty mà giá
cổ phiếu ngày 31/3 nhỏ hơn 10000.
d) Cho biết những công ty nào mà có giá cổ phiếu trong tháng 3/2009 tăng trên 30% (so sánh ngày 31/3
và ngày 1/3)
Đ1-K15HCĐH
1/ Cho đoạn chương trình sau:
void Main()
{
int a = 10, b;
a >= 5 ? b = 100 : b = 200;
Console.WriteLine(b);
}
Kết quả in là:
a Lỗi cú pháp
b 10
c 200
d 100
2/ Cho đoạn chương trình sau:
void Main()
{
int a = 5, b = 4, c = 10;
a = ((a > b) ? a : b);
Console.WriteLine(a + " " + b);
}
Kết quả in là
a 5 15
b 4 5
c 5 4
d 4 15
3/ Cho đoạn chương trình sau:
int [] A = newint[9]
{ 256, 128, 64, 32, 16, 8, 4, 2, 1 }; int M = Int32.Parse(Console.ReadLine());
int i = 0;
while (M > 0)
{
M = M - A[i];
Console.Write(A[i] + " ");
}
i++;
}
Kết quả in ra là gì nếu M=135
a 128 4
b 128 4 2 1
c 128 64
d 64 32 16 8 4
4/ Cho đoạn chương trình sau:
A[0] = 1; A[1] = 1;
for (int i = 2; i <= N; i++)
A[i] = A[i - 1] + A[i - 2];
for (int i = 0; i <= N; i++)
Console.Write(A[i] + " ");
Kết quả in ra mà hình là gì, nếu N=5
a 1 1 2 3 5 8
b 2 4 6 8 10
c 1 2 3 5 8
d 1 2 3 4 5
5/ Cho đoạn chương trình sau :
int S = 0;
for (int i = 0; i < A.Length; i++)
if (A[i] > 0 && A[i] % 2 != 0) S = S + A[i];
Console.WriteLine(S);
Giả sử mảng A có các giá trị là:
5 7 20 -4 9 30 -10
Kết quả in ra màn hình là:
a 9
b 71
c 21
d 12
6/ Đoạn chương trình sau dùng để làm gì?
int kq = 1;
for (int i = 0; i < N; i++)
for (int j = 0; j < i; j++)
if (A[i, j] != A[j, i]) { kq = 0; break; }
if (kq==1) Console.Write("co");
elseConsole.WriteLine("khong");
a Kiểm tra ma trận A có phải là ma trận phản chiếu hay không
b Kiểm tra ma trận A có đối xứng qua đường chéo phụ hay khơng
c Kiểm tra ma trận A có đối xứng qua đường chéo chính hay khơng
d Chuyển vị ma trận A
for (int i = 0; i < M; i++)
{ max = A[i, 0];
for (int j = 0; j < N; j++)
if (max < A[i, j]) max = A[i, j];
Console.WriteLine(max);
}
a In ra phần tử đầu tiên trên từng hàng của ma trận AMxN
b In ra giá trị lớn nhất trong từng hàng của ma trận AMxN
c In ra giá trị lớn nhất trong ma trận AMxN
d In ra giá trị lớn nhất trong từng cột của ma trận AMxN
8/ Đoạn chương trình sau dùng để làm gì?
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
Console.Write(A[ j, i] + " ");
Console.WriteLine();
}
a In ra ma trận A
b In ra tất cả các phần tử của mảng A trên 1 dòng
c In ra ma trận nghịch đảo của ma trậnA
d In ra ma trận chuyển vị của ma trận A
9/ Cho chương trình sau:
using System;
classProgram
{
staticvoid TestOut( int i, outfloat f)
{
i = 5;
f = i*5;
return;
}
staticpublicvoid Main()
{
int k = 10;
float g;
TestOut( k, out g);
Console.WriteLine(" k = {0} , g = {1} ", k, g);
}
}
Cho biết kết quả in ra là gì?
a k = 10 , g = 25
b k = 5 , g = 25
c k = 10 , g = 50
d Máy báo lỗi
10/ Cho chương trình sau:
using System;
classProgram
{
{ i++;
f = i*2 ;
staticpublicvoid Main()
{
int k = 20;
float g = 1234.5f ;
TestRef( k , g);
Console.WriteLine(" k = {0} , g = {1} " ,k,g);
}
}
Đ1-K15HCĐH
<b>using System;</b>
<b>class cau2</b>
<b>{</b>
<b> static public void Main()</b>
<b> {</b>
<b> Console.Write("Nhap so nguyen duong :");</b>
<b> { </b>
<b> for (int j = 1; j < 2*N; j++)</b>
<b> if (i==N || j==N || i==N+1-j || j==N+i-1) </b>
<b> Console.Write("*"); </b>
<b> else Console.Write(" ");</b>
<b> Console.WriteLine();</b>
<b> }</b>
<b> }</b>
<b>}</b>
<b>Bài 3 (3 điểm) :</b>
<i><b>---HẾT---Thí sinh có thể dùng các ngơn ngữ lập trình Pascal, C, C++, C#, Java để làm bài 3</b></i>
1/ Cho đoạn chương trình sau:
void Main()
{
int a = 10, b;
a >= 5 ? b = 100 : b = 200;
Console.WriteLine(b);
}
Kết quả in là:
a Lỗi cú pháp
b 10
c 200
d 100
2/ Cho đoạn chương trình sau:
void Main()
{
int a = 5, b = 4, c = 10;
a = ((a > b) ? a : b);
Console.WriteLine(a + " " + b);
Kết quả in là
a 5 15
b 4 5
c 5 4
d 4 15
3/ Cho đoạn chương trình sau:
int [] A = newint[9]
{ 256, 128, 64, 32, 16, 8, 4, 2, 1 }; int M =
Int32.Parse(Console.ReadLine());
int i = 0;
while (M > 0)
{
if (M >= A[i])
{
Console.Write(A[i] + " ");
}
i++;
}
Kết quả in ra là gì nếu M=135
a 128 4
b 128 4 2 1
c 128 64
d 64 32 16 8 4
4/ Cho đoạn chương trình sau:
A[0] = 1; A[1] = 1;
for (int i = 2; i <= N; i++)
A[i] = A[i - 1] + A[i - 2];
for (int i = 0; i <= N; i++)
Console.Write(A[i] + " ");
Kết quả in ra mà hình là gì, nếu N=5
a 1 1 2 3 5 8
b 2 4 6 8 10
c 1 2 3 5 8
d 1 2 3 4 5
5/ Cho đoạn chương trình sau :
int S = 0;
for (int i = 0; i < A.Length; i++)
if (A[i] > 0 && A[i] % 2 != 0) S = S + A[i];
Console.WriteLine(S);
Giả sử mảng A có các giá trị là:
5 7 20 -4 9 30 -10
a 9
b 71
c 21
d 12
6/ Đoạn chương trình sau dùng để làm gì?
int kq = 1;
for (int i = 0; i < N; i++)
for (int j = 0; j < i; j++)
if (A[i, j] != A[j, i]) { kq = 0; break; }
if (kq==1) Console.Write("co");
elseConsole.WriteLine("khong");
a Kiểm tra ma trận A có phải là ma trận phản chiếu hay không
b Kiểm tra ma trận A có đối xứng qua đường chéo phụ hay khơng
c Kiểm tra ma trận A có đối xứng qua đường chéo chính hay khơng
d Chuyển vị ma trận A
7/ Đoạn chương trình sau dùng để làm gì?
int max;
{ max = A[i, 0];
for (int j = 0; j < N; j++)
if (max < A[i, j]) max = A[i, j];
Console.WriteLine(max);
}
a In ra phần tử đầu tiên trên từng hàng của ma trận AMxN
b In ra giá trị lớn nhất trong từng hàng của ma trận AMxN
c In ra giá trị lớn nhất trong ma trận AMxN
d In ra giá trị lớn nhất trong từng cột của ma trận AMxN
8/ Đoạn chương trình sau dùng để làm gì?
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
Console.Write(A[ j, i] + " ");
Console.WriteLine();
}
a In ra ma trận A
b In ra tất cả các phần tử của mảng A trên 1 dòng
c In ra ma trận nghịch đảo của ma trậnA
d In ra ma trận chuyển vị của ma trận A
9/ Cho chương trình sau:
using System;
classProgram
{
staticvoid TestOut( int i, outfloat f)
{
i = 5;
f = i*5;
return;
}
staticpublicvoid Main()
{
int k = 10;
float g;
TestOut( k, out g);
Console.WriteLine(" k = {0} , g = {1} ", k, g);
}
}
Cho biết kết quả in ra là gì?
b k = 5 , g = 25
c k = 10 , g = 50
d Máy báo lỗi
10/ Cho chương trình sau:
using System;
classProgram
{
f = i*2 ;
return;
}
staticpublicvoid Main()
{
int k = 20;
float g = 1234.5f ;
TestRef( k , g);
Console.WriteLine(" k = {0} , g = {1} " ,k,g);
}
}
Đ2-K15HCĐH
<b>using System;</b>
<b>class cau2</b>
<b>{</b>
<b> static public void Main()</b>
<b> { Console.Write("Nhap so nguyen duong :");</b>
<b> int N = Int32.Parse(Console.ReadLine());</b>
<b> for (int i = 0; i < N; i++)</b>
<b> {</b>
<b> for (int j = 0; j < N - i - 1; j++)</b>
<b> Console.Write(" ");</b>
<b> for (int j = 0; j < 20; j++)</b>
<b> Console.Write("*");</b>
<b> Console.WriteLine();</b>
<b> }</b>
<b> }</b>
<b>}</b>