CNTT4A2 COMMUNITY

Thảo luận học tập


You are not connected. Please login or register

Go downThông điệp [Trang 1 trong tổng số 1 trang]

30/11/2010, 7:05 pm
whatsltd4us
whatsltd4us

Hai tuần thực hành, mỗi tuần 2 buổi ( 1 buổi 3 tiết)
BÀI TẬP C++


Tuần 1: 15 bài

Buổi 1: Từ bài 1 đến bài 7
Buổi 2: Từ bài 8 đến bài 15

Phần 1: Các câu lệnh cơ bản

Bài 1: Viết chương trình nhập họ tên, chỉ số điện tiêu thụ và tính tiền điện cho khách hàng theo qui định sau:
- 100 KW đầu tính giá 550đ/1KW
- Từ 101 đến 150 tính giá 1100đ/kW
- Từ 151 trở đi tính giá 1600đ/KW
Bài 2: Viết chương trình nhập vào 3 số nguyên. In ra số lớn nhất, số nhỏ nhất trong 3 số này
- Bài tập này sau khi học xong phần hàm có thể giải bằng cách xây dựng các hàm tìm max và tìm min cho 2 số. Từ đó tìm được max, min cho 3 số, 4 số, …., n số bất kỳ một cách dễ dàng hơn.
Bài 3: Viết chương trình giải phương trình bậc 2: ax2 + bx + c = 0
Bài 4: Viết chương trình nhập vào một số tiền Việt và tỷ giá quy đổi ra USD. In ra màn hình số lương tương ứng với số tiền đã nhập
Bài 5: Viết chương trình nhập tháng/năm. Tính số ngày của tháng trong năm đó
- Bài tập này cũng có thể sử dụng câu lênh if để giải quyết song sử dụng câu lệnh switch chương trình có vẻ sáng sảu hơn
Bài 6: Viết chương trình nhập vào điểm cho SV gồm 5 môn Tin, Toán, Triết, Tiếng Anh, Pháp Luật. Biết rằng Tin – 4 tín chỉ, Toán – 3 tín chỉ, Triết – 4 tín chỉ, Tiếng Anh – 3 tín chỉ, Pháp luật – 2 tín chỉ. Sau đó tính điểm Trung bình cho SV này theo cách: Môn bao nhiêu tín chỉ có hệ số bấy nhiêu. Và in ra:
- “Xuất sắc” nếu ĐTB >= 9
- “Giỏi” nếu 8 <=ĐTB< 9
- “Khá” nếu 6.5 <= ĐTB< 8
- “TB” nếu 5<=ĐTB<6.5
- “Yếu” nếu ĐTB < 5
Bài 7: Viết chương trình nhập vào số nguyên dương n rồi tính giá trị của các biểu thức sau:
a) S = 1 + 2 +…+ n
b) S = 1 + 3 + 5 +… + 2n – 1
c) S = 2 + 4 + …+2n
d) S = 1 + 1/2 + 1/3 + ….+ 1/n
• Bài tập này cũng có thể sử dụng câu lệnh while hoặc do…while để giải quyết
Bài 8: Viết chương trình nhập vào số nguyên dương n và in ra tất cả các ước số của nó
Bài 9: In danh sách các số hoàn hảo nhỏ hơn số n nhập từ bàn phím
Bài 10: Viết chương trình nhập vào số nguyên dương n và in ra tất cả các số chính phương trong phạm vi từ 1 đến n
Bài 11: Viết chương trình nhập vào các số thực cho đến khi số 0 được nhập vào và cho biết:
- Số phần tử đã nhập
- Tổng của các phần tử đã nhập
- Giá trị lớn nhất
- Giá trị nhỏ nhất
Bài 12: Viết chương trình in ra màn hình tất cả các số co 4 chữ số abcd thoả mãn
a+b = c + d
Bài 13: Viết chương trình giải bài toán cổ sau:
Trăm trâu trăm cỏ
Trâu đứng ăn năm
Trâu nằm ăn 3
Lụ khụ trâu già
Ba con một bó
Bai 14: In hình tam giác
Bài 15: Viết chương trình in ra màn hình các số từ 0 đế 99 theo qui cách mỗi số chiếm 2 chỗ, giữa các số có dấu cách và cứ 10 số nằm trên 1 dòng
http://vdvinh-nd.blogspot.com

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà whatsltd4us
30/11/2010, 7:05 pm
whatsltd4us
whatsltd4us

