Thứ Tư, 11 tháng 12, 2013

C/C++

Posted by Unknown Thứ Tư, tháng 12 11, 2013, under | No comments

* Kể từ bài này mình sẽ viết về lập trình C / C++ ,từ căn bản đến nâng cao .

I. Gới thiệu sách :
Các bạn tìm đọc  vài quyển sau nha ! ( Mình không share được vì bản quyền sách , các bạn cố gắn tìm đọc trên internet , dùng thẻ Visa mua: quyển 1 thì tầm vài chục $, quyển 2 trên 100$, quyền 3 vài chục $  : )) )

1 . Brian Kernighan, Dennis Ritchie, The C Programming Language (2nd Edition :238 trang ): kinh điển và phải-đọc cho tất cả những ai muốn học C! ( hầu như 4 năm DH của tui chỉ đọc cuốn này )


2. Randal Bryant, David O'Hallaron, Computer Systems: A Programmer's Perspective ( 2001 :783 trang; 2002: 1078 trang ): cuốn này được dùng cho lớp CS107. Đọc cuốn này và làm bài tập của lớp CS107 sẽ rèn cho bạn kỹ năng lập trình C .

3. David Hanson, C Interfaces and Implementations ( 533 trang ) : muốn  "lên cơ" bida thì phải thường xuyên xem người khác chơi để mà học "đường" mới ; muốn giỏi lập trình thì phải thường xuyên đọc mã của những cao thủ. David Hanson là một cao thủ C và cuốn sách này sẽ chỉ cho bạn nhiều "đường" mới trong việc sử dụng C ( Văn ôn ,võ luyện . Tầm sư học đạo . Tìm cao thủ bái sư  ... )

II .Bài tập thực hành :

 Bài 1 : Viêt chương trình in dòng " helloworld " .

Tạo mới 1 project " helloworld " -> file -> new ->projects





code :
// khai báo thư viện
#inclucde<stdio.h>
// hàm chính
void main ()
{
// xuất ra màn hình
printf("Hello World ! Welcome to Vietnam !");
}

Kiểm tra lỗi : nhấp phím " F5 " để kiểm tra lỗi , thông báo lỗi hiện dưới khung " Output" .
Chạy chương trình : nhấp phím " Ctrl + F5" , kết quả xuất ra của sổ doc .




Bài tập 2 : Viết chương trình tính tổng 2 số nguyên nhập vào từ bàn phím .

Trước đây, để đọc dữ liệu nhập vào phím với ngôn ngữ C dùng " scanf" , những năm gần đây MS thay đổi là "scanf_s", vì thế khi bạn viêt "scanf" thì khi bạn "debug" sẽ thấy thông báo "Wamring ", đây là lỗi cú pháp, chương trình vẫn chạy .

code :
// bien_docgiatri.cpp : Defines the entry point for the console application.
//khai bao thu vien
#include "stdafx.h"
#include<stdio.h>
#include<conio.h>
#include<math.h>
// ham chinh
void main()
{
//khai bao bien
// kieu du lieu bien la so nguyen
int a, b, s;
//doc du lieu nhap vao tu ban phim
printf("\n Nhap gia tri cua a =");
//truoc day doi voi C de doc du lieu nhap vao ban phim dung "scanf"
//bay h chay tren phien ban moi, MS yeu cau "scanf_s", khac ti
scanf_s("%d", &a);
printf("\n Nhap gia tri cua b =");
scanf_s("%d", &b);
s = a + b;
// xuat du lieu xa man hinh
printf("\n Tong cua 2 so vau nhap: %d + %d = %d \n",a,b,s);
_getch();
}

Bải tập 3 : Viết chương trình đọc chuỗi nhập vào từ bàn phím, xuất ra màn hình chuỗi vừa nhập .

