Tài liệu tham khảo cho các học phần: An toàn và bảo mật thông tin, Kỹ thuật lập trình C, Kỹ thuật lập trình (khoa Điện)

Tài liệu tham khảo cho học phần An toàn và bảo mật thông tin:

1. Cryptography and Network Security: Principles and Practice 5th Edition by William Stallings, 2011

2. Information Security The Complete Reference, 2nd Edition by Mark Rhodes-Ousley, 2013

Tài liệu tham khảo cho học phần Kỹ thuật lập trình C:

1. C Primer Plus, Fifth Edition by Stephen Prata, 2004

2. The C programming language, 2nd Edition by Brian W. Kernighan and Dennis M. Ritchie, 1988

3. Danh sách các bài tập và bài mẫu (cần cài đặt Winrar 5 để giải nén): download.

4. Bài về mảng struct (học ngày 22/04/2015): download

5. Bài về xử lý xâu ký tự (học ngày 22/04/2015): download.

6. Bài về mảng cấu trúc Tam giác (học ngày 5/05/2015): download.

7. Học ngày 12/05 (file): download and download.

8. Học ngày 19/05 (struct-sach): download.

9. Học ngày 20/05: file sinhvien

10. Một số bài tập để ôn tập học phần Kỹ thuật lập trình C: download

Tài liệu tham khảo Kỹ thuật lập trình (khoa Điện):

1. Thinking in C++, 2nd Edition by Bruce Eckel

2. Programming embedded systems in C and C++ by Michael Barr, 1999

3. Bài mẫu về kế thừa học ngày 24/05/2015: download.

4. Đề cương ôn tập và bài thi test ngày 29/05/2015: download.

5 Responses to “Tài liệu tham khảo cho các học phần: An toàn và bảo mật thông tin, Kỹ thuật lập trình C, Kỹ thuật lập trình (khoa Điện)”

  1. Châu Nguyễn Says:

    Thầy ơi ,xem hộ em bài bày với ạ .em ko hiểu code sai ở đâu mà chỉ in ra đc tổng 2 mat chứ ko in ra đc tích .Em cảm ơn thầy

    #include
    void nhapmang(int a[100][100], int n, int m);
    void inmang(int a[100][100], int n, int m);
    void cong2matran(int a[100][100], int b[100][100], int c[100][100], int n, int m);
    void nhan2matran(int a[100][100], int b[100][100], int d[100][100], int n, int p, int m);
    void inmangtong(int c[100][100], int n, int m);
    void inmangtich(int d[100][100], int n, int m);

    int main()
    {
    int a[100][100];
    int b[100][100];
    int c[100][100];
    int d[100][100];
    int n,m,p,i,j;
    printf(“Nhap so hang m=”); scanf(“%d”, &m);
    printf(“Nhap so cot n=”); scanf(“%d”, &n);
    printf(“Nhap ma tran thu nhat: \n”); nhapmang(a,n,m);
    printf(“Nhap ma tran thu hai: \n”); nhapmang(b,n,m);
    printf(“Hai ma tran vua nhap la: \n”);
    inmang(a,n,m);
    printf(“\n”);
    inmang(b,n,m);
    printf(“\n”);
    cong2matran(a,b,c,n,m);
    printf(“Tong cua 2 ma tran nay la: \n”);
    inmangtong(c,n,m);
    nhan2matran(a,b,d,n,p,m);
    printf(“Tich cua 2 ma tran nay la: \n”);
    inmangtich(d,n,m);
    return 0;
    }
    void nhapmang(int a[100][100], int n, int m)
    {
    int i,j;
    for(i=0;i<m;++i)
    for(j=0;j<n;++j)
    {
    printf("Nhap a[%d][%d]= ",i,j);
    scanf("%d", &a[i][j]);
    }
    }
    void inmang(int a[100][100], int n, int m)
    {
    int i,j;
    for(i=0;i<m;++i)
    {
    for(j=0;j<n;++j)
    printf("%d ", a[i][j]);
    printf("\n");
    }
    }
    void cong2matran(int a[100][100], int b[100][100], int c[100][100], int n, int m)
    {
    int i,j;
    for(i=0;i<m;++i)
    for(j=0;j<n;++j)
    c[i][j]=a[i][j]+b[i][j];

    }
    void inmangtong(int c[100][100], int n, int m)
    {
    int i,j;
    for(i=0;i<m;++i)
    {
    for(j=0;j<n;++j)
    printf("%d ", c[i][j]);
    printf("\n");
    }
    }
    void nhan2matran(int a[100][100], int b[100][100], int d[100][100], int n, int p, int m)
    {
    int i,j,k;
    for(i=0;i<m;i++)
    for(j=0;j<n;j++)
    {
    d[i][j]=0;
    for(k=0;k<p;k++)
    d[i][j]=d[i][j]+a[i][k]*b[k][j];
    }
    }
    void inmangtich(int d[100][100], int n, int m)
    {
    int i,j;
    for(i=0;i<m;++i)
    {
    for(j=0;j<n;++j)
    printf("%d ", d[i][j]);
    printf("\n");
    }
    }

    • 4fire Says:

      Vì em chưa nhập p nên p=0, và khi gọi nhan2matran(a,b,d,n,p,m); trong hàm main thì vòng lặp tính d[i][j] không chạy. Em thay lời gọi bằng nhan2matran(a,b,d,n,n,m); là được.

      • Châu Nguyễn Says:

        Em chưa hiểu lắm thầy ơi .code này lúc đầu em vẫn gọi nhan2matran(a,b,d,n,p,m) vẫn in ra đc đúng tích .Sau đó em có thử làm lại cách khác và trót Save lại và h thì ko nhớ code cũ .thầy xem bài của e còn cách sửa nào nữa ko ạ .Em cảm ơn

        • 4fire Says:

          Có gì đâu, do em chưa nhập p nên p=0, giá trị mặc định của một biến kiểu nguyên, nên ma trận tích không tính được. Một là em nhập p, hai là em truyền biến n vào vị trí của p là được.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: