Showing posts with label Lập Trình. Show all posts
Showing posts with label Lập Trình. Show all posts

2/13/2020

Mấy cục nhựa dính trên một bảng nhựa

Đây không phải là mấy cục nhựa dính trên một bảng nhựa. Đó là một thất bại đã làm thế giới mất đi một chuyên gia về điện tử nhúng bậc thầy.

Hồi đó sắp ra trường Mỗ gom góp kiến thức từ sách vở, một ít kinh nghiệm từ trang dientuvietnam.net (không biết đã sập chưa), tài liệu thu được từ robocom mà làm đặng làm một cái đề tài thực tập oách xà lách. Đại khái nó là bo mạch chính của một xe dò đường tự động gồm phần ngồn, giao tiếp động cơ chính, động cơ lái, giao tiếp sensor và giao tiếp điều khiển cùng vi xử lý và vài linh kiện đảm bảo lắp kèm. Con xe còn khối mạch cầu chữ H, mạch sensor nữa (nếu ai tò mò muốn biết nó ở đâu, thì Mỗ xin trả lời là Mỗ cũng chẳng biết đâu nữa).

1/19/2018

CHẠY LẠI CHƯƠNG TRÌNH SỬ DỤNG LỆNH GOTO, NHÃN TRONG C

>> CHẠY LẠI CHƯƠNG TRÌNH BẰNG VÒNG LẶP DO - WHILE BẰNG C

   Trong phần trước ta đã có cách chạy lại chương trình sử dụng vòng lặp Do - While trong ngôn ngữ c. Tại phần này ta tiếp tục tìm hiểu cách chạy lại chương trình bằng cách sự dụng câu lệnh Goto và gãn nhãn trong c.

   Cũng giống như phần trước ta lấy ví dụ về chương trình tính tuổi để dễ hình dung. Về cơ bản, cách thức thực hiện như sau: ta đặt một câu lệnh gọi là nhãn kiểu như "nhan: ;" vào câu lệnh mở đầu đoạn mã cần thực thi lặp lại, thường là đầu chương trình. Ở cuối chương trình tạo một câu lệnh điều kiện if với nội dung hỏi có muốn lặp lại chương trình hay không, nếu muốn thì tròng vòng lặp if đặt câu lệnh goto nhảy đến nhãn đã đặt.
#include <stdio.h>
# define CHUC  "Chuc ban vui ve (: >\n"
int main(void)
{
      unsigned char choi;
 int inamhtai, inamsinh;
 vedau:; //đặt nhãn
  printf("Nhap vao nam hien tai: ");
  scanf("%d", &inamhtai);
  printf("Nhap vao nam sinh: ");
  scanf("%d", &inamsinh);
  printf("Ban %d tuoi, %s", inamhtai - inamsinh, CHUC);
  printf("Ban co muon tiep tuc? (Y/N)\n");
  choi = getch(); // nhập giá trọ từ bàn phím gán cho biến choi
  if(choi == 'y' || choi == 'Y')
          goto vedau; // nếu choi = y hoặc Y thì nhẩu đến nhãn vedau
  
}

1/16/2018

CHẠY LẠI CHƯƠNG TRÌNH BẰNG VÒNG LẶP DO - WHILE BẰNG C

   >> CHẠY LẠI CHƯƠNG TRÌNH SỬ DỤNG LỆNH GOTO, NHÃN TRONG C

   Khi chạy một chương trình c đơn giản, đôi khi ta muốn chạy lại chương trình từ đầu. Có rất nhiều cách để thực hiện chương trình này, sử dụng vòng lặp Do - While là một trong số những cách đấy.

   Cách thực hiện rất đơn giản bạn chỉ cần bỏ phần code chính trong vòng lặp với điều kiệu nhấn Y để lặp và phím khác để kếp thúc vòng lặp, thoát chương trình.

   Ta ví dụ trong code chương trình tính tuổi sau đây:
/* Vòng lặp chương trình sử dụng cấu trúc do - while*/


#include <stdio.h>

# define CHUC  "Chuc ban vui ve (: >\n"

int main(void)
{
      unsigned char chon;
      int inamhtai, inamsinh;
 do
 {
      printf("Nhap vao nam hien tai: ");
      scanf("%d", &inamhtai);
      printf("Nhap vao nam sinh: ");
      scanf("%d", &inamsinh);
      printf("Ban %d tuoi, %s", inamhtai - inamsinh, CHUC);
      printf("Ban co muon tiep tuc? (Y/N)\n"); // đặt câu hỏi tiếp tục hay kếp thúc chương trình
      chon = getch(); // lấy ký tự từ bàn phím để gán cho biến chon
 } while (chon == 'y' || chon == 'Y');  //khi nhấn y hoặc Y thì chương trình sẽ lặp lại, nhấn phím bất kỳ khác sẽ thoát chương trình
}

1/09/2018

BÀI TOÁN RÚT GỌN PHÂN SỐ BẰNG CODE C++

Đề bài: nhập vào một phân số rút gọn cho tới khi là phân số tối giảm.

Bài làm:

#include <iostream.h>
#include <conio.h>

