Để mô tả các thao tác trong thuật toán, mỗi ngôn ngữ lập trình đều sử dụng một số khái niệm cơ bản: phép toán, biểu thức, gán giá trị. Dưới đây sẽ xét các khái niệm đó trong Pascal. Mời các em cùng theo dõi nội dung chi tiết của bài học.
Phép toán | Trong Toán học | Trong Pascal |
Các phép toán số học với số nguyên | + (cộng), - (trừ), . (nhân), div (chia nguyên), mod (lấy phần div) | +, -,*, div, mod |
Các phép toán số học với số thực | + (cộng). - (trừ), . (nhân),: (chia) | +,-, *,/ |
Các phép toán quan hệ | < (nhỏ hơn), < (nhỏ hơn hoặc bằng), > (lớn hơn hoặc bằng). = (bằng), * (khác) | <, <=, >=, =, < > |
Các phép toán logic | -1 (phủ định), \(\vee\) (hoặc), \(\wedge\) (và) | not, or, and |
Bảng 1. Kí hiệu các phép toán trong Toán học và trong Pascal
Chú ý 1:
Trong lập trình, biểu thức số học là một biến kiểu số hoặc một hằng số hoặc các biến kiểu số và các hằng số liên kết với nhau bởi một số hữu hạn phép toán số học, các dấu ngoặc tròn (và) tạo thành một biểu thức có dạng tương tự như cách viết trong toán học với những quy tắc sau:
Chú ý 2:
Hàm | Biểu diễn Toán học | Biểu diễn trong Pascal | Kiểu đối số | Kết quả |
Bình phương | x2 | sqr(x) | Thực hoặc nguyên | Theo kiểu của đối số |
Căn bậc hai | \(\sqrt x\) | Sqrt(x) | Thực hoặc nguyên | Thực |
Giá trị tuyệt đối | |x| | Abs(x) | Thực | Theo kiểu của đối số |
Lôgarit tự nhiên | lnx | ln(x) | Thực | Thực |
Lũy thừa của số e | ex | Exp(x) | Thực | Thực |
Sin | Sinx | Sin(x) | Thực | Thực |
Cos | Cosx | Cos(x) | Thực | Thực |
Bảng 2. Một số hàm chuẩn thường dùng
A | 0 | 1 | ||
Not A | 1 | 0 | ||
A | 0 | 0 | 1 | 1 |
B | 0 | 1 | 0 | 1 |
A and B | 0 | 0 | 0 | 1 |
A not B | 1 | 1 | 1 | 0 |
Bảng 3. Bảng giá trị phép toán logic
Ví dụ 1:
Một số điểm chú ý khi sử dụng lệnh gán:
Biểu diễn biểu thức sau sang ngôn ngữ lập trình Pascal:
a. 2a + 3b +c;
b. \(\frac{x+y}{1-\frac{2}{z}}+\frac{x^2}{2z}\)
c. \(\frac{-b+\sqrt{b^2-4ac}}{2a}\)
Gợi ý làm bài:
a. 2*a + 3*b + c;
b. ((x+y)/(1-(2/z)))+(x*x/(2*z));
c. (-b+sqrt(b*b-4*a*c))/(2*a).
Ví dụ biểu thức quan hệ và biểu thức logic.
Gợi ý làm bài:
Biểu thức quan hệ:
Biểu thức logic:
Ví dụ câu lệnh gán.
Gợi ý làm bài:
Sau khi học xong Bài 6: Phép toán, biểu thức, câu lệnh gán, các em cần nắm vững các nội dung trọng tâm:
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 11 Bài 6 cực hay có đáp án và lời giải chi tiết.
Chọn cách biểu diễn đúng của biểu thức toán học sau sang Pascal?
\((1+z)\frac{x+\frac{y}{z}}{a-\frac{1}{1+x^3}}\)
Chọn cách biểu diễn đúng của biểu thức trong Pascal sau về biểu thức trong toán học?
ABS(x – y)/(x*x + SQR(y) +1)
Câu 3-5: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học DapAnHay sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 11 DapAnHay
Chọn cách biểu diễn đúng của biểu thức toán học sau sang Pascal?
\((1+z)\frac{x+\frac{y}{z}}{a-\frac{1}{1+x^3}}\)
Chọn cách biểu diễn đúng của biểu thức trong Pascal sau về biểu thức trong toán học?
ABS(x – y)/(x*x + SQR(y) +1)
Biểu thức nào sau kiểm tra "n là một số nguyên dương chẵn"?
Cho biểu thức sau:
(a mod 3 = 0) and (a mod 4 = 0)
Số a nhận giá trị nào sau đây để biểu thức cho kết quả là TRUE?
Biểu thức Toán học \(\frac{x+y}{x-z}\) khi chuyển sang ngôn ngữ lập trình Pascal sẽ có dạng:
Họ và tên
Tiêu đề câu hỏi
Nội dung câu hỏi
Câu trả lời của bạn
uses crt;
var a,b,dt,cv:real;
begin
clrscr;
repeat
write('nhap chieu dai:'); readln(a);
write('nhap chieu rong:'); readln(b);
if (a<=b) or (a<=0) or (b<=0) then writeln('ban da nhap sai, yeu cau ban nhap lai');
until (a>b) and (a>0) and (b>0);
cv:=(a+b)*2;
writeln('chu vi=',cv:4:2);
dt:=a*b;
writeln('dien tich=',dt:4:2);
readln;
end.
Câu trả lời của bạn
uses crt;
var r,dt:real;
begin
clrscr;
repeat
write('nhap ban kinh r='); readln(r);
if r<=0 then writeln('ban da nhap sai , yeu cau ban nhap lai');
until r>0;
dt:=sqr(r)*pi;
writeln('dien tich=',dt:4:2);
readln;
end.
Câu trả lời của bạn
uses crt;
var a:array[1..100]of integer;
i,n:integer;
begin
clrscr;
write('n='); readln(n);
for i:=1 to n do
begin
write('a[',i,']='); readln(a[i]);
end;
{---------------------------xuat------------------------}
for i:=1 to n do
write(a[i]:4);
{---------------------------xu-ly-----------------------}
writeln;
writeln('cac phan tu chia het cho 7 trong day la: ');
for i:=1 to n do
if a[i] mod 7=0 then write(a[i]:4);
writeln;
writeln('cac phan tu chia het cho 3 trong day la: ');
for i:=1 to n do
if a[i] mod 3=0 then write(a[i]:4);
readln;
end.
Đưa ra màn hình kết quả xếp loại của học sinh đó . Trong đó :
- dt>hoặc bằng 8.0thì đạt loại giỏi
- 6.5 nhỏ hơn hoặc bằng dt<8.0 thì đạt loại khá
- 5.0 nhỏ hơn hoặc bằng dt< 6.5 thì đạt loại trung bình
- còn lại yếu
Câu trả lời của bạn
program diem_thi;
uses crt;
var dt: real;
begin
clrscr;
writeln(' nhap diem thi:'); readln(dt);
if dt=>8 then writeln('loai gioi:');
if (6.5 <= dt) and (dt<8.0) writeln(' loai kha:');
if (5<=dt) and (dt<6,5) then writeln(' loai trung binh:');
if dt<5 then writeln('loai ken:');
readln;
end.
Câu trả lời của bạn
- Div là chia lấy phần nguyên.
VD:
5 div 4 = 1
8 div 3 = 2
15 div 8 = 1
...
- mod là chia lấy phần dư.
VD:
5 mod 2 = 1
9 mod 6 = 3
23 mod 5 = 3
...
a, (x2 +y)/(x×y)
b, \(1/2\sin \sqrt {{x^2} + {y^2}} \)
c, \(\sqrt {2x} + \sqrt {2x} + \sqrt {2x} \)
Câu trả lời của bạn
a, (x*x+y)/(x*y)
b, 1/2 sin (sqrt(sqr(x)+sqr(y)))
c, sqrt(2*x)+sqrt(2*x)+sqrt(2*x)
hoặc là: 3*sqrt(2*x)
Câu trả lời của bạn
uses crt;
var a,b:integer;
s:real;
begin
clrscr;
write('a='); readln(a);
write('b='); readln(b);
if (a>0) and (b>0) then
begin
s:=(a*a*a+b*b*b)/(sqrt(a+b));
writeln('A=',s:4:2);
end
else writeln('vui long nhap hai so duong');
readln;
end.
Câu trả lời của bạn
uses crt;
var a,b,c,kt:integer;
begin
clrscr;
write('nhap a='); readln(a);
write('nhap b='); readln(b);
write('nhap c='); readln(c);
if (a+b>c) and (a+c>b) and (b+c>a) then
begin
write('day la tam giac ');
kt:=0;
if ((a=b)and(a<>c)and(b<>c)) or ((b=c)and(b<>a)and(b<>c)) or ((a=c)and(a<>b)and(c<>b)) then kt:=1;
if (a=b) and (b=c) then kt:=2;
if (sqr(a)=sqr(b)+sqr(c)) or (sqr(b)=sqr(a)+sqr(c)) or (sqr(c)=sqr(a)+sqr(b)) then kt:=3;
if kt=0 then write('thuong');
if kt=1 then write('can');
if kt=2 then write('deu');
if kt=3 then write('vuong');
end
else writeln('day khong phai la tam giac');
readln;
end.
Câu trả lời của bạn
uses crt;
var a,b,s:integer;
begin
clrscr;
write('a='); readln(a);
write('b='); readln(b);
if a mod 5<>0 then
begin
s:=a*b;
writeln('tich cua hai so la: ',s);
end
else writeln('vui long nhap a khong chia het cho 5');
readln;
end.
Câu trả lời của bạn
Cái này nhiều kiểu có thể viết sang dạng biểu thức của toán học,
VD: \(\frac{a}{{\frac{b}{{\frac{c}{{\frac{d}{{\frac{e}{f}}}}}}}}};\frac{{\frac{{\frac{{\frac{a}{b}}}{c}}}{d}}}{{\frac{e}{f}}};\frac{{\frac{a}{b}}}{{\frac{c}{{\frac{d}{{\frac{e}{f}}}}}}}\)
Câu trả lời của bạn
Program So_chan_le;
Uses Crt;
Var
so,du:Integer;
Begin
Clrscr;
Writeln('SO CHAN HAY SO LE');
Writeln('-----------------');
Write('-Nhap mot so nguyen bat ky: ');
Readln(so);
du:=so Mod 2;
Case du Of
0:Begin
Writeln('-So : ',so);
Writeln('-La so chan');
End;
1:Begin
Writeln('-So : ',so);
Writeln('-La so le');
End;
End;
Writeln;
Writeln(' Bam phim <Enter> de ket thuc');
Readln;
End.
Câu trả lời của bạn
program bai_tap;
uses crt;
var a,b,x:real;
begin
clrscr;
write('nhap a: ');
readln(a:4:2);
write('nhap b: ');
readln(b:4:2);
if a = 0 then
begin
if b = 0 then
write('phuong trinh co vo so nghiem')
else
write('phuong trinh vo nghiem');
end
else
begin
x:= -b/a;
write('phuong trinh co nghiem : ',x:4:2);
end;
readln
end.
Câu trả lời của bạn
Program bai1;
uses crt;
var a,b,c,i: integer;
begin
clrscr;
for i:= 100 to 999 do
begin
a:= i div 100;
b:= (i div 10 ) mod 10;
c:= i mod 10;
if a*a*a+b*b*b+c*c*c = i then
begin
writeln(' so ' , i , ' co gia tri bang tong lap phuong cac chu so cua no .');
end;
end;
readln;
end.
Câu trả lời của bạn
Program bai1;
uses crt;
var n : integer;
begin
clrscr;
write('nhap so n ='); readln(n);
if n<=2 then write('so vua nhap vao khong hop le ') else
if n*n=(n-2)*(n-2)+(n-1)*(n-1) then write(n, ' la so pytago')
else
write(n , 'khong phai l so py ta go');
readln;
end.
Câu trả lời của bạn
var
n,n1:temp:integer;
begin
repeat
write(' nhap n : '); readln(n);
if ( n < 32000 ) and ( n > -32000) then break { break là lệnh dừng ngay vòng lập }
until (1=1);
n1:=0;
temp:=n;
while temp > 0 do
begin
n1:= n1 * 10 + temp mod 10;
temp:= temp div 10 ;
end;
if n1=n then write(' doi xung ') else write(' ko doi xung ');
readln;
end.
Câu trả lời của bạn
#include <iostream>
using namespace std;
int main()
{
int n,m[1001],nam=0,nu=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>m[i];
if(m[i]==1)
nam++;
if(m[i]==2)
nu++;
}
cout<<"CO: "<<nam<<" hoc sinh nam"<<endl;
cout<<"CO: "<<nu<<" hoc sinh nu";
return 0;
}
Câu trả lời của bạn
sqrt(sqrt(x-6));
a. 2a + 3b +c;
b. \(\frac{x+y}{1-\frac{2}{z}}+\frac{x^2}{2z}\)
c. \(\frac{-b+\sqrt{b^2-4ac}}{2a}\)
Câu trả lời của bạn
a. 2*a + 3*b + c;
b. ((x+y)/(1-(2/z)))+(x*x/(2*z));
c. (-b+sqrt(b*b-4*a*c))/(2*a).
Câu trả lời của bạn
a=3, b=1
Câu trả lời của bạn
Biểu thức quan hệ
Biểu thức logic
0 Bình luận
Để lại bình luận
Địa chỉ email của hạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *