Cũng là một người hơi hơi mê bên lập trình, mãi sau này mình mới có hướng đi và đang xây dựng nền tảng cho đam mê này mỗi ngày. Để hiểu thêm về lập trình và cần chia sẻ kinh nghiệm của mỗi người về lập trình. Mình lập topic này mong muốn trao đổi và học hỏi kiến thức.
1. Học lập trình có khó không?
2. Học lập trình có cần giỏi toán không?
3. Học lập trình nên bắt đầu từ đâu?
.....
Cảm ơn mọi người đã đọc topic.
một trong những cái mà lập trình đem lại cho tui đó là cách suy nghĩ logic và có hệ thống, từ những cái lớn bao trùm nhất như cái khung, kiến trúc hệ thống cho tới những chi tiết nhỏ như nhập xuất, cái gì nhất thời cần nhanh gọn, cái gì lâu dài cần ổn định bền vững...
tui thấy ai viết code lâu cũng tích lũy lại được 1 thư viện, cần xài cái nào chỉ việc link tới rồi include thôi
Chính xác,
Mình cũng có 1 libraries nho nhỏ tự code từ a-z, lọ mọ tích lũy sửa rồi xóa rồi làm đủ kiểu không biết đến version thứ bao nhiêu rồi.
Đến giờ mặc dù xác định rõ cái thư viện đó không để vẽ với graphic mà chỉ xài vào mục đích xử lý logic, xử lý thuật toán, can thiệp tự động hóa 1 phần (cho chạy ngầm).
Đã xóa đi khá nhiều module ít xài, nhưng cũng vẫn thêm mới dựa theo thực tế nếu cần.
Đọc cuốn này cũng lắm lỗi bác ạ nhưng bù lại phải tìm hiểu và biết thêm được nhiều thứ. Code trên chỉ có 1 phần, còn phần sau là phần của int main().
Code:
#include <iostream>
#include<math.h>
using namespace std;
int gptb2(float a, float b, float c, float&p, float&q)
{
float d;
d=(b*b)-4*a*c;
if(d<0) return 0;
else if(d==0){p=-b/(2*a); return 1;}
else {
p=(-b+sqrt(d))/(2*a);
q=(-b-sqrt(d))/(2*a);
return 2;
}
}
int main(){
float a,b,c;
float p,q;
do{
cout<<"Nhap gia tri a (a!=0) ="; cin>>a;
cout<<"Nhap gia tri b= "; cin>>b;
cout<<"Nhap gia tri c= "; cin>>c;
}
while(!a);
int So = gptb2(a,b,c,p,q);
if(So ==0 ) {
cout<<"Phuong trinh da cho vo nghiem";
}
else if(So==1){
cout<<"Phuong trinh da cho co nghiem kep p=%.4f=" << p;
}
else{
cout<<"Phuong trinh da cho co hai nghiem phan biet"<<endl;
cout<< "p=" << p<<endl;
cout<< "q=" << q<<endl;
}
}
using namespace std;
int gptb2(float a, float b, float c, float*p, float*q)
{
float d;
d=(b*b)-4*a*c;
if(d<0) return 0;
else if(d==0){*p=-b/(2*a); return 1;}
else {
*p=(-b+sqrt(d))/(2*a);
*q=(-b-sqrt(d))/(2*a);
return 2;
}
}
int main(){
float a,b,c;
float p,q;
cout<<"Nhap he so a= ";cin>>a;
cout<<"Nhap he so b= ";cin>>b;
cout<<"Nhap he so c= ";cin>>c;
switch(gptb2(a,b,c,&p,&q))
{
case 0: cout<<"Phuong trinh vo nghiem"; break;
case 1: cout<<"Phuong trinh co nghiem kep p= "<<p; break;
case 2: cout<<"Phuong trinh co 2 nghiem phan biet: "<<endl;
cout<<"p= "<<p<< "va q= "<<q<<endl; break;
}
}
Lập trình có khó không?
Nói thực mình thấy rất là khó đối với 1 thằng dân kinh tế như mình.
Học lập trình từ đâu?
Học lập trình từ lòng đam mê, tự tìm tòi, tự khám phá là chính. Nếu có khả năng, nếu có tài chính thì nên theo trường lớp bài bản.
Hồi 2012 mình đi làm, gom góp mấy tháng trời mua dc cái máy tính msi 2nd. Về khám phá vọc vạch bú lu xu, sau đó mò excel vba, lọ mọ tập tành code và tìm hiểu về code.
Sau đó qua C++, rồi qua mấy thằng lai lai C
Mong mỏi có cơ hội được tự tay mình viết app đẩy lên google play store mà khó quá. Vì thế là mình quyết định thôi khó quá bỏ qua, chú tâm vào công việc hiện tại, rảnh rảnh có thời gian code mấy cái logic tính toán finance như viết model định giá doanh nghiệp trên excel, viết mấy cái hàm quét data ngành, viết vài con bot đánh forex. Lấy code logic làm niềm vui, dùng code vào để tự động hóa 1 phần công việc, để có thể nếu kiếm dc thêm đồng nào từ nó thì lại càng zui.
mình cũng có cái mong muốn code được con app cho nó thỏa với nhu cầu )
p/s. trên forum thì chắc xưng mình bác vậy thôi, chứ so tuổi thì chắc bác lớn hơn mình )
mình cũng có cái mong muốn code được con app cho nó thỏa với nhu cầu )
p/s. trên forum thì chắc xưng mình bác vậy thôi, chứ so tuổi thì chắc bác lớn hơn mình )
Đọc cuốn này cũng lắm lỗi bác ạ nhưng bù lại phải tìm hiểu và biết thêm được nhiều thứ. Code trên chỉ có 1 phần, còn phần sau là phần của int main().
Code:
mấy tài liệu VN lỗi nhiều lắm, hồi đó học môn cấu trúc dữ liệu ông thầy phát cho cái giáo trình có code mẫu mà bị lỗi tứ tung, gõ vô máy hông chạy được, hỏi ổng thì ổng kêu tự sửa đi coi như bài tập
NHẬP MÔN LẬP TRÌNH C About me. Xin chào tất cả các bạn đang đọc bài viết này của mình, mình tên là Thanh Bình và hiện đang là sinh viên của một trường đại học ở TP.HCM. Hiện mình đang theo học chuyên ngành Kỹ thuật phần mềm, trong quá trình học thì mình thấy có rất nhiều bạn vẫn còn nhiều thắc...
NHẬP MÔN LẬP TRÌNH C CHƯƠNG 2: CÁC CẤU TRÚC ĐIỀU KHIỂN TRONG LẬP TRÌNH I. GIỚI THIỆU Những chương trình trong Chương I mình đã giới thiệu bao gồm các chỉ thị được thực hiện một cách tuần tự ( từ trên xuống ). Trong thực tế thì để viết một chương trình hoàn chỉnh, chúng ta cần phải sử dụng...
NHẬP MÔN LẬP TRÌNH C CHƯƠNG 3: HÀM TRONG NGÔN NGỮ LẬP TRÌNH C I. HÀM TRONG NGÔN NGỮ LẬP TRÌNH C I.1 Giới thiệu về hàm Hàm trong C nói riêng và các ngôn ngữ lập trình khác nói chung là một đoạn chương trình bao gồm một hoặc nhiều xử lý nhằm giải quyết một công việc nào đó và được xây dựng...
NHẬP MÔN LẬP TRÌNH C CHƯƠNG 4: DỮ LIỆU MẢNG VÀ KỸ THUẬT XỬ LÝ CƠ BẢN I. GIỚI THIỆU CHUNG Mảng là kiểu dữ liệu có cấu trúc, dùng để chứa tập các phần tử cùng kiểu. Trong lập trình, kiểu mảng thường xuyên được sử dụng do dễ cài đặt, dễ dùng và đáp ứng nhu cầu lưu trữ dữ liệu trong các bài...
Cân bằng cây là việc rất cần thiết để tối ưu việc tìm kiếm và thêm xoá dễ dàng hơn. Để cân bằng cây thì cây AVL là cây dễ dàng cân bằng nhất, các bạn có thể đọc thêm phần lý thuyết để hiểu rõ hơn về cách cân bằng cây AVL trước khi bắt đầu code. Xem bài lý thuyết...
về toán và lập trình, mình xin chia sẻ: để lập trình được k nhất thiết giỏi toán nhưng để lập trình tốt thì cần toán tốt.
ví dụ lúc viết thuật toán xử lý là lúc phân loại rất tốt 2 nhóm người này, người giỏi toán thường cho ra kết quả khả quan hơn
using namespace std;
void inhoa(const char*s)
{
char*t;
strcpy(t,s); // copy xâu s vào xâu t
cout<<s<<strupr(t); // in hoa xâu t
}
int main()
{
char*s="abcde";
inhoa(s);
}
Chương trình vẫn chạy mà không báo lỗi gì cả nhưng kết quả thì không có, đang hoang mang các bác ạ.
1. Học lập trình có khó hay không?
Theo cá nhân mình, việc khó hay không tùy vào cách nhìn nhận của mỗi người. Nếu nhìn theo mặt bằng lương chung thì ngành IT có hơi nhỉnh hơn đại đa số các ngành khác 1 xíu, số tín chỉ cho ngành IT cũng nhiều hơn. Ngành nào cũng có cái khó riêng của ngành đó, và tất nhiên là lương cao hơn thì sẽ chịu nhiều trách nhiệm, áp lực công việc nhiều hơn => túm cái váy lại là mình thấy ngành IT có hơi khó học hơn các ngành khác 1 "xíu".
2. Học lập trình có cần giỏi toán hay không?
Chơi đá bóng, bạn có cần có sức khỏe tốt, dẻo dai, khéo léo hay ko? Tất nhiên là có, nhưng nếu bạn ko có những thứ đó thì bạn có chơi được ko? Tất nhiên là được, ra đá vào trái bóng thì gọi là đá bóng rồi
Học IT ko yêu cầu bạn phải "quá" giỏi toán, nhưng nếu bạn giỏi toán và tư duy logic tốt thì đó là một lợi thế rất lớn của bạn
3. Học lập trình nên bắt đầu từ đâu trước?
_Bắt đầu bằng cách search google, tập cho search đúng keywork để tìm kiếm được những thông tin cần thiết để xem
_Tiếp xúc với những người có kinh nghiệm đi trước (đừng bao giờ nghe bọn tuyển sinh nói nha, bọn nó toàn chạy chỉ tiêu thôi, méo biết gì đâu)
_Và cuối cùng là cứ chơi đi đừng sợ, nếu có sai thì cũng là kinh nghiệm cho bản thân thôi
=> túm cái váy phần này lại là, nên học cách search google, học tiếng anh, chịu khó đọc tài liệu tiếng anh nhiều, hoặc tham gia các khóa seminar trước khi quyết định học cái gì đó. À một phần nho nhỏ nữa là, có người để truyền lửa cho mình là 1 điều tuyệt vời nha
mình cũng có cái mong muốn code được con app cho nó thỏa với nhu cầu )
p/s. trên forum thì chắc xưng mình bác vậy thôi, chứ so tuổi thì chắc bác lớn hơn mình )
Hì mình 33 rồi, già rồi.
Nói chung làm gì cũng phải có đam mê bác ạ, có đam mê sẽ làm dc hết, chỉ khác cái là nhanh hay chậm mà thôi.
Mình thì tính thực tế, đam mê gì thì nó cũng bám vào việc làm sao từ cái đam mê nó đẻ ra dc tí nguồn thu thì càng mừng.
Vì hôm nay là thứ 2 đầu tuần nên tui sẽ thả nhẹ 1 bài tâm "hự" trải lòng về ngành lập trình viên của tụi tui nha, ông lập trình nào đồng cảm thì nhớ để lại bình luận đó :D Và tèn tennnn, bài viết này sẽ liệt kê ra những khó khăn mà một lập trình viên sẽ gặp phải, giúp bạn đọc sẽ có một cái nhìn...
Mà chạy cứ báo lỗi này các bác ạ.
C:\Users\TC\OneDrive\Documents\GTLN\mylib.h|4|note: 'int max(int, int)' previously defined here|
C:\Users\TC\OneDrive\Documents\GTLN\mathfunc.h|5|error: redefinition of 'int max(int, int)'|
Vì mình không được đào tạo bài bản nên mình ko biết viết thế nào. Nhưng để làm thì mình thường làm như sau:
Bài toán tìm số lớn nhất nếu chỉ có 3 số a.b,c thì mình sẽ làm đơn giản theo kiểu
bool Main(double a, double b, double c)
{
Print("Max = " + DoubleToString(MathMax(MathMax(b,c),a)));
return(true);
}
Còn nếu có n số và tìm giá trị lớn nhất thì mình sẽ dùng vòng lặp for
Tạo mảng data[n] = {a,b,c,...n};
double max = 0;
for(i=0,i<n,i++)
{
if(i==0) max = data[0];
if(data>max) max = data;
}