void main(){
int tu,mau;
int s;

cout<<"Moi nhap vao phan so: ";
cout<<"/ntu: ";
cin>> tu;
cout<<"/nmau: ";
cin>> mau;

if(tu > mau)
for(i = mau; i <= mau; i++)
if(tu%i==0 && mau%i==0)
i=s;
else
cout<<"Phan so toi gian"
else
for(i = tu; i <= tu; i++)
if(tu%i==0 && mau%i==0)
i=s;
else
cout<<"Phan so toi gian"

cout<<"Ket qua: "<< tu/s << "/" << mau/s;

getch();
}

1/08/2018

BÀI TOÁN TÍNH BỘI CHUNG NHỎ NHẤT BẰNG C++

Đề bài: Nhập vào hai số, viết chương trình tính bội chung nhỏ nhất của hai số đó.

Bài làm:

#include <iostream.h>

void main(){
int m,n;
int kq;

cout<<"Moi nhap vao hai so: ";
cin>> m >> n;

if(m>n){
for(i= m*n;i >= n; i--){
if(m%i==0 && n%i==0)
i = kq;
}
else{
for(i= m*n; i >= m; i--){
if(m%i==0 && n%i==0)
i = kq;
}
}

cout<<"BCNN la: "<<kq;

getch();
}

1/03/2018

Tính toán vòng lặp tạo trễ cho vi điều khiển họ 8051 bằng code Assembly

    Vòng lặp tạo trễ là một đoạn mã thường xuyên xuất hiện trong các chương trình hợp ngữ Assembly dùng trong các hệ thống nhúng vận hành theo thời gian thực. Ví dụ: khi cần xuất điện áp dương ở chân P1.0 trong khoảng thời gian là 1s sau đó ngắt thì cần thời gian duy trì 1s ấy vi điều khiển giữ mức điện áp dương trước khi ngắt.

12/18/2017

Bài toán tính phương trình bậc 2 bằng C++

Đề bài: viết chương trình giải phương trình bậc 2

Bài làm:

#include <iostream.h>
#include <math.h>

void main(){
float a,b,c;
float detal;
float x1,x2;
cout << "Moi nhap vao cac so: ";
cin >> a >> b >> c;
detal = b*b - 4*a*c;
if(detal < 0)
cout << "Phuong trinh vo nghiem!";
else if(detal == 0)
cout << "Phuong trinh co hai nghiem kep: " << -b/2*a;
else
cout << "Phuong trinh co hai nghiem: x1 = " << b+sqrt(detal))/2*a << " va x2 = " << (-b-sqrt(detal))/2*a;
getch();
}

12/13/2017

Bài toán tìm trọng tâm tam giác C++

Đề bài: Tìm tọa độ trọng tâm tam giác cho trước.

Bài làm:
//chương trình tìm trọng tâm tam giác
#include <stdio.h>
#include <conio>

int main(){
    int xA,yA,xB,yB,xC,yC;
   
    cout << "Xin nhập vào tọa độ đỉnh A: ";
    cin << xA << yA;
    cout <<"\nXin nhập vào tọa độ đỉnh B: ";
    cin << xB << yB;
    cout <<"\nXin nhập vào tọa độ đỉnh C: ";
    cin << xC << yC;
   
    cout << "Tọa độ trọng tâm i là: " << (xA+xB+xC)/3 << "' " << (yA+yB+yC)/3;
   
    getch();
}

12/11/2017

Bài toán in ra số lẻ C++

Đề bài: nhập vào 2 số, in ra số lẻ giữa hai số đó

Bài giải:
#include <iostream.h>

void main(){
int n,i;
for(i=1;i<n;i+=2)
cout>>i>>"/t";
getch();
}

12/10/2017

Bài toán cổ gà chó C++

Đề bài:
Vừa gà vừa chó
Bó lại cho tròn
Ba mươi sáu con (36 con)
Một trăm chân chẵn (100 chân)
Hỏi có bao nhiêu gà, chó?

Bài giải:
#include <iostream.h>

void main(){
    int g,c;
   
    for(g=0;g<50;g++)
        for(c=0;c<25;c++)
            if(g+c==36 && 2*g+4*c==100)
                cout<<"ga= "<<g<<" cho= "<<c;
   
    getch();
}            

12/09/2017

Bài toán viết hình vuông bằng ký tự "*" C++

Đề bài: vẽ hình vuông có cạnh là a

//chương trình viết ra hình vuông đặc có cạnh là a
#include <stdio.h>
#include <iostream>

int main(){
int a;
cout << "mời nhập vào số a";
cin >> a;
for(int j; j <= a; j++){
for(int i; i <= a; i++){
cout << "*";
cout << "\n";
}
}
system("pause");
return 0;
}

12/08/2017

Bài toán tính biểu thức y = 3e^cos(t+1) bằng C++

Đề bài: viết chương trình nhập vào t và tính biểu thức y = 3e^cos(t+1):

//chương trình tính biểu thức y = 3e^cos(t+1)
#include <stdio.h>
#include <conio.h>
#include <cmath>
int main(){
          int t;
          cout << "Mời nhập vào số t: ";
          cin >> t;
          cout << "\nGía trị của biểu thức y = 3e^cos(t <<3*exp((cos(t+1));
          getch();
}

