---
# System prepended metadata

title: 'Tra cứu code python, c++, pascal'

---

# Tra cứu code python, c++, pascal
## Cấu trúc chương trình

### Python
```python=
print("Hello world!")
```

### C++
```cpp=
#include <iostream>
using namespace std;
int main() {
    cout << "Hello world!" << endl;  
}
```


### Pascal
```pascal=
begin
writeln('Hello world!');
readln;
end.
```


## Biến
### python
```python=
a=3
b=5
print(a)
print(b)
```

### C++
```cpp=
#include <iostream>
using namespace std;
int main() {
    int a=3;
    int b=5;
    cout << a << b << endl;
}
```

### pascal
```pascal=
var a, b: integer;
begin
a := 3;
b := 5;
writeln(a, b);
readln;
end.
```


## Các pháp toán đại số
### python
```python=
print(5+7)
print(9-3)
print(12*5)
print(9/7)
print(9//7) # lấy thương
print(9&7) # lấy phần dư
print(2**2) # mũ

import math #sử dụng hàm toán học
#đang thử nghiệm
```

### C++
```cpp=
#include <iostream>
using namespace std;
int main() {
    cout << 2+3 << endl;
    cout << 9-3 << endl;
    cout << 9*3 << endl;
    cout << 9/3 << endl;
    cout << 9.0/3 << endl;
    // chú ý: kiểu dữ liệu ảnh hưởng đến phép chia.
    cout << 11%3 << endl;
    int a = 13;
    cout << a++ << endl; // 13 do phép làm luôn
    cout << a << endl; // 14 (trả ra kết quả phép tính sau cộng 1)
}
```

### pascal
```pascal=
var a, b: integer;
begin
    a := 3;
    b := 5;
    writeln(a+b);
    writeln(b-a);
    writeln(b*17);
    writeln(b/2);
    writeln(b div 2);
    writeln(b mod 2); //a lưu ý không có phép lũy thừa
end.
```

## Input, output
### Cơ bản
#### python
```python=
s = input() # mặc định input = string
n = int(input())
print(s, n)
```

#### C++
```cpp=
#include <iostream>
using namespace std;
int main() {
    int a;
    int b;
    cin >> a;
    cin >> b;
    cout << a << b << endl;
}
```

#### pascal
##### Nhập trên bàn phím
```pascal=
var a: string;
b: integer;
begin
readln(a);
readln(b);
writeln(a, b);
readln;
end.
```
##### Nhập bằng tệp
Lưu ý: Khi nhập dữ liệu bằng tệp cần chú ý đến vị trí tệp để tránh bị lỗi.
Thường dùng trong các kỳ thi học sinh giỏi.
```pascal=
var fi, fo: text;
a, b, c: int64;
begin
    assign(fi, 'input.txt');
    assign(fo, 'output.txt');
    reset(fi);
    rewrite(fo);
    readln(fi, a, b);
    writeln(fo, 'Ket qua: ', a, ' + ', b, ' = ', a+b);
    close(fi);
    close(fo);
end.
```

### Format số thực
### Nhập xâu
#### python
Tương tự như nhập xâu bình thường.
#### C++
Tương tự (khai báo = string/char)
#### pascal
Khai báo biến ```s: string``` và nhập như bình thường (xem bên trên)
### Nhập mảng (hoặc list)
#### python
```python=
l = [int(v) for v in input().split()] # v có thể dùng cho các loại dữ liệu khác nhau
print(*l) # output list l
```
## Chuyển đổi các loại
## Câu điều kiện
### Python
```python=
n = 20
if n % 2 == 0:
    print("even")
else:
    print("odd") #in this case it return even.
```
### C++
```cpp=
#include <iostream>
using namespace std;
int main() {
    int n=20;
    if (n%2==0) {
        cout << "even" << endl;
    }
    else {
        cout << "odd" << endl;
    }
}
```
### Pascal
```pascal=
var n: integer;
begin
    n := 20;
    if n mod 2 = 0 then begin
        writeln('even');
    end
    else begin
        writeln('odd');
    readln;
end.
```
## Các vòng lặp
### for
#### Python
```python=
n = int(input())
for i in range(n):
    print(i, end=" ")
```
#### C++
```cpp=
#include <iostream>
using namespace std;
int main() {
    int n;
    cin >> n;
    for (int i=0, i<n, i++):
        cout << i << " ";
    cout << endl;
}
```
#### Pascal
```pascal=
var i, n: integer;
begin
    readln(n);
    for i:= 0 to (n-1) do begin
        writeln(i);
    end;
end.
```
### while và repeat
## Xâu
### Input, output
### Các phép tính xâu

