Thursday, 11 December 2014

Khánh Hoàng

What is "hacker"?

Marfa church-key kitsch bicycle rights, 8-bit mixtape cardigan gentrify Echo Park. Street art swag brunch, next level roof party Schlitz hella organic keffiyeh selfies. You probably haven't heard of them polaroid hashtag +1, meggings biodiesel Portland High Life cray tumblr retro.

How to be come a hacker?

chambray you probably haven't heard of them pour-over viral selvage umami skateboard VHS post-ironic selfies. Wes Anderson gentrify fanny pack twee, bicycle rights bitters blog keffiyeh plaid flannel. Tonx irony cliche sustainable mlkshk bitters. Four loko leggings chambray Vice.

Make him shut up

ethical thundercats sustainable locavore quinoa Neutra. Aesthetic Cosby sweater single-origin coffee, bicycle rights organic lo-fi street art american apparel ennui four loko ethnic Brooklyn small batch. Forage YOLO polaroid

Viết chương trình máy tính bỏ túi sử dụng các toán tử +, -, * , /,  (), các toán hạng: sử dụng kí pháp BaLan.


#include <iostream>
#include<stdio.h>
#include <string>
#define maxx 255
using namespace std;
struct Nodeint
{
int _a;
Nodeint * _next;
};
struct anode{
char ope; int val;
};
struct node{
char ope; int val;
node *l,*r;
};
struct STACK{
Nodeint * _Top;
};
void Init(STACK &s){
s._Top = NULL;
}
bool IsEmpty(STACK s){
if(s._Top == NULL) return true;
return false;
}

Nodeint *GetNode(int a){
Nodeint *p = new Nodeint;
if (p == NULL) {cout<<"khong du bo nho de cap phat"; return NULL;}
p->_a = a;
p->_next =NULL;
return p;
}
bool Push(STACK &s, Nodeint *p){
if(IsEmpty(s) == true){
s._Top = p; return true;
}
p->_next = s._Top;
s._Top = p;
return true;
}
bool Pop(STACK &s, int &a){
if(IsEmpty(s) == true){
cout<<" stack rong;"; return false;
}
Nodeint * p =s._Top;
a = p->_a;
s._Top = s._Top->_next; ///// ti phai xem lai cho nayyyyyyyyyyyyy
delete p;
return true;
}


char num[10]={'0','1','2','3','4','5','6','7','8','9'};
char ope[4]={'+' , '-' , '*' , '/'};

void read(string&);
void write(anode[],int);
bool isope(char);
bool isnum(char);
int power(int,int);
int ctoi(char[],int);
int prio(char);
void get(string,anode[],int&);
int tinhtoan(anode[],int,STACK &s);

int main(){
STACK s;
string expr; anode suff[maxx]; int n = 0;
read(expr);
get(expr,suff,n);
//write(suff,n);
cout<<endl;
cout<<"The result is:"<<tinhtoan(suff,n,s);
fflush(stdin); getchar();
return 0;
}

void read(string &expr){
cout  <<"Nhap bieu thuc tinh toan: ";
cin  >>expr;
}
void write(anode suff[],int n){
cout  <<"Chuyen thanh bieu thuc hau to: \n";
for (int i = 0;i < n;i++)
if (suff[i].ope != '.') cout  <<suff[i].ope <<' ';
else cout  <<suff[i].val <<' ';
cout  <<endl;
}
bool isope(char c){
int i = 0;
while ((i < 4)&&(c != ope[i])) ++i;
if (i < 4) return true;
else return false;
}
bool isnum(char c){
int i = 0;
while ((i < 10)&&(c != num[i])) ++i;
if (i < 10) return true;
else return false;
}
int power(int x,int y){
int p = 1;
for (int i = 0;i < y;i++) p *= x;
return p;
}
int ctoi(char c[],int n){
int m = 0;
for (int i = 0; i <= n;i++){
int j = 0;
while ((j < 10)&&(c[i] != num[j])) j++;
m += j*power(10,n-i);
}
return m;
}
int prio(char c){
if (c == '$') return 0;
else if ((c == '(')||(c == ')')) return 1;
else if ((c == '+')||(c == '-')) return 2;
else return 3;
}
void get(string expr,anode suff[],int& n){
char cnum[5],stack[maxx]; int m,top = 0,i = 0;
stack[top] = '$';
while (i < expr.size()){
if (isope(expr[i]))
if (prio(expr[i]) > prio(stack[top]))
stack[++top] = expr[i++];
else{
while (prio(expr[i]) <= prio(stack[top])){
suff[n].val = -1;
suff[n++].ope = stack[top--];
}
stack[++top] = expr[i++];
}
if (isnum(expr[i])){
m = -1;
while ((i < expr.size())&&(isnum(expr[i])))
cnum[++m] = expr[i++];
m = ctoi(cnum,m);
suff[n].ope = '.';
suff[n++].val = m;
}
if (expr[i] =='(') stack[++top] = expr[i++];
if (expr[i] ==')'){
while (stack[top] != '('){
suff[n].val = -1;
suff[n++].ope = stack[top--];
}
top--;
i++;
}
}
while (stack[top] != '$'){
suff[n].val = -1;
suff[n++].ope = stack[top--];
}
}
int tinhtoan(anode suff[],int n,STACK &s){
//cout  <<"Chuyen thanh bieu thuc hau to: \n";
Nodeint *p;
for (int i = 0;i < n;i++){
if (suff[i].ope != '.'){
int a1,a2; int ketqua;
Pop(s,a1);
Pop(s,a2);
if(suff[i].ope == '+') ketqua = a2 + a1;
if(suff[i].ope == '-') ketqua = a2 - a1;
if(suff[i].ope == '*') ketqua = a2 * a1;
if(suff[i].ope == '/') ketqua = a2 / a1;
p = GetNode(ketqua);
Push(s,p);
}
else {
p = GetNode(suff[i].val);
Push(s,p);
}}
int ketquacuoicung;
Pop(s,ketquacuoicung);
return ketquacuoicung;
}


Tương đồng giữa 1 hacker và... 1 hải tặc


Có lẽ mọi người sẽ cảm thấy kì lạ khi tôi lại so sánh giữa 1 hacker và 1 hải tặc như vậy. Qua bài này tôi sẽ nói lên ý kiến của mình để chứng minh cho suy nghĩ này :^^:!! Smile Smile
Bạn đã từng xem One piece chưa? Một bộ phim hoạt hình vô cùng thú vị về cuộc phưu lưu của một nhận vật có tên là Luffy, có thể đã có nhiều người đã coi bộ phim này rồi, và cũng có thể cũng có những người chưa được xem. Nhưng riêng đối với tôi, one piece là một bộ anime tuyệt vời có giá trị cả về tính giải trí và cả những giá trị triết lý mà nó mang lại. Bạn chưa xem về nó? Hi vọng 1 ngày không xa bạn sẽ được xem nó!

Chỉ là một cậu sinh viên bình thường đang trên con đường theo đuổi ngành công nghệ thông tin với ước mơ :v"nhỏ nhoi": "NGƯỜI SẼ TRỞ THÀNH 1 HACKER VĨ ĐẠI Cool Cool". Ước mơ ấy đến với tôi một cách vô cùng tự nhiên sau khi cảm nhận bộ phim one peace mà tôi đã xem. Câu nói " NGƯỜI SẼ TRỞ THÀNH 1 HACKER VĨ ĐẠI" của tôi thật sự không khác gì với câu cửa miệng của Luffy: "NGƯỜI SẼ TRỞ THÀNH VUA HẢI TẶC!"

Chắc hẳn mọi người trong diễn đàn này cũng đã rất rõ ý nghĩa của danh từ " hacker" mà tôi đang nói đến. Và chính tôi cũng không lâu mới được nhận ra ý nghĩa của từ này. Nói như theo tiêu đề... tôi xin khẳng định, hacker như là một hải tặc ( trong phim one piece) vậy. Bởi vì đối với nhiều người Việt Nam ( bao gồm cả tôi trước đây) danh từ hacker nó cũng mang một nghĩa vô cùng xấu đó là đột nhập, cướp bóc, phá hoại, và chiếm những thông tin của người khác, cũng như mọi người luôn nghĩ về một hải tặc... luôn đi cướp bóc của những người khác.

Thật bất ngờ, thời gian tôi xem one piece, cũng chính là thời gian tôi bắt đầu đam mê ngành công nghệ thông tin, đam mê với việc trở thành hacker này. Và cùng một lúc đó, tôi đã nhận ra được ý nghĩa thực sự của 2 từ " hacker" và "hải tặc"..UndecidedUndecided. và chúng hoàn toàn tương đồng: hacker không hoàn toàn có nghĩa xấu như nhiều người đã và đang nghĩ như vậy. Chúng ta có hacker mũ trắng, hacker mũ đen,... và nhiều loại hacker khác (theo mình được biêt) cũng như hải tặc vậy, chúng ta có hải tặc tốt (những người không làm hải tặc với mục đích cướp bóc, phá hoại, bạn sẽ rõ hơn khi xem one piece thumbs upthumbs up) và những hải tặc xấu. Nếu nói về mục đích thì hacker mũ đen và một hải tặc xáu chắc hẳn mọi người đều hiểu về mục đích của chúng. Nhưng còn đối với 1 hacker mũ trắng và một hải tặc tốt, thì việc đạt đến danh hiệu đó cũng chỉ bởi họ muốn được thể hiện mình, muốn vượt qua những thử thách, muốn tìm kiếm cho mình một kho báu vô giá... Và ý nghĩa lớn nhất (hoàn toàn theo ý kiến chủ quan của tôi) khi đạt được danh hiệu " vua hải tặc " hay " hacker vĩ đại " đó chính là sự TỰ DO... sự tự do được tìm hiểu, chinh phục mọi kiến thức, thông tin xác thực trên thế giới này mà không có bất kì trở ngại nào... cũng như 1 vua hải tặc sẽ được tự do đi lai trên bất kì vung biển nào mà người đó muốn đi. 

