Khác nhau giữa pascal và c?

Vì cần nhiều lời khuyên khi chuyển từ pascal sang c và lần đâu tiên học C nên mong mọi người cho cháu ý kiến và lời khuyên khi học C, điều gì của pascal có thể giống hoặc khác C ạ!

Lời khuyên: Quên đi những gì liên quan đên ngôn ngữ lập mình đã hoc trước đó, và hãy học ngôn ngữ mới như mới bắt đầu học lập trình :grin: :sunglasses:

7 Likes

Pascal là ngôn ngữ case-insensitive, tức là không phân biệt chữ hoa chữ thường, C thì có phân biệt chữ hoa chữ thường, ví dụ biến x khác với biến X.
Theo mình thì cú pháp của Pascal khá khó chịu. Học Pascal để làm quen với lập trình trong trường học chứ ứng dụng thực tế của nó thì không nhiều.

2 Likes

C không hỗ trợ lập trình hướng đối tượng
Còn Pascal hỗ trợ lập trình hướng đối tượng !

Không nghịch C và Pascal nên k biết nhìu hun !

2 Likes

Cảm ơn bạn thông não giùm mình, hồi đó giờ học Pascal mình cứ nghĩ nó chỉ có hướng thủ tục :))

1 Like

Mình cũng vừa mới biết đc tầm 1 tháng !
Căn bản sách Tin học dạy ở Trung học của chúng ta đc viết hơn chục năm trc đến hơn chục năm sau vẫn k chịu sửa đổi nên đến giờ vẫn ghi : Pascal là ngôn ngữ lập trình hướng thủ tục
Mình cũng có biết đâu , do 1 lần cãi nhau vs 1 đứa về sự lỗi thời của Pascal mới biết là nó có hướng đối tượng từ thuở nào rùi :sob:

4 Likes

Lập trình hướng đôí tượng và hướng thủ tục là sao ạ? :frowning:

2 Likes

Bạn có thể paste câu hỏi của bạn nên Google và xem câu trả lời !

1 Like

Theo ý mình thì C và pascal khác nhau cơ bản nhất đó là cấu trúc của ngôn ngữ, vì C có thể viết theo thủ túc (procedure) và OOP còn pascasl thì chỉ có procedure… còn mọi thứ thì giống nhau, nhưng C hơn pascal đó là C/C++ có hỗ trợ UI

có gì đó sai sai
C có OOP?
Pascal không có OOP?

Mình đọc nhiều tài liệu thì k hề thấy pascal có đề cập tới OOP, nhưng C/C++ thì có

Chưa cặp bồ với hai thằng này bao giờ nên cũng chưa hiểu nhau lắm. C không có hướng đối tượng còn Pascal thì có. C được ứng dụng nhiều ( Được dùng để viết Driver, mà đi đâu cũng có phần cứng, tất nhiên :smile:) còn Pascal thì chủ yếu được dùng dạy trong trường học. Sẽ học C nhưng không bao giờ nghịch Pascal :sweat_smile:

  • Thứ nhất, những tài liệu bạn đọc không thấy đề cập đến OOP không có nghĩa là nó không có OOP, mà các tài liệu pascal hiện tại ở VN chủ yếu là trong sách tin học THPT và các sách phục vụ giải thuật, thi đấu, thì không thấy OOP là bình thường. Pascal có OOP, và có thể dùng FPC hoặc Lazarus Pascal để làm, với FPC thì bật mode {$mode objfpc} lên
  • Thứ hai, C KHÔNG CÓ OOP, chỉ C++ mới có (đó cũng là lý do một số tài liệu hoặc diễn đàn mô tả C++ là “C with OOP”, tất nhiên nó không hoàn toàn đúng)
6 Likes

Bạn thấy Pascal có String, tức là nó có đối tượng rồi :smiley:

1 Like

không phải, string trong pascal bản chất cũng chỉ là array of char thôi nhưng nó được hỗ trợ bằng các hàm đặc biệt dành riêng cho nó
Bằng chứng là với String pascal, thì phần tử đầu tiên của nó sẽ lưu lại độ dài chuỗi, còn dữ liệu được lưu từ vị trí 1 trở đi (đó là lý do vì sao string trong pascal chỉ chứa tối đa 255 kí tự)

6 Likes

Nếu bạn tìm hiểu sâu về pascal bạn sẽ thấy rất rõ.
Thứ nhất, pascal có rất nhiều kiểu string, widestring, unicodestring, ansistring, shortstring (255 kí tự).
Chỉ có shortstring mới là mảng kí tự, còn hầu hết kiểu chuỗi pascal hiện đại ngày nay được tạo ra từ con trỏ, PWideChar, PChar, …
Tài liệu tiếng việt quá quá cũ rồi, đừng tin vào những gì quá lỗi thời, muốn thông tin chính xác lên wiki tiếng Anh của free pascal mà xem.
(Sorry vì đã đào lại bài cũ, lâu lâu xem lại thấy khó chịu nên rep, xin đừng ném đá)

3 Likes

Thanks for rep :stuck_out_tongue:

Thì mảng nó cũng thực chất là con trỏ thôi, shortstring vẫn dùng phần tử [0] để lưu lại.
Ngay cả những ngôn ngữ bậc cao thì nó vẫn truyền xuống ngôn ngữ bậc thấp xử lí cái đó, qua lại thì nó vẫn là con trỏ, quan trọng là time-life của nó đến bao giờ thôi.

2 Likes

mình cũng học pascal rồi mới học c

  • pascal thì đa số các lệnh thường dùng nằm trong thư viện crt gồm cả các hàm toán học, dừng màn hình (chứ thật ra có nhiều thư viện lắm)
  • c thì các hàm thường dùng phân ra nhiều thư viện khác nhau
    link nè bạn http://monhoc.vn/tai-lieu/so-sanh-ngon-ngu-pascal-va-c-1040/
1 Like

Không nhé bạn, thư viện Crt của Pascal không chứa bất kì hàm toán học nào.
Xem thêm ở đây https://www.freepascal.org/docs-html/3.0.0/rtl/crt/index-5.html
Các hàm toán học pascal chứa trong unit System và math nhé

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?