You are on page 1of 2

Đề cương thi học sinh giỏi Đại học Đà Nẵng môn Ngôn ngữ lập trình

Phần 1. Môi trường lập trình


- Dev C đối với C/C++
- Eclipse đối với Java

Phần 2. Nội dung thi


- Hình thức:
o Lập trình một bài toán với các dữ liệu đầu vào, đầu ra được định nghĩ và các
ràng buộc tùy thuộc vào từng bài toán.
o Sinh viên sẽ nộp bài thông qua một hệ thống chấm bài tự động với giao diện
web.
- Đề và đáp án ví dụ:

Nhập vào 5 số a1, a2, a3, a4, a5. Gọi m = (a1*a2*a3*a4*a5) % 1000007. Hãy in ra m.
 Dữ liệu vào: Dòng duy nhất gồm năm số a1, a2, a3, a4, a5 (1<= a1, a2, a3, a4, a5 <=
1000000)
 Dữ liệu ra: Số m

Ví dụ:
input

12345

output

120

o Bài làm ví dụ:

//Bài làm đúng đáp án //Bài làm sai đáp án

#include <stdio.h> #include<stdio.h>

int main(){ main(){

long long a,b,c,d,e,m; long a1,a2,a3,a4,a5,m;

scanf("%lld %lld %lld %lld scanf("%ld%ld%ld%ld


%lld",&a,&b,&c,&d,&e); %ld",&a1,&a2,&a3,&a4,&a5);

m=(a*b)%1000007; m=(a1*a2*a3*a4*a5)%1000007;

m=(m*c)%1000007; printf("%ld",m);

m=(m*d)%1000007; }

m=(m*e)%1000007;

printf("%lld",m);

return 0;

}
Phần 3. Đề cương ôn tập:
- Cấu trúc dữ liệu: Sử dụng tất cả các cấu trúc dữ liệu có thể có như: mảng, danh sách,...
- Thuật toán: Có thể sử dụng các thuật toán sau nhưng không giới hạn
o Tìm kiếm vét cạn (Complete Search (Iterative/Recursive))
o Chia để trị (Divide and Conquer)
o Tham lam (Greedy)
o Quy hoạch động (Dynamic Programming)
o Đồ thị (Graph)
o Công thức toán (Mathematics)
o Xử lý chuỗi (String Processing)
o Hình học tính toán (Computational Geometry)
o Các bài toán lập trình khác (Ad Hoc)

You might also like