Tuần 2: 7 bài


Buổi 1: 2 bài về hàm + 2 bài về mảng và con trỏ
Buổi 2: 2 bài về cấu trúc + 1 bài về file


Phần 2: Bài tập về sử dụng hàm trong C

Bài 1: Viết chương trình vào 2 số nguyên dương n, k. Tính tổ hợp chập k của n phần tử
Bài 2: Viết chương trình nhập vào 4 số nguyên từ bàn phím. Tìm max, min của 4 số này
Bài 3: Viết chương trình nhập vào 3 số từ bàn phím, tìm UCLN và BCNN của 3 số này
Bài 4: Trình bày các bước chuyển n đĩa từ cọc A sang cọc C trong bài toán Tháp Hà Nội dùng 3 đĩa
Bài 5: Viết chương trình nhập vào số nguyên dương n và in ra tất cả các số nguyên tố trong phạm vi từ 1 đến n
Bài 6: Viết chương trình nhập vào số nguyên dương n và in ra tất cả các số hoàn hảo trong phạm vi từ 1 đến n
Bài 7: Viết chương trình nhập vào số nguyên dương n và in ra tất cả các số chính phương trong phạm vi từ 1 đến n
Bài 8: Viết chương trình nhập vào số nguyên dương n và in ra tất cả các số lập phương trong phạm vi từ 1 đến n
Bài 9: Viết chương trình nhập vào số nguyên dương n và in ra kết quả dãy Fibonacci
Bài 10: Viết chương trình tạo menu lựa chọn để giải bài tập từ 5 đến 9




Phần 3: Bài tập về sử dụng mảng và con trỏ


Bài 1: Viết chương trình nhập vào một mảng các số nguyên sau đó:
- In các phần tử của mảng ra màn hình theo thứ tự vừa nhập vào
- In các phần tử của mảng ra màn hình theo thứ tự ngược với thứ tự vừa nhập vào
- Tìm phần tử lớn nhất, nhỏ nhất, tính giá trị trung bình các phần tử trong mảng
- In ra màn hình một dòng gồm các số lẻ của dãy
- In ra màn hình một dòng gồm các số chẵn của dãy
- In ra màn hình các giá trị khác nhau của mảng
- Tìm phần tử có giá trị bằng số nguyên a nào đó được nhập vào từ bàn phím
- In ra các phần tử nhỏ hơn, lớn hơn 1 số nguyên a nào đó được nhập vào từ bàn phím
- Sắp xếp mảng theo thứ tự tăng dần
- Sắp xếp mảng theo thứ tự giảm dần
Bài 2: Viết chương trình nhập vào 2 ma trận cỡ m*n các số nguyên sau đó:
- In ma trận đó ra màn hình
- Tính tổng 2 ma trận
- Tính tích 2 ma trận
- Tìm phần tử lớn nhất, nhỏ nhất trong ma trận
Bài 3: Cho 2 mảng A, B đã được sắp xếp theo thứ tự tăng dần. Hãy trộn 2 mảng đó lại với nhau để có mảng thứ 3 là mảng C với điều kiện mảng C cũng được sắp xếp theo thứ tự tăng dần ngay sau khi trộn
Bài 4: Cho 1 dãy gồm n số nguyên dương có 3 chữ số, hãy sắp xếp dãy theo thứ tự tăng dần của chữ số hàng đơn vị; hàng đơn vị bằng nhau thì sắp xếp theo thứ tự tăng dần của hàng chục; hàng chục và hàng đơn vị bằng nhau thì sắp xếp theo thứ tự tăng dần của hàng trăm.
Bài 5: Nhập chuỗi và in chuỗi
Bài 6: Đảo chuỗi
Bài 7: In chuỗi theo các từ mỗi từ một dòng
Bài 8: Loại bỏ khoảng trống thừa trong chuỗi