Tất nhiên, để trở thành 1 hải tặc hay một hacker thì bất kì người nào cũng phải có những hành trang cơ bản nhất định,
phải có một sự khổ luyện không ngừng để đạt được những kĩ năng. 1 hải tặc cần phải luyện tập sức khỏe, cần nắm vững 
thật nhiều kiến thức về hàng hải. 1 người muốn trở thành hacker thì lại phải biết thật nhiều về môi trường ảo mà người ấy
đang sử dụng, cần nắm vững những kiến thức thuộc về 1 hacker. Và tất cả những kĩ năng, những kiến thức ấy không phải tự nhiên mà có, chúng đều phải được qua quá trình học tập, rèn dũa không ngừng nghỉ của mỗi người, từ căn bản đến nâng cao. Một khi đã có đủ những điều kiện về kiến thức, chúng ta sẽ sẵn sàng để "ra khơi", để bước vào cái thế giới với biết bao nhiêu điều kì thú, bất ngờ đang đợi bạn... 

Có rất nhiều cách để bước vào thế giới của sự kì thú này, bạn có thể 1 mình bước trên con đường chinh phục nó, một
mình trải nghiệm và nhận được kho báu cho riêng mình. Đó cũng là một giải pháp, nhưng theo tôi không phải là giải pháp tốt nhất. Tại sao bạn phải làm như vậy? Xung quanh bạn luôn có những người, tuy không cũng một mục đính như bạn, nhưng cũng có cùng chí hướng với bạn mà? Tại sao bạn lại không tìm kiếm những người "đồng đội" phù hợp với mình để bước trên con đường ấy? Trên con đường đến thành công ấy... phải lúc nào cũng yên bình cả, sẽ có những sóng gió xảy tới với bạn, những trở ngại, những con sóng lớn có thề quật ngã bạn bất kì lúc nào.Và khi có được những người đồng đội cho mình thì mọi người sẽ cùng chia sẻ, cùng nhau vượt qua những thử thách, đằng sau những khó khăn là những tiếng cười đùa cùng chính đồng đội của mình. Và phải rồi thumbs up thumbs up... chúng ta cần có một con tàu để chinh phục thế giới ấy mà. Có thể mỗi người sẽ chọn những con tàu riêng cho mình, và trong việc trở thành hacker tôi xem những con tàu ấy như là những diễn đàn học hỏi, hay những block chia sẻ. Mà ở đây con tàu mà tôi đã xác định mình sẽ cùng nó để đạt tới ước mơ của mình chính là CEH. Ngày đầu tiên khi đặt chân lên con tàu này tôi đã hoàn toàn cảm nhận được sự thân thuộc của nó đối với mình với những thành viên vô cùng nhiệt tình trên nó, những người tôi gọi là "đồng đội"...
Tới đây... chắc hẵn những người xem "one piece" có thể hoàn toàn tự nghiệm ra và so sánh sự giống nhau của 1 hải tặc và 1 hacker như tôi đã đề cập rồi nhỉ! UndecidedUndecided, đó còn là sự cảm nhận riêng của mỗi người....

Có thể bạn sẽ muốn biêt, chủ nhân của bài viết này đang nằm ở đâu trên con đường trở thành 1 hacker vĩ đại của hắn ^^...Tôi hoàn toàn tự hào khi khẳng định rằng, tôi chỉ đang ở điểm xuất phát trên con đường ấy, chỉ là một người tập sự nhỏ bé trên chính con tàu vĩ đại mà tôi chọn. Nhưng đó không phải là trở ngại của tôi... điều tôi có chính là ước mơ, và khát khao để biến ước mơ của mình thành hiện thực. Tôi sẽ trở thành một hacker vĩ đại!

Ps: bài viết này tôi viết không nhằm mục đích khuếch đại bản thân hay tỏ ý hổ báo với bất kì ai trong diễn đàn... và cũng không hề có ý PR cho bộ anime one piece WinkWink Đây chỉ là một bài viết hoàn toàn theo ý nghĩ chủ quan và mục đích chính của bài viết không phải là để muốn tất cả mọi người sẽ trở thành 1 hacker vĩ đại như tôi sẽ thành .. he he.. nhưng thực sự tôi rất muốn truyền ngọn lửa nhỏ bé của mình cho tất cả những người mà tôi đang xem là "đồng đội" nói riêng và tất cả những người đam mê CNTT như tôi nói chung: Hãy nuôi giữ ước mơ của mình, và biến ước mơ ấy thành hiện thực!