Đồ án CDIO

Bài tập lớn môn NM CNTT cuối học kỳ 1 vừa rồi đã khiến cho tập thể lớp không khỏi bàng hoàng ngơ ngác khi biết đề, càng sửng sốt hơn khi nhận ra rằng ngày biết đề cũng là ngày buộc phải hoàn thành công trình lớn: một ngôi nhà có thể chống dột chỉ bằng tăm, hồ dán và giấy báo.

Ra được một đề bài như thế quả thực là một sự sáng tạo tuyệt vời từ phía các thầy cô nhằm kiểm tra khả năng làm việc nhóm, khả năng xử lý tình huống cũng như khơi dậy một kỹ năng tưởng đã chết từ lâu trong các bạn sinh viên: làm sản phẩm thủ công. Không chỉ dừng lại ở đề bài, trong quá trình các nhóm thực hiện công trình, các thầy còn liên tục gây khó dễ bằng các hình thức như yêu cầu nộp các văn bản “hành chính” (hành là chính) mới cho phép xây nhà hay cấp thêm vật liệu, yêu cầu đuổi việc một thành viên trong nhóm hoặc bắt nhóm trưởng đi khảo sát tình hình các nhóm khác. Cuối cùng là 2 hình thức đem lại thành công lớn nhất trong việc gây khó dễ, thu hồi lại một phần vật liệu và rút thời gian thi công vốn ngắn ngủi xuống ngắn hơn. Quả thật là một ngày rất thành công của các thầy 🙂

Nhưng bằng sự sáng tạo, tiếp nhận mọi ý tưởng dù là điên rồ nhất, xây dựng và phát triển nó thành bản thiết kế ngôi nhà; bằng sự nỗ lực, làm việc hằng say không sợ dính keo dán của mọi thành viên, cuối cùng thì các ngôi nhà cũng kịp hoàn thành trong buổi thứ nhất.

Đây là một vài hình ảnh về ngôi nhà hoàn chỉnh của nhóm M3T chúng tôi:

Và đây là bài báo cáo (các phần khác đầy đủ hơn các bạn có thể download ở đây):

Buồi thứ hai gồm 2 phần là thuyết trình và kiểm tra sản phẩm, các ngôi nhà phải đối mặt với thử thách lớn đó là dội nước để kiểm tra chống dột, Nhưng đó chưa phải là vấn đề khó khăn nhất, thực sự thì cá nhân tôi nhận xét rằng, phong ba bão táp lớn nhất với các ngôi nhà cũng như các nhóm lại đến từ đội “chuyên gia chém gió” cực kỳ nguy hiểm bao gồm 2 thành viên Phát và Thiên (mà không phải từ các thầy). Họ tìm ra mọi ngóc ngách trong các ngôi nhà để bình luận và … (tự hiểu :smile:).







Rất tiếc vì không thể ghi lại được đoạn tranh luận gay cấn giữa 2 đồng chí Khoa và Phát về ngôi nhà của nhóm WTF do Khoa làm nhóm trưởng. Cuối cùng, trải qua phần thuyết trình, các ngôi nhà vẫn đứng vững dù có chút sứt mẻ do “bão lớn” :smile:. Lúc này đây, phần được chờ đợi nhất được tiến hành:

Sau đó là những lời  nhận xét khách quan nhất cho các ngôi nhà từ phía các thầy

Và bây giờ, phần bình luận cuối cùng xin dành cho bạn đọc vối nhũng hình ảnh bên dưới 🙂

Advertisements

Khảo sát các hình thức giải trí

Với yêu cầu của các thầy là thực hiện khảo sát các đối tượng sinh viên xung quanh mình về một chủ đề tự chọn, viết báo cáo bằng LaTex, ngày 19/12 vừa qua, nhóm M3T chúng tôi đã thực hiện một cuộc khảo sát nhằm tìm hiểu xem loại hình giải trí nào được các bạn sinh viên ưa thích nhất. Bài báo cáo này được soạn thảo bằng LaTeX, bản đầy đủ của nó bao gồm các hình ảnh và file tex các bạn có thể download ở đây.

Về phần nội dung của báo cáo cũng như kết quả khảo sát, các bạn có thể xem bên dưới.

Trong bài viết này, điều thật sự tôi muốn nói đến là những gì chúng tôi học được qua quá trình thực hiện cuộc khảo sát trên:

Về kiến thức: do yêu cầu của giáo viên, chúng tôi buộc phải tiếp cận với một loại công cụ soạn thảo mới là LaTeX, nhưng cũng nhờ thế mà chúng tôi mở rộng tầm hiểu biết hơn để về sau có thể sử dụng LaTex trong việc viết các văn bản khoa học – ưu điểm lớn nhất khiến LaTeX phổ biến như hiện nay.

Về kỹ năng: chúng tôi có thêm kinh nghiệm khi làm việc nhóm. Những bạn tham gia đi khảo sát còn có cơ hội rèn luyện kỹ năng giao tiếp với người lạ. Và cuối cùng là kỹ năng phân tích thông tin thu được để từ đó đưa ra kết luận chính xác nhất.

Bên cạnh đó cũng còn những hạn chế sau: số lượng người được khảo sát không nhiều (45 bạn), chưa hoàn toàn khẳng định kết quả khảo sát, các thành viên trong nhóm không phải ai cũng có thể sử dụng được LaTeX như mục đích ban đầu của nhóm.

Cuối cùng, cuộc khảo sát này, cũng như những lần làm việc nhóm trước đây, để lại cho mỗi người chúng tôi một kỷ niệm khó phai trong  khoảng đời sinh viên của mình.

Thống kê chi phí lắp ráp máy tính

Đây là chiếc máy tính mà mình mong muốn có được, một chiếc máy với cấu hình cực khủng, chạy được các phần mềm loại nặng ký như làm Adobe After Effect, Photoshop, 3Dmax… (mặc dù mình không có y định đi ngành thiết kế J) với CPU Intel Core i7-980X Extreme Edition, hỗ trợ tốt cho việc chơi game, xem phim HD với card màn hình Nvidia GeForce GTX 580 …

Mời mọi ngươi xem cấu tạo linh kiện chi tiết

Do trang Scribd.com không hỗ trợ hoàn toàn việc xem file Excel nên để xem tốt hơn, các bạn có thể download tại đây.

Bài tập nghiên cứu lần 1

Bài toán 1:

Cho số tự nhiên A. Hãy tìm số tự nhiên  N nhỏ nhất sao cho {N^N} chia hết cho A  . Trong đó  có giá trị trong khoảng  [1, {10^9}].

Ý tưởng 

Số b chia hết cho a khi và chỉ khi lũy thừa các số nguyên tố trong phân tích của b không nhỏ hơn trong phân tích của a. Như vậy ta để tìm số N điều đầu tiên cần làm là phân tích A  ra số nguyên tố:

A = a_1^{k_2}a_2^{k_2}...a_n^{k_n}

Chắc chắn một điều  số  ta cần tìm là bội của các số a_1, ta lấy tích N_0 = a_1a_2...a_n,  và sao sánh N_0 với lũy thừa của các ước  trong  phân tích của A.

  • Nếu  N_0 \ge max_{i=1..n}(k_i) ta chọn N = N_0.
  • Ngược lại, ta nhân N_0   với  các số tự nhiên  tăng dần (2, 3, …) cho đến khi  N_0 thỏa mãn tính chất trên. Đến đây nảy sinh vấn đề nếu thừa số nhân vào  cũng là ước hay chia hết cho ước của A thì sao?  Khi đó ta phải tăng lũy thừa của  trong  lên trong quá trình kiểm tra.
    vis du: A = 8 = 2^3 \Rightarrow N_0 = 2\ do\ N_0 < max_{i=1..n}(k_i) = 2 \Rightarrow N = N_0\times2 = 4 . Kiểm tra thấy N = 4 thỏa. Kết thúc quá trình.

Code

//BT NMCNTT - Tim so n nho nhat thoa n^n chia het cho so A cho truoc
#include<stdio.h>
#include<math.h>
//Ham kiem tra so nguyen to
int kt_nguyento(int n)
{
    int i, dem=0;
    for (i=2;i<=sqrt(n);i++)
    {
        if (n%i == 0) dem++;        
    };
    if (dem==0) return 1;
    else return 0;    
};
//Ham phan tich ra thua so nguyen to
void uoc_so(unsigned int A, int *uoc, int *so_mu, int &temp1)
{
    unsigned int a, temp2, j;
    temp1=0;
    a=A;
    for (j=2;a>1;j++)
    {
        if (kt_nguyento(j))
             if ((a%j)==0)
            {
                temp1++;
                uoc[temp1]=j;
                temp2=0;
                while (a%j==0)
                {
                    a=a/j;
                    temp2++;
                };
                so_mu[temp1]=temp2;
            };
    };
};
//Ham kiem tra su trung lap uoc nguyen to
void kt_uoc(int m, int temp1, int *uoc, int *so_mu_2)
{    
    int i;
    for (i=1; i<=temp1; i++ )
    {
        while ((m%uoc[i])==0)
        {
            so_mu_2[i]=so_mu_2[i]+1;
            m =(m/(uoc[i]));
        };
    };
};
//Ham kiem tra n thoa yeu cau chua
int kt_yeucau(unsigned int n, int temp1, int *so_mu, int *so_mu_2)
{
    int i;
    for (i=1; i<=temp1; i++ )
    {
        if ((n*so_mu_2[i])<so_mu[i])
        {
            break;
        };
    };
    if (i== (temp1+1)) return 0;
    else return 1;
};
//Chuong trinh chinh
int main()
{
    unsigned int A, n;
    int m, uoc[100], so_mu[100], so_mu_2[100], temp1, k;
    char thu;
    do
    {
        printf("A = ");
        scanf("%u",&A);    
        uoc_so(A, &uoc[0], &so_mu[0], temp1);
        n=1;
        printf("%u = ",A);
        for (k=1;k<=temp1;k++)
        {
            printf("(%d^%d)",uoc[k],so_mu[k]);
            n*=uoc[k];
            so_mu_2[k]=1;
        }; //In ra phan ticb nguyen to cua so A
        m=1;
        while (kt_yeucau((n*m), temp1, &so_mu[0], &so_mu_2[0]))
        {        
            m++;
            for (k=1; k<=temp1; k++)
            {
                so_mu_2[k]=1;
            };
            kt_uoc(m, temp1, &uoc[0], &so_mu_2[0]);                
        };
        printf("\nSo nho nhat thoa yeu cau la %u\n",(n*m));
        printf("Again? (Press y to try again or any other key to stop) ");
        fflush(stdin);
        scanf("%c",&thu);
    }while((thu=='y') || (thu =='Y'));
    return 0;
};

Tiếp tục đọc