12/07/2017

Bài toán tính tổng, hiệu, tích, thương của 2 số nguyên C++

đề bài: nhập vào 2 số nguyên, in ra tổng, hiệu, tích, thương của 2 số đó.

//chương trình nhập hai số nguyên, in ra tổng hiệu tích thương
#include <stdio.h>
#include<conio>

int main(){
                 int a,b;

                 cout << "Mời nhập vào số thứ nhất: ";
                 cin >> a;
                 cout << "\nMời nhập vào số thứ hai: ";
                 cin >> b;

                 cout << "\nTổng hai số vừa nhập là: " << a+b;
                 cout << "\nHiệu hai số vừa nhập là: " << a-b;
                 cout << "\nTích hai số vừa nhập là: " << a*b;
                 cout << "\nThương hai số vừa nhập là: " << a/b;

                 getch();
}

Bài toán tính chu vi và diện tích hình tròn bằng C++

Đề bài: nhập vào bán kính hình tròn, tính chu vi và diện tích hình tròn đó:

//chương trình tính c, s hình tròn
#include <stdio.h>
#include <iostream>

int main(){
int r;
float pi = 3,14;
cout << "Mời nhập vào bán kính";
cint >> r;
cout << "Chu vi hình tròn là: " << 2*r*pi;
cout << "Diện tích hình tròn là: " << pi*(r*r);
system("pause");
return 0;
}

12/06/2017

Bài toán tìm tọa độ trung điểm giữa hai điểm A và B code C++

đề bài: nhập vào tọa độ 2 điểm A và B sau đó tìm tọa độ trung điểm của A và B:

//chuong trinh tinh toa do trung diem cua 2 diem trong khong gian
#include <stdio.h>
#include <conio>

int main(){
                int xA,yA,xB,yB;
                          cout << "Xin nhap vao toa do diem A: ";
                          cin << xA << yA;
                          cout <<"\nXin nhap vao toa do diem B: ";
                          cin << xB << yB;

                          cout << "Toa do trung diem cua 2 diem A va B la: " << (xA+xB)/2 << "' " << (yA+yB)/2;

                          getch();
                          }

12/05/2017

Bài toán tính ước chung lớn nhất bằng C++

Cho một số m, n tìm ước chung lớn nhất của chúng. Ta có code như sau:

#include <iostream.h>
void main(){
                     int m,n,kq;

                     cout<<"Moi nhap vao m,n: ";
                     cin>> m >> n;

                     if(m>n){
                                   for(i=0;i<=n;i++){
                                                                if(n%i==0 && m%i==0)
                                                                         i=kq;
                                                                }
                     }
                     else{
                                   for(i=0;i<=m;i++){
                                                                if(m%i==0 && n%i==0)
                                                                         i=kq;       
                                                                 }
                    }

                    cout<<"UCLN: "<<kq;

                    getch();

}

8/30/2013

MỘT SỐ TRÌNH BIÊN DỊCH NGAY TRÊN ANDROID

   Android là một hệ điều hành mạnh mẽ phổ biến nhất hiện nay , với android chúng ta có thể làm được rất nhiều việc ngay trên chiếc smartphone hoặc máy tính bảng của mình . Có thể nói tiềm năng của android rất lớn không thua gì pc cả , phầm mềm trên pc có thể làm được những gì thì ứng dụng trên android cũng làm được tương ứng . Điều cần thiết là các nhà phát triển ứng dụng có làm hay không mà thôi . Và một trong những tin vui dành cho các lập trình viên là hiện nay ngay trên android cũng đã có các trình biên dịch . Thật là tuyệt vời khi bạn có thể xem code, sửa chữa code và lập trình ngay trên các thiết bị android của mình.



8/28/2013

MẠCH ĐÈN ĐIỀU KHIỂN GIAO THÔNG KHÔNG HIỂN THỊ GIÂY TRỄ BẰNG DELAY

   Yêu cầu của mạch là mô phỏng lại điều khiển giao thông với 3 loại màu nhưng không có đếm giây, gây trễ bằng hàm delay.
   Trước tiên phân tích theo đèn giao thông tại các ngã tư ta thấy như sau :

  • Chu kỳ là đèn đỏ sáng 30s -> đèn xanh 25s -> đèn vàng 5s .
  • Hai cột đèn đối diện nhau thì hoạt động giống nhau.
     Sơ đồ ngã tư như sau :

8/20/2013

MẠCH CẢM BIẾN NHIỆT LM35 HIỂN THỊ LED 7 ĐOẠN

Về cơ bản project này của tôi chỉ là bản mô phỏng mạch còn hạn chế và thiếu nhiều . Bạn nào làm mạch thật nên lưu ý đến điều này .

Trước hết xin nói qua về sơ đồ mạch :

8/18/2013

CODE C ĐẾM SỰ KIỆN ĐƠN GIẢN

Nhìn chung thì đây là code c đơn giản hơn so với rất nhiều code c đếm sự kiện khác trên mạng .
Đây là sơ đồ mạch :




















Còn đây là code :