code:
// doc_xuat_chuoi.cpp : Defines the entry point for the console application.
// khai bao thu vien
#include "stdafx.h"
#include<concrt.h>
#include<string.h>
void main()
{
// chuoi la mang, mang nay la mang mot chieu chua ky tu
// khai bao bien cho chuoi
// 50 la so ky tu toi da co trong mang "ten"
char ten[50];
printf("\n Nhap vao ho va ten cua ban :");
// doc chuoi nhap vao tu ban phim
gets_s(ten); printf("\n Ho va ten cua ban la :");
// xuat chuoi vua nhap ra man hinh
puts(ten);
_gettch();
}


Bài tập 4 : Viết chương trình xóa bỏ khoảng trắng thừa trong một chuỗi ( giữa 2 từ liền kề nếu có hơn 2 khoảng trắng thì xóa đi chừa 1 khoảng trắng )

code
// xoa_khoang_trang.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
char *trim(char *chuoi)
{
char *p;
while (p = strstr(chuoi, "  "))// 2 khoang trang ke nhau thi xoa 1 khoang trang
memmove(p, p + 1, strlen(chuoi) - (p - chuoi));
if (chuoi[0] == ' ')
memmove(chuoi, chuoi + 1, strlen(chuoi));
if (chuoi[strlen(chuoi) - 1] == ' ')
chuoi[strlen(chuoi) - 1] = 0;
return chuoi;
}
void main()
{
char chuoi[100];
printf("\n Nhap chuoi vao chuoi can chinh sua :"); gets_s(chuoi);
trim(chuoi);
printf("\n Chuoi sau khi da xoa khoang trang thua :"); puts(chuoi);
_getch();
}



Bài tập 5: Viết chương trình nối 2 chuỗi thành 1 chuỗi .

code :
// ghep_chuoi.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include<conio.h>
// khong viet ham
// khong cap phat dong
void main()
{
char s1[100], s2[100];
int i, j;
printf("\n Nhap chuoi thu nhat: ");
gets_s(s1);
printf("\n Nhap chuoi thu hai: ");
gets_s(s2);
for (i = 0; s1[i] != '\0'; ++i);
for (j = 0; s2[j] != '\0'; ++j, ++i)
{
s1[i] = s2[j];
}
s1[i] = '\0';
printf("\n Ket qua sau khi ghep 2 chuoi: %s", s1);
printf("\n");
_getch();
}



* Đến đây mình kết thúc phần đầu về Lập trình C căn bản .
* Phần kế sẽ đi sâu : mảng, con trỏ , cấu trúc .







Thứ Hai, 9 tháng 12, 2013

Pascal

Posted by Unknown Thứ Hai, tháng 12 09, 2013, under | No comments

I. Gới thiệu :
II. Nội dung :
III. Bài tập:

Bài tập 1 : Viết chương trình in dòng chữ " Xin chao" ra mà hình
a. chạy tập tin TPX.exe ( bản không cài đặt ) , nhấp OK .

b. Trong cửa sổ, gõ các dòng sau:
Program HelloWorld;
Uses CRT;
Begin
  Writeln ('Xin chao');
 Write ('Nhap phim Enter de ket thuc !');
Readln;
End.
c. lưu file : Menu Flie ->Save (Crtl +F2) -> gõ tên vào khung ->Ok
d. Xem kết quả : vào menu  Run->Run ( Crtl + F9 )

e. kết thúc chương trình : nhấp phím bất kỳ ( Enter chẳn hạn ).


Bài tập 2 : Tạo file mới , save .

Bài tập 3: Mở flie -> Menu file ->Open -> chọn file cần mở -> Open




Tài Liệu : https://docs.google.com/file/d/0B6JhErFMAx7sQ3RuQW5XTmJBRFU/edit

Chủ Nhật, 8 tháng 12, 2013

Sửa lõi ứng dụng " Store " sau khi nâng cấp từ Windows 8 lên 8.1

Posted by Unknown Chủ Nhật, tháng 12 08, 2013, under | No comments

I. Sửa lỗi không vào được Store :
1. Chạy CMD với quyền admin

2. Từ cửa sổ CMD, chạy lệnh sau :
powershell -ExecutionPolicy Unrestricted Add-AppxPackage -DisableDevelopmentMode -Register $Env:SystemRoot\WinStore\AppxManifest.xml

3. Vào Store or chạy  CMD với lệnh :  start "" "ms-windows-store:"

* Lỗi :0x8007064A


II. PC settings :
1. Chạy CMD với quyền Admin
2. Trong CMD, chạy lần lượt 3 lệnh sau :

powershell -ExecutionPolicy Unrestricted Add-AppxPackage -DisableDevelopmentMode -Register $Env:SystemRoot\camera\AppxManifest.xml

powershell -ExecutionPolicy Unrestricted Add-AppxPackage -DisableDevelopmentMode -Register $Env:SystemRoot\FileManager\AppxManifest.xml

powershell -ExecutionPolicy Unrestricted Add-AppxPackage -DisableDevelopmentMode -Register $Env:SystemRoot\ImmersiveControlPanel\AppxManifest.xml


* Chạy lệnh CMD xong, reset lại máy .
* Bài này mình dịch từ các trang nước ngoài, có gì  ... các bạn thông cảm.

III. Cài lại app trong "Store" đã gỡ bỏ :
  Vào UI ->Store -> tại giao diện này nhấp phải ->Your apps -> All apps -> chọn app cài .

VI. Kiểm tra hệ thống công cụ " SFC.EXE ":
 Trích MS :
1. Mở CMD với quyền ADMIN
2. Tại dấu nhắc đơi lệnh, gõ "sfc /scannow", rồi ENTER.


Lệnh sfc /scannow sẽ quét tất cả các tệp hệ thống được bảo vệ và thay thế các tệp bị hỏng bằng bản sao được lưu trong bộ nhớ cache nằm trong thư mục nén tại %WinDir%\System32\dllcache.
Trình giữ chỗ %WinDir% thể hiện thư mục hệ điều hành Windows. Ví dụ: C:\Windows.

Chú ý : Không đóng cửa sổ Dấu nhắc Lệnh này cho đến khi quá trình xác minh hoàn tất 100%. Kết quả quét sẽ được hiển thị sau khi quá trình này hoàn tất.
3. Sau khi hoàn thành quá trình, bạn có thể nhận được một trong các thông báo lỗi sau:
     - Bảo vệ Tài nguyên Windows không tìm thấy bất kỳ hành vi vi phạm tính toàn vẹn nào.
Điều này nghĩa là bạn không có bất kỳ tệp hệ thống nào bị hỏng hoặc bị thiếu.
     - Bảo vệ Tài nguyên Windows không thể thực hiện thao tác đã yêu cầu.
Để khắc phục sự cố này, hãy thực hiện quét Trình kiểm tra Tệp Hệ thống trong chế độ an toàn và đảm bảo các thư mục PendingDeletes và PendingRenames có trong %WinDir%\WinSxS\Temp.
    - Bảo vệ Tài nguyên Windows đã tìm thấy các tệp bị hỏng và sửa chữa chúng thành công. Chi tiết được bao gồm trong CBS.Log %WinDir%\Logs\CBS\CBS.log.
Để xem thông tin chi tiết về quét tệp hệ thống và việc khôi phục, hãy đi tới Cách xem chi tiết về quy trình Trình kiểm tra Tệp Hệ thống.
   - Bảo vệ Tài nguyên Windows đã tìm thấy các tệp bị hỏng nhưng không thể khắc phục một số tệp. Chi tiết được bao gồm trong CBS.Log %WinDir%\Logs\CBS\CBS.log.
Để sửa chữa các tệp bị hỏng theo cách thủ công, xem chi tiết của quy trình Trình kiểm tra Tệp Hệ thống để tìm tệp bị hỏng, sau đó thay thế thủ công tệp bị hỏng bằng bản sao tốt đã biết của tệp.

4. Xong dóng CMD lại, reset máy.



Xem Nhiều

Bài đăng phổ biến

Lưu trữ blog

Blog Archive