Friday, September 12, 2014

[LBC] Ôn tập - Bài 15: Xếp hình đủ thể loại :))

Đây là dạng bài tập để thực hành vòng loop rất hay và thú vị:






Chú ý:
- Để làm dạng bài tập này ta phải dùng 2 vòng for lồng nhau, vòng for thứ nhất đại diện cho hàng, vòng for thứ 2 đại diện cho cột.
- Với mỗi loại hình cần in, ta phân tích hình thành nhiều hình nhỏ từ trên xuống có liên hệ tuyến tính với nhau và sử dụng các vòng for để vẽ từng hình nhỏ đó.
- Sử dụng các điều kiện của biến chạy hợp lý để in ra hình cần in.

Thursday, September 11, 2014

[LBC] Day 4 - 1,2,3: Using while loop, for loop and do..while loop do some exercises

1. Declare a variable which has the age of the person. Print the user’s name as many times as his age
* While loop:
* For loop:
* Do...While loop:

2. The program displays even numbers from 1 to 30.
* While loop:


* For loop:

* Do...While loop:

3. The program displays numbers from 10 to 0 in the reverse order
* While loop:

* For loop:

* Do...While loop:


4. The program will accept integers and display them until zero (0) is entered
* While loop:

* For loop:

* Do...While loop:

5.  Find the factorial of a number.
* While loop:

* For loop:




6.  Write a program to print the series 100, 95 , 90, 85,………., 5.
* While loop:

* For loop:

* Do...While loop:

7.   Accept two numbers num1 and num2. Find the sum of all odd numbers between the two
 numbers entered :
* While loop:

* For loop

* Do...While loop:


8.  Write a program to generate the Fibonacci series. (1,1,2,3,5,8,13,………)
* While loop:
* For loop:
* Do...While loop:

Chú ý:
- Vòng for thường được sử dụng khi biết trước số lần lặp.
- While và Do...While thường sử dụng khi không biết trước số lần lặp.
- Do...While và While là tương đương nhưng Do ... While sử dụng khi cần thực hiện một khối lệnh nào đó trước khi xem nó có thỏa mãn đk hay không, có nghĩa nó đảm bảo khối lệnh đó được thực hiện ít nhất 1 lần.

Wednesday, September 10, 2014

[LBC] Day 3 - 5: More condition

1.  Declare two variables x and y. Assign values to these variables. Number x should be printed only if it is less than 2000 or greater than 3000, and number y should be printed only if it is between 100 and 500.

2.  Write a program to show your computer’s capabilities. The user types in a letter of the alphabet and your program should display the corresponding language or package available. Some sample input ans output is given below :
                           Input                                  Output
                           A or a                                Ada
                           B or b                                 Basic
                           C or c                                 COBOL                           
Using the ‘switch’ statement to choose and display the appropriate message. Use the
default label to display a message if the input does not match any of the above         
letters.




3.  Accept values in three variables and print the highest value.

* Cú pháp lệnh switch ... case:

switch (Biểu thức điều kiện){
case giá trị 1: Khối lệnh; break;
case giá trị 2: Khối lệnh; break;
.
.
case giá trị n: Khối lệnh; break;
default: Khối lệnh;
}

Chú ý:

- Các giá trị 1,2..n là các giá trị trả về của Biểu thức điều kiện, tương ứng với giá trị trả về của biểu thức điều kiện thì các khối lệnh tại các case sẽ được thực hiện, sau khi khối lệnh được thực hiện thì tại mỗi case sẽ có thêm dòng break; để thoát khỏi lệnh switch.
- Ngoài lệnh break thì người ta còn dùng lệnh continue để bỏ qua một vòng lặp hoặc case chứa nó.
- Các khối lệnh phía sau các case không cần phải có cặp ngoặc {}.

[LBC] Day 3 - 4: Excercise more IF

1.  Write a program that accepts two numbers a and b and checks whether or not a is divisible by b.

2.  Write a program to accept 2 numbers and tell whether the product of the two numbers is equal to or greater than 1000.

3.  Write a program to accept 2 numbers. Calculate the difference between the two values. If the difference is equal to any of the values entered, then display the following message :
Difference is equal to value <number of value entered>
If the difference is not equal to any of the values entered, display the following message:
Difference is not equal to any of the values entered

4.  Montek company gives allowances to its employees depending on their grade as follows :
  Grade                                 Allowance
  A                                        300
  B                                        250
     Others                                100       
Calculate the salary at the end of the month.   (Accept Salary and Grade from the user )

5.  Write a program to evaluate the Grade of a student for the following constraints
If marks >75 – grade A
If 60< marks < 75 – grade B
If 45<marks<60 – grade C
If 35<marks<45 - grade D

If marks < 35 – grade E

* Note:
- Khi ta khai báo: 
char chuoi[10];
nó chỉ lưu trữ được 9 ký tự thôi vì ký tự thứ 10 là ký tự NULL ('\O')
- Khi ta dùng hàm scanf() để nhập ký tự thì các ký tự nhập vào sẽ được nhận sau khi người nhập có khoảng trắng, enter, \n, \t... còn các ký tự khác sau đó sẽ được lưu trong bộ nhớ đệm, để giải quyết vấn đề này ta dùng hàm fflush(stdin) sau hàm scanf() để clear bộ nhớ đệm.
Trong bài 4, ta có thể dùng hàm getch() để nhận giá trị nhập vào và hàm putchar() để in giá trị nhập vào ra màn hình.
Hàm getch(): là hàm dùng để lấy ký tự từ bàn phím nhưng không in ra màn hình. Thường dùng get() để dừng màn hình lại xem kết quả, trong bài này là ta tận dụng chức năng của nó để giải quyết vấn đề bộ nhớ đệm của scanf() mà không dùng fflush(stdin).

[LBC] Day 3 - 3: Excercise IF

1.

2.

3.

* Cú pháp lệnh else ... if:
if (Biểu thức điều kiện 1){
            Câu lệnh;
}else if (Biểu thức điều kiện 2){
            Câu lệnh;
.
.
.
}else if (Biểu thức điều kiện n){
            Câu lệnh;
}else{
            Câu lệnh;
}

Chú ý:
- Trong bài 3 ta sử dụng cấu trúc else... if lồng vào nhau để trả về kết quả cho biến answer. Ta cũng có thể sử dụng cấu trúc lệnh switch...case để thực hiện bài toán này.

[LBC] Day 3 - 2: Excercise with ball (if)


* Cú pháp lệnh if:

if (Biểu thức điều kiện) {
                Các lệnh;
}

Nếu Biểu thức điều kiện trả về giá trị TRUE thì Các lệnh sẽ được thực thi ngược lại nếu trả về giá trị FALSE thì sẽ thoát lệnh if.

* Cú pháp lệnh if...else:

if (Biểu thức điều kiện){
                Các lệnh;
}else{
                Các lệnh;
}

Nếu Biểu thức điều kiện trả về giá trị TRUE thì Các lệnh sẽ được thực thi ngược lại nếu trả về giá trị FALSE thì sẽ thực hiện Các lệnh sau else.

Chú ý:
- Sau cặp ngoặc () không có dấu ";" , nếu sau nó chỉ có một lệnh thì có thể bỏ cặp ngoặc {}.
- Sau cặp ngoặc {} không có dấu ";" vì nó là khối lệnh bao gồm các lệnh, chỉ có các câu lệnh riêng rẽ mới kết thúc bằng dấu ";"
               

[LBC] Day 3 - 1: Exercise gets()/puts()

1.   Write a program to accept and add three numbers.

2.  For the following values, write a program to evaluate the expression

z = a*b+(c/d)-e*f ;

  a=10
  b=7
  c=15.75
  d=4
  e=2
  f=5.6      

3. Write a program to evaluate the area and perimeter of the rectangle.

4.  Write a program to evaluate the volume of a cylinder.

5.  Write a program to evaluate the net salary of an employee given the following constraints
Basic salary : $ 12000
DA : 12% of Basic salary
HRA : $150
TA : $120
Others : $450
Tax cuts – a) PF :14% of Basic salary and b) IT: 15% of Basic salary
Net Salary = Basic Salary + DA + HRA + TA + Others – (PF + IT)


Note: