Tin học [Pascal] Viết chương trình

0938652131

Học sinh mới
Thành viên
13 Tháng ba 2018
24
14
6
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

1) Viết chương trình nhập vào 1 số nguyên n. Cho bik n có phải là số nguyên tố hay không?
2) Viết chương trình nhập vào 1 dãy số A có 15 phần tử. Tính và xuất tổng của 15 phần tử đã nhập.
3) Viết chương trình nhập vào 1 số nguyên dương n. Xuất bảng nhân tương ứng với số n đã nhập.​
 

ledoanphuonguyen

Học sinh tiến bộ
Thành viên
5 Tháng năm 2017
1,986
1,515
294
1) Viết chương trình nhập vào 1 số nguyên n. Cho bik n có phải là số nguyên tố hay không?
Bạn tự xét trường hợp số nguyên n âm nhé, lúc đó xuất ra là nó không phải số nguyên tố
Còn trường hợp số nguyên dương thì dùng câu lệnh
Ủa mà khoan, đây là Pascal hay là C++? :D Những câu lệnh bạn đã học là gì, bạn liệt kê ra để mình làm cho đúng nha.
 

Sơn Nguyên 05

Banned
Banned
Thành viên
26 Tháng hai 2018
4,478
4,360
596
Hà Tĩnh
MT
1) Viết chương trình nhập vào 1 số nguyên n. Cho bik n có phải là số nguyên tố hay không?
2) Viết chương trình nhập vào 1 dãy số A có 15 phần tử. Tính và xuất tổng của 15 phần tử đã nhập.
3) Viết chương trình nhập vào 1 số nguyên dương n. Xuất bảng nhân tương ứng với số n đã nhập.​
Câu 1: program nto;
var x,k,i:integer;
function ucln(a,b:integer):integer;
begin
while a<>b do
if a>b then a:=a-b else b:=b-a;
ucnl:=a;
end;
begin
write( 'nhap vao so x:' );
readln(x);
k:=1;i:=1;
while( (i(x) and (k=1) ) do
begin
k:=ucln(x,i);
i:=i+1;
end;
if k:=1 then write ( ' x nto' ) else write( ' x ko nto' );
readln;
end.

Bạn tự xét trường hợp số nguyên n âm nhé, lúc đó xuất ra là nó không phải số nguyên tố
Còn trường hợp số nguyên dương thì dùng câu lệnh
Ủa mà khoan, đây là Pascal hay là C++? :D Những câu lệnh bạn đã học là gì, bạn liệt kê ra để mình làm cho đúng nha.
Pascal bạn ơi!
 
Last edited by a moderator:

ka1412

Học sinh chăm học
Thành viên
24 Tháng mười một 2017
874
730
121
Hà Nội
CNN | Life
Câu 1: program nto;
var x,k,i:integer;
function ucln(a,b:integer):integer;
begin
while a<>b do
if a>b then a:=a-b else b:=b-a;
ucnl:=a;
end;
begin
write( 'nhap vao so x:' );
readln(x);
k:=1;i:=1;
while( (i(x) and (k=1) ) do
begin
k:=ucln(x,i);
i:=i+1;
end;
if k:=1 then write ( ' x nto' ) else write( ' x ko nto' );
readln;
end.
Mình nghĩ thế này nhanh hơn:
HTML:
uses crt;
var n,i:integer;
k:boolean;
begin
    clrscr;
    k := true;
    write('Nhap n:');readln(n);
    if n<=1 then k:=false;
    for i:=2 to trunc(sqrt(n)) do
    if n mod i=0 then k:=false;
    if k=true then write(n,' la so nguyen to') else write(n,' khong la so nguyen to');
    readln
end.
 

ka1412

Học sinh chăm học
Thành viên
24 Tháng mười một 2017
874
730
121
Hà Nội
CNN | Life
Câu 1
program nto;
var x,k,i:integer;
function ucln(a,b:integer):integer;
begin
while a<>b do
if a>b then a:=a-b else b:=b-a;
ucnl:=a;
end;
begin
write( 'nhap vao so x:' );
readln(x);
k:=1;i:=1;
while( (i(x) and (k=1) ) do
begin
k:=ucln(x,i);
i:=i+1;
end;
if k:=1 then write ( ' x nto' ) else write( ' x ko nto' );
readln;
end.
Câu 2
Dãy A có thể tồn tại phần tử có giá trị bằng K, tuy nhiên cũng có thể không tồn tại phần tử nào có giá trị bằng K. Vì vậy output của bài toán có thể là một trong hai trường hợp trên.
Ý tưởng thuật toán:
Lần lượt xét các phần tử thứ i của dãy A bắt đầu từ phần tử đầu tiên. Ta tiến hành kiểm tra phần tử đó có giá trị bằng K không. Nếu A bằng K thì ta kết thúc việc tìm kiếm và đưa ra vị trí i, ngược lại, ta tiếp tục kiểm tra phần tử tiếp theo cho đến hết dãy nếu không có A nào bằng K.
Đoạn chương trình xử lý:
i:=1;
while (A<>K) and (i<=N) do i:=i+1;
if A=K then writeln(‘Vi tri phan tu co gia tri bang ‘,K, ‘ la:’,i)
else writeln(‘Khong co phan tu nao trong day co gia tri bang ‘, K);
+ Một cách tổng quát: Ta có thể khái quát Thuật toán giải bài toán tìm kiếm phần tử đầu tiên của dãy thỏa một điều kiện nào đó như sau:
i:=1;
while (A <chưa thỏa đk tìm kiếm>) and (i<=N) do i:=i+1;
if A <thỏa đk tìm kiếm> then
writeln(‘Vi tri phan tu dau tien cua day A thoa dk tim kiem la: ‘, i)
else write(‘Day A khong co phan tu nao thoa dk tim kiem’);
Ví dụ: Bài toán Tìm số nguyên âm đầu tiên của dãy sẽ có thuật toán như sau:
i:=1;
while (A>=0) and (i<=N) do i:=i+1;
if A<0 then writeln(‘Vi tri phan tu am dau tien cua day la:’,i)
else writeln(‘Day A khong co phan tu co gia tri am’);
Bài toán mở rộng: Tìm phần tử âm nhỏ nhất trong dãy(đây là bài toán kết hợp 2 bài toán tìm phần tử nhỏ nhất và bài toán tìm kiếm)
Chẳng hạn cho dãy A: 2 -1 6 -5 3 -2 thì phần tử âm nhỏ nhất trong dãy là A[4]=-5.
Câu 3
B2 đâu phải thế bạn.
 
  • Like
Reactions: Nhók PaPy

ka1412

Học sinh chăm học
Thành viên
24 Tháng mười một 2017
874
730
121
Hà Nội
CNN | Life
Nhưng k phải như thế
 
Top Bottom