Phần 4: Bài tập về sử dụng cấu trúc

Bài 1: Một số phức được biểu diễn dưới dạng a = phầnthực + phần ảo*j. Viết chương trình nhập số phức và thực hiện các thao tác trên số phức:
Bài 2: Một phân số được biểu diễn dưới dạng t/m. Viết chương trình nhập phân số và thực hiện các thao tác trên phân số.
Bài 3: Chương trình quản lý sinh viên (nhập, xuất, tìm kiếm, sắp xếp, chèn, xóa,…)
Bài 4: Chương trình quản lý nhân viên (nhập, xuất, tìm kiếm, sắp xếp, chèn, xóa,…)
Bài 5: Chương trình quản lý băng đĩa



Phần 5: Tệp và các thao tác vào ra
Bài tập về tệp và các thao tác vào ra có một số dạng thường gặp như sau:
- Ghi dữ liệu vào tập tin
- Đọc dữ liệu từ một tập tin
- Đọc tập tin và thống kê chữ
- Đếm ký tự của một tập tin văn bản
- Tìm tập tin trong thư mục chỉ định
- Đổi tên tập tin
- Loại bỏ dữ liệu
- Xoá tập tin trong thư mục chỉ định



In ra dayx Fibonaci :

Code:
#include<iostream.h>
#include<iomanip.h>
int fb(unsigned a)
{
 return (a==1||a==2)?1: fb(a-1)+ fb(a-2);
}
void main()
{
int n;
cout<<"In ra day Fibonaci voi so chu so nhap tu ban phim\n";
cout<<"                    ******\n\n";
cout<<"Nhap n = "; cin>>n;
for (int i=1;i<=n;i++)
cout<<fb(i)<<setw(3);
cout<<"\n\n";
}
http://vdvinh-nd.blogspot.com

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà whatsltd4us
1/12/2010, 6:40 pm
whatsltd4us
whatsltd4us

Giải phương trình bậc 2
Code:
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
#include<conio.h>
void main()
{
float a,b,c;
float delta,x1,x2,re,im;
cout<<"Giai phuong trinh bac 2\n\n";
cout<<"***********************\n\n";
cout<<"Nhap he so chua phuong trinh:\n";
cout<<"a = ";cin>>a;
cout<<"b = ";cin>>b;
cout<<"c = ";cin>>c;
if (a==0&&b==0&&c==0)
 cout<<"Phuong trinh co vo so nghiem\n";
if (a==0&&b==0&&c!=0)
 cout<<"Phuong trinh vo nghiem\n";
if (a==0&&b!=0)
 cout<<"Phuong trinh co nghiem x = "<<-c/b<<endl;
if (a!=0)
 {
  delta = b*b-4*a*c;
if (delta > 0)
 {
  x1 = (-b + sqrt(delta))/(2*a);
  x2 = (-b - sqrt(delta))/(2*a);
  cout<<"Phuong trinh co 2 nghiem phan biet :\n";
  cout<<"x1 = "<<x1<<endl;
  cout<<"x2 = "<<x2<<endl;
  }
if (delta == 0)
  cout<<"Phuong trinh co nghiem kep x1 = x2 = "<<-b/(2*a)<<endl;
if (delta < 0)
  {
  re = -b/(2*a);
  im = sqrt(-delta)/2*a;
  cout<<"Phuong trinh co 2 nghiem phuc lien hop:\n";
  cout<<"x1 = "<<re<<" + i*"<<im<<endl;
  cout<<"x2 = "<<re<<" - i*"<<im<<endl;
  }
 }
getch();
return;
}

In ra các số 0-99
Code:
#include<iostream.h>
#include<math.h>
#include<iomanip.h>
#include<conio.h>
void main()
{
int i,j;
for (i=0;i<10;i++)
cout<<i<<setw(2);
for (i=1;i<10;i++)
  {
  cout<<"\n";
   for (j=0;j<10;j++)
    cout<<i*10+j;
  }
getch();
return;
}


11.Nhập các số thực ...

Code:
#include<iostream.h>
#include<math.h>
#include<iomanip.h>
#include<conio.h>
void main()
{
float n,max=0,min=0,tong=0;
int dem=0;
do
 {
  cin>>n;
  dem++;
  tong = tong + n;
  if (max < n)
    max = n;
  if (min > n)
    min = n;
 }
 while (n != 0);
 cout<<"So phan tu da nhap la : "<<dem<<endl;
 cout<<"Tong cac phan tu da nhap la : "<<tong<<endl;
 cout<<"Phan tu lon nhat la : "<<max<<endl;
 cout<<"Phan tu nho nhat la : "<<min<<endl;
getch();
return;
}

12.In ra các số có 4 chữ số mà a+b = c+d

Code:
#include<iostream.h>
#include<math.h>
#include<iomanip.h>
#include<conio.h>
void main()
{
int n,a,b,c,d;
cout<<"Cac so co 4 chu so abcd ma a+b = c+d :\n\n";
for (n=1000;n<10000;n++)
 {
 a = n/1000;
 b = (n%1000)/100;
 c = (n%100)/10;
 d = n%10;
 if ((a+b)==(c+d))
  cout<<n<<setw(5);
 }
getch();
return;
}


Bài 1 : Tính tiền điện

Code:
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
void main()
{
char kh[30];
float sd,td;
cout<<" Nhap ten khach hang \n";;
cin.getline(kh,30);
cout<<"Nhap so dien tieu thu trong thang:\n";
cin>>sd;
  if (sd<=100)
   td = 550*sd;
  if (sd>100&&sd<=150)
   td = 100*550 + (sd - 100)*1100;
  if (sd>150)
   td = 100*550 + 50*1100 + (sd-150)*1600;
cout<<"So tien dien trong thang phai tra la: "<<td*1.1<<" dong";
getch();
}


Dùng câu lệnh IF:

Code:
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
#include<conio.h>
void main()
{
char sv[30];
float tin,toan,triet,eng,luat,tb;
cout<<"Nhap ten sinh vien : \n";
cin.getline(sv,30);
cout<<"Nhap diem cac mon:\n";
cout<<"Diem tin = ";cin>>tin;
cout<<"Diem toan = ";cin>>toan;
cout<<"Diem triet = ";cin>>triet;
cout<<"Diem eng = ";cin>>eng;
cout<<"Diem luat = ";cin>>luat;
tb = (tin*4 + toan*3 + triet*4 + eng*3 + luat*2)/(4+3+4+3+2);
cout<<"Diem trung binh cua sinh vien "<<sv[30]<<" la "<<tb<<endl;
if (tb >= 9)
 cout<<"Xep loai xuat sac\n";
if (tb < 9&&tb >= 8)
 cout<<"Xep loai gioi\n";
if (tb < 8&&tb >= 6.5)
 cout<<"Xep loai kha\n";
if (tb < 6.5&&tb >=5)
 cout<<"Xep loai trung binh\n";
if (tb <5)
 cout<<"Xep loai yeu\n";
getch();
return;
}



Code:
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
#include<conio.h>
void main()
{
int dung,nam,gia;
for (dung=1;dung<=20;dung++)
 for (nam=1;nam<=33;nam++)
   for (gia=1;gia<=(100-dung-nam);gia++)
     if ((5*dung+3*nam+gia/3.)==100)
     {
        cout<<"So trau dung la "<<dung<<"\n";
        cout<<"So trau nam la "<<nam<<"\n";
        cout<<"So trau gia la "<<gia<<"\n";
        cout<<"\n====================\n\n";

     }
getch();
return;
}


Bài 10 - Phần sử dụng hàm :

Code:
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
#include<math.h>
int checknt(int n);
int checkcp(int n);
int sohc(int n);
int fibo(int n);
void innt();
void incp();
void insohc();
void inlp();
void infibo();
void main()
{
int i;
cout<<"Chuong trinh giai bai tap phan ham :\n";
cout<<"1.Bai 5: In cac so nguyen to\n";
cout<<"2.Bai 6: In cac so hoan chinh\n";
cout<<"3.Bai 7: In cac so chinh phuong\n";
cout<<"4.Bai 8: In cac so lap phuong\n";
cout<<"5.Bai 9: In day Fibonaci\n";
cout<<"Nhap bai tap can lam :";cin>>i;
switch (i)
{
case 1: innt();break;
case 2: insohc();break;
case 3: incp();break;
case 4: inlp();break;
case 5: infibo();break;
default : cout<<"Khong co bai nay\n";
}
}
int checknt(int n)
{
 if(n == 2 || n == 3)
    {
        return 1;
    }
    if( n == 0 || n == 1 || n % 2 == 0 || n % 3 == 0)
    {
        return 0;
    }
    if( n < 25 )
    {
        return 1;
    }
    int i = 5 ;
    int j = 2 ;
    while(i <= floor(sqrt(n)))
    {
        if(n % i == 0 )
        {
            return 0;
        }
        else
        {
            i = i + j ;
            j = 6 - j ;

        }
    }
    return 1;
}
int checkhc(int n)
{
int s=0;
for (int i=1;i<=n/2;i++)
{
if (n%i==0) s=s+i;
}
if (s==n) return 1;
else return 0;
}
int checkcp(int n)
{
if (n==sqrt(n)*sqrt(n)) return 1;
else return 0;
}
int fibo(int n)
{

if (n<=1)

  return 1;

else

 return fibo(n-1)+ fibo(n-2);

}

void innt()
{
int n;
cout<<"Nhap n = :";cin>>n;
cout<<"Cac so nguyen to tu 1 den "<<n<<" la :\n";
for (int i=2;i<=n;i++)
{ if (checknt(i)==1) cout<<i<<" ";
}
}
void insohc()
{
int n;
cout<<"Nhap n = :";cin>>n;
cout<<"Cac so hoan chinh tu 1 den "<<n<<" la :\n";
for (int i=1;i<=n;i++)
{ if (checkhc(i)==1) cout<<i<<" ";
}
}
void incp()
{
int n;
cout<<"Nhap n = :";cin>>n;
cout<<"Cac so chinh phuong tu 1 den "<<n<<" la :\n";
for (int i=1;i<=n;i++)
{ if (checkcp(i)==1) cout<<i<<" ";
}
}
void inlp()
{    int n;
cout<<"Nhap n = :";cin>>n;
cout<<"Cac so lap phuong tu 1 den "<<n<<" la :\n";
for (int i=1;i<=pow(n,1/3.);i++)
cout<<i*i*i<<" ";
}
void infibo()
{
int n;
cout<<"Nhap n = :";cin>>n;
cout<<n<<" so dau tien cua day Fibonaci la :\n";
for (int i=1;i<=n;i++)
cout<<fibo(i)<<" ";
}






http://vdvinh-nd.blogspot.com

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà whatsltd4us
22/12/2010, 10:40 pm
MurSmile
MurSmile

Bài toán Tháp Hà nội :


Ai thử nhập n lớn 1 tý , tầm 100 chẳng hạn, thử đi mất gì đâu :eiryij:
Code:
#include<iostream.h>
#include<conio.h>

void HanoiTower(int n, int i, int j)
{
    int k;

    if(n==1)
       cout<<"Move a disk from column "<<i<<" to column "<<j<<"\n";
    else
    {
        k = 6-i-j;
        HanoiTower(n-1,i,k);
        HanoiTower(1,i,j);
        HanoiTower(n-1,k,j);
    }
}
void main()
{
clrscr;
int n,i,j;
cout<<"Input number of disk :"; cin>>n;
cout<<"Start : column "; cin>>i;
cout<<"Finish : column ";cin>>j;
HanoiTower(n,i,j);
}

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà MurSmile

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà Sponsored content

Về Đầu TrangThông điệp [Trang 1 trong tổng số 1 trang]

« Xem bài trước | Xem bài kế tiếp »

Bài viết mới cùng chuyên mục

    Bài viết liên quan với Bài tập C++ (NEW) !!!

      Quyền hạn của bạn:

      Bạn không có quyền trả lời bài viết