Để 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
#include <conio.h> #include <graphics.h> #include <stdlib.h> #include <stdio.h> void main (int) { int gdriver=DETECT,gmode,errorcode; //yeu cau auto-detection. int midx,midy,x; //khoi tao cac bien do hoa va cuc bo initgraph(&gdriver,&gmode,"d:\\bc3\\bgi"); //doc ket qua cua trinh khoi tao. errorcode=graphresult(); if(errorcode!=grOk) //khi co mot loi xay ra. { printf("Xay ra loi : %s \n",grapherrormsg(errorcode)); printf("Nhan bat ky phim nao de dung : "); getch(); exit(1); //Dung chuong trinh do xuat hien loi. } setfillstyle(EMPTY_FILL,0); /*Lenh tren nghia la ham setfillstyle duoc su dung de thiet lap fill style cua mot thanh hinh chu nhat 3 chieu duoi dang trong.*/ bar3d(200,200,300,450,10,1); getch(); closegraph(); }
Câu trả lời của bạn
#include <conio.h> #include <graphics.h> #include <stdlib.h> #include <stdio.h> void main (int) { int gdriver=DETECT,gmode,errorcode; //yeu cau auto-detection. int midx,midy,x; //khoi tao cac bien do hoa va cuc bo initgraph(&gdriver,&gmode,"d:\\bc3\\bgi"); //doc ket qua cua trinh khoi tao. errorcode=graphresult(); if(errorcode!=grOk) //khi co mot loi xay ra. { printf("Xay ra loi : %s \n",grapherrormsg(errorcode)); printf("Nhan bat ky phim nao de dung : "); getch(); exit(1); //Dung chuong trinh do xuat hien loi. } for(x=40;x<120;x=x+10) { putpixel(x,200,14); //ve mot diem anh tai vi tri(x,200) voi mau vang(14) getch(); } }
Câu trả lời của bạn
#include <conio.h> #include <graphics.h> #include <stdlib.h> #include <stdio.h> using namespace std; void main() { int gdriver=DETECT,gmode,errorcode; //yeu cau auto-detection. int midx,midy,x; //khoi tao cac bien do hoa va cuc bo. initgraph(&gdriver,&gmode,"d:\\bc3\\bgi"); //doc ket qua cua trình khoi tao. errorcode=graphresult(); if(errorcode!=grOk) //neu co mot loi xay ra. { printf("Xuat hien mot loi : %s \n",grapherrormsg(errorcode)); printf("Nhan bat ky phim nao de dung lai : "); exit(1); //Dung chuong trinh do xuat hien loi. } /*thay doi background color.*/ for(x=0;x<=15;x++) { setbkcolor(x); } closegraph(); }
Câu trả lời của bạn
#include <conio.h> #include <graphics.h> #include <stdlib.h> #include <stdio.h> using namespace std; void main() { int gdriver=DETECT,gmode,errorcode; //yeu cau auto-detection. int midx,midy,x; //khoi tao cac bien do hoa va cuc bo. initgraph(&gdriver,&gmode,"d:\\bc3\\bgi"); //doc ket qua cua trình khoi tao. errorcode=graphresult(); if(errorcode!=grOk) //neu co mot loi xay ra. { printf("Xuat hien mot loi : %s \n",grapherrormsg(errorcode)); printf("Nhan bat ky phim nao de dung lai : "); getch(); exit(1); //Dung chuong trinh do xuat hien loi. } /*Thay doi foreground color.*/ for(x=15;x>=0;x--) { setcolor(x); circle(20+(x*40),200,15);/*Thay doi toa do x moi lan 50 de ma vong tron khong bi chong len nhau.*/ getch(); } cleardevice(); //xoa man hinh trong graphics mode. circle(200,200,50); getch(); closegraph(); }
Câu trả lời của bạn
#include <conio.h> #include <graphics.h> #include <stdlib.h> #include <stdio.h> using namespace std; void main (int) { int gdriver=DETECT,gmode,errorcode; //yeu cau auto-detection. int midx,midy,fstyle; //khoi tao cac bien do hoa va cuc bo. initgraph(&gdriver,&gmode,"d:\\bc3\\bgi"); //doc ket qua cua trình khoi tao. errorcode=graphresult(); if(errorcode!=grOk) //neu co mot loi xay ra. { printf("Xuat hien mot loi : %s \n",grapherrormsg(errorcode)); printf("Nhan bat ky phim nao de dung lai : "); getch(); exit(1); //Dung chuong trinh do xuat hien loi. } //Thay doi font style boi su dung mot vong lap cleardevice(); settextstyle(DEFAULT_FONT,HORIZ_DIR,4); /*Lenh tren nghia la day la default font trong chieu ngang va co kich co la 4.*/ //Dua ra mot thong bao. outtextxy(200,200,"Day la default font"); getch(); cleardevice(); settextstyle(TRIPLEX_FONT,VERT_DIR,5); /*Lenh tren nghia la day la triplex font trong chieu doc va co kich co la 5.*/ //Dua ra mot thong bao. outtextxy(200,200,"Day la Triplex font"); getch(); cleardevice(); settextstyle(GOTHIC_FONT,HORIZ_DIR,5); /*Lenh tren nghia la day la GOTHIC font trong chieu ngang va co kich co la 2.*/ //Dua ra mot thong bao. outtextxy(200,200,"Day la Gothic font"); getch(); cleardevice(); settextstyle(SMALL_FONT,VERT_DIR,5); /*Lenh tren nghia la day la small font trong chieu doc va co kich co la 5.*/ //Dua ra mot thong bao. outtextxy(200,200,"Day la Small font"); getch(); cleardevice(); settextstyle(SANS_SERIF_FONT,HORIZ_DIR,5); /*Lenh tren nghia la day la sans serif font trong chieu ngang va co kich co la 5.*/ //Dua ra mot thong bao. outtextxy(200,200,"Day la Sans Serif font"); getch(); closegraph(); }
Câu trả lời của bạn
#include<iostream> #include<conio.h> using namespace std; int main() { int a,b,c; float d; cout<<"Nhap gia tri cua a: "; cin>>a; cout<<"Nhap gia tri cua b: "; cin>>b; cout<<"Nhap gia tri cua c: "; cin>>c; try { if((a-b)!=0) { d=c/(a-b); cout<<"Ket qua la: "<<d; } else { throw(a-b); } } catch(int i) { cout<<"Ket qua la duong vo cung vi (a-b) bang: "<<i; } return 0; }
Câu trả lời của bạn
#include <iostream> #include <conio.h> #include <graphics.h> #include <ctype.h> #include <stdlib.h> #include <stdio.h> using namespace std; void main() { int gd = DETECT,gm,errorcode; //yeu cau auto-detection. //khoi tao cac bien do hoa va cuc bo initgraph (&gd, &gm, "d:\\bc3\\bgi"); //la path cai dat graphics drivers //doc ket qua cua trinh khoi tao. errorcode = graphresult(); //khi co mot loi xay ra. if (errorcode != grOk) { cout << "Xay ra loi : \n" << grapherrormsg(errorcode) << endl; cout << "Nhan bat ky phim nao de dung : "; exit(1); } /*Ve mot hinh chu nhat co LHS vertex tren cung tai (300, 300) va RHS vertex duoi cung tai (600, 400)*/ rectangle(300, 300, 600, 400); rectangle(100, 100, 200, 200); floodfill(120, 120, WHITE); closegraph(); }
Câu trả lời của bạn
#include <iostream> #include <conio.h> #include <graphics.h> #include <ctype.h> #include <stdlib.h> #include <stdio.h> using namespace std; void main() { int gd=DETECT,gm,errorcode; //yeu cau auto-detection. //khoi tao cac bien do hoa va cuc bo. initgraph(&gd,&gm,"d:\\bc3\\bgi"); //la path cai dat graphics drivers //doc ket qua cua trình khoi tao. errorcode=graphresult(); //neu co mot loi xay ra. if (errorcode!=grOk) { cout << "Xuat hien mot loi: \n" << grapherrormsg(errorcode) << endl; cout << "Nhan bat ky phim nao de dung lai : "; exit(1); } circle(200,200,50); //ve mot hinh tron co tam (200,200) va ban kinh (50). circle(300,203,40); //ve mot hinh tron co tam (300,203) va ban kinh (40). circle(500,303,80); //ve mot hinh tron co tam (500,303) va ban kinh (80). closegraph(); }
Câu trả lời của bạn
function tongcs(n:integer): integer;
var s : integer;
begin
s := 0;
while n <> 0 do begin
s := s + n mod 10;
n := n div 10;
end;
tongcs := s;
end;
Câu trả lời của bạn
function ngto(n:integer):boolean;
var i:integer;
begin
ngto:=false;
if n<2 then exit;
for i:=2 to trunc(sqrt(n)) do
if n mod i=0 then exit; {nếu n chia hết cho i thì n không là nguyên tố => thoát luôn}
ngto:=true;
end;
Câu trả lời của bạn
#include<stdio.h>
#include<conio.h>
int main()
{
int S = 0;
int n = 0;
while(S < 10000)
{
n++;
S = S + n;
}
printf("\nTong la %d", S);
printf("\nSo n la %d", n);
getch();
return 0;
}
Câu trả lời của bạn
function hammu(a : real; n : integer): real;
var s : real; i : integer;
begin
s := 1;
for i := 1 to n do s := s * a;
hammu := s;
end;
Câu trả lời của bạn
function giaithua(n : integer) : longint;
var i : integer; s : longint;
begin
s := 1;
for i := 2 to n do s := s * i;
giaithua := s;
end;
Câu trả lời của bạn
function UCLN(a,b: integer): integer;
var r : integer;
begin
while b<>0 do begin
r := a mod b;
a := b;
b := r;
end;
UCLN := a;
end;
Câu trả lời của bạn
Program So_lon_nhi;
Var n,i,so, nhi,max,tam:integer;
Procedure swap(var x,y:real);
var tam:real;
begin
tam:=x;
x:=y;
y:=tam;
end;
Begin
Write('Nhap n: ');Readln(n);
Write('nhap so:');Readln(max);
Write('nhap so: ');Readln(nhi);
if nhi > Max then swap(Max,nhi)
For i:= 3 to n do
Begin
Write('Nhap so: ');Readln(so);
if (so>nhi) and (so<max) then nhi:=so;
if so>max then
Begin
nhi:=max;
Max:=so;
End;
End;
Write('So thu nhi la: ',nhi);
Readln
End.
Câu trả lời của bạn
Program CTC_1;
uses crt;
var a,b: real;
{----CTC doi gia tri----}
Procedure swap(var x,y:real);
var tam:real;
begin
tam:=x; x:=y; y:=tam;
end;
{-----Ket thuc CTC-----}
begin
clrscr;
write('Nhap so a: ');readln(a);
write('Nhap so b: ');readln(b);
swap(a,b);
write('Sau khi doi a =',a:3:1);
write('Sau khi doi b =',b:3:1);
readln
end.
Câu trả lời của bạn
Program Giai_PT_bac_hai;
uses crt;
var a,b,c,delta:real;
{----------------------}
Procedure delta_duong;
begin
write('Phuong trinh co hai nghiem x1=',(-b+sqrt(delta))/(2*a),'x2=',(-b+sqrt(delta))/(2*a));
end;
{---------------------}
Procedure delta_khong;
begin
write('Phuong trinh co nghiem kep x=',-b/(2*a):3:1);
end;
{--------------------}
Procedure delta_am;
begin
writeln('Phuong trinh vo nghiem');
end;
{Chuong trinh chinh}
Begin
clrscr;
write('Nhap a: ');readln(a);
write('Nhap b: ');readln(b);
write('Nhap c: ');readln(c);
delta:=b*b-4*a*c;
if delta>0 then delta_duong
else if delta = 0 then delta_khong
else delta_am;
readln
end.
Câu trả lời của bạn
Program Giai_thua_Ham;
uses crt;
var n: longint;
Function Giai_Thua(n:longint):longint;
Var GT:Longint;
begin
GT:=1;
while n > 0 do
begin
GT:=GT * n;
n:=n-1;
end;
Giai_thua:=GT;
end;
begin
clrscr;
write('Nhap n: '); readln(n);
write(n,'!=',Giai_thua(n));
readln
end.
- Nếu người dùng nhập số n < 0 thì yêu cầu nhập lại.
- Sử dụng chương trình con để tính giai thừa của một số.
n! = 1 nếu n = 0;
n! = 1.2.3.4.5...n (Tích của n thừa số).
Câu trả lời của bạn
Program CTC_2;
uses crt;
var n:integer;x:longint;
Procedure Giai_Thua(var GT:longint; n:byte);
begin
GT:=1;
while n>0 do
begin
GT:=GT*n;
n:=n-1;
end;
end;
begin
repeat
clrscr;
write('Nhap so n: ');readln(n);
if n < 0 then begin write('Nhap so n>=0');readln; end;
until n>=0;
Giai_Thua(x,n);
writeln('Giai thua cua ',n,'la:',x);
readln
end.
Câu trả lời của bạn
Program Rut_gon_phan_so;
uses crt;
var tu,mau:integer;
Function UCLN(a,b:integer):integer;
var r: integer;
begin
r:= a mod b;
while r <> 0 do
begin
a:= b;
b:= r;
r:=a mod b;
end;
UCLN:=b;
end;
begin
clrscr;
write('Nhap tu: '); readln(tu);
write('Nhap mau: '); readln(mau);
write('Ket qua rut gon: ',tu,'/',mau,'=',tu div UCLN(tu,mau),'/',mau div UCLN(tu,mau));
readln
end.
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 *