Tin học tin học trẻ

thuongloan1697

Học sinh chăm học
Thành viên
25 Tháng tám 2017
217
248
76
Kiên Giang
[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 tìm số lớn nhất, nhỏ nhất của ba số nguyên nhập từ bàn phím
2. Cho dãy số 2,3,5,7,... Viết chương trình in ra màn hình số thứ n trong dãy số trên, với n nhập từ bàn phím.
3. Viết chương trình nhập vào một dãy số nguyên dương với số phần tử n nhập từ bàn phím. In ra màn hình dãy số sau khi sắp xếp các số lẻ đầu dãy số theo thứ tự tăng dần, các số chẵn ở cuối dãy số theo thứ tự giảm dần.
4. Viết chương trình cộng hai số nguyên dương không vượt quá 254 chữ số.
 

trà nguyễn hữu nghĩa

Cựu Mod Vật Lí |Cây bút Thơ|Thần tượng VH
Thành viên
14 Tháng năm 2017
3,974
7,627
744
22
Phú Yên
Trường THPT Lương Văn Chánh
1.Viết chương trình tìm số lớn nhất, nhỏ nhất của ba số nguyên nhập từ bàn phím
2. Cho dãy số 2,3,5,7,... Viết chương trình in ra màn hình số thứ n trong dãy số trên, với n nhập từ bàn phím.
3. Viết chương trình nhập vào một dãy số nguyên dương với số phần tử n nhập từ bàn phím. In ra màn hình dãy số sau khi sắp xếp các số lẻ đầu dãy số theo thứ tự tăng dần, các số chẵn ở cuối dãy số theo thứ tự giảm dần.
4. Viết chương trình cộng hai số nguyên dương không vượt quá 254 chữ số.
Câu nào vậy bạn :D
 
  • Like
Reactions: thuongloan1697

vnjk

Banned
Banned
17 Tháng tư 2018
208
326
66
20
An Giang
THCS Quản Cơ Thành
Câu 1. uses crt;
var max,min:longint;
a: array[1..3] of longint;
begin
clrscr;
for i:=1 to 3 do
begin
write ('PT ',i,'= '); readln(a);
end;
max:=a[1]; min:=a[1];
for i:=1 to 3 do
begin if a>max then max:=a;
if a<min then min:=a;
end;
.................................khúc sau tự làm nha, lười quá
 

trà nguyễn hữu nghĩa

Cựu Mod Vật Lí |Cây bút Thơ|Thần tượng VH
Thành viên
14 Tháng năm 2017
3,974
7,627
744
22
Phú Yên
Trường THPT Lương Văn Chánh
Câu 4 trước đi ha,làm từ dưới lên:
Ý tưởng bài này là đọc vào kiểu string rồi chuyển từng ký tự thành integer rồi cộng từ sau tới trước, nếu có nhớ thì lưu giá trị vào biến nho.
Mã:
l := length(s1) - 1;
if length(s2) > length(s1) then l := length(s2) - 1;
for i := 1 to l do
begin
          Val(s1[length(s1) - i,i1,code);
          if i > length(s1) then i1 := 0;
          Val(s2[length(s2) - i,i2,code);
          if i > length(s2) then i2 := 0;
          tong := i1 + i2 + nho;
          if tong >= 10 then
          begin
                    nho := tong div 10;
                    tong := tong mod 10;
          end
          else nho := 0;
          Str(tong,st);
          kq := st + kq;
end;
Mình chỉ viết cái main thôi nhá, phần còn lại bạn tự lo :D
 

nguyen tran thanh nha

Học sinh chăm học
Thành viên
10 Tháng sáu 2018
107
53
61
21
Bà Rịa - Vũng Tàu
thcs kim long
t:= 1; d:=1;
for i:= 1 to n do
begin
read(x);
if x mod 2= 0 then begin a[t]:= x; t:= t+1;end
else begin b[d]:= x; d:= d+1;end;
end;
for i:= 1 to t-1 do
for j:= i+1 to t do
if a<a[j] then
begin
e:= a;
a:= a[j]; a[j]:= e;
end;
for i:= 1 to d-1 do
for j:= i+1 to d do
if b>b[j] then
begin
e:= b;
b:= b[j]; b[j]:= e;
end;
for i:= 1 to d do write(b,' ');
for j:= 1 to t do write(a[j],' ');
đây là cái ruột còn phần đầu và end.
ý tưởng bài này là chia ra hai mảng lẻ và chãn rồi sắp xếp rồi in lẻ ra trướ chẵn ra sau
 

quangkhai2811

Học sinh tiến bộ
Thành viên
27 Tháng hai 2015
637
30
156
Câu 2 thì ý tưởng quá rõ ràng rồi =]] số thứ n sẽ có dạng 2n+1, đề không rõ miền dữ liệu, tạm thời mình sẽ làm trên tập integer
var n:integer;
begin
readln(n);
writeln(2*(n-1)+1);
readln
end.
Câu
 
Last edited:
  • Like
Reactions: thuongloan1697

quangkhai2811

Học sinh tiến bộ
Thành viên
27 Tháng hai 2015
637
30
156
Câu 3 thì ngoài cách như trên thì mình nghĩ đến hướng khác, không sử dụng mảng trung gian để lưu vì đề chỉ yêu cầu xuất ra màn hình.
Ý tưởng: - Đọc giá trị các phần tử mảng
- Sắp xếp thứ tự tăng dần
For i:=1 To N-1 Do
For j:=i+1 To N Do
If A>A[j] Then
Begin
Tam:=A; A:=A[j]; A[j]:=Tam;
End;

- Xử lí in màn hình
+ In các số lẻ tăng dần, sử dụng vòng lặp for i:=1 to n do If (a mod 2 <> 0) then write(a,' ');
+ In các số chẵn giảm dần Sử dụng vòng lặp for i:=n downto 1 do If (a mod 2 = 0) then write(a,' ');
 
  • Like
Reactions: thuongloan1697

quangkhai2811

Học sinh tiến bộ
Thành viên
27 Tháng hai 2015
637
30
156
Câu 4 của mình về ý tưởng thì cũng tương tự như bài trên khác một tí ở đoạn xử lí dữ liệu số thoai
function add(a,b : string): string;
var sum, carry, i, x, y : integer;
c : string;
begin
carry:=0;c:='';
while length(a)<length(b) do a:='0'+a;
while length(b)<length(a) do b:='0'+b;
for i:=length(a) downto 1 do
begin
x:= ord(a)-ord('0'); {ord('0')=48}
y:= ord(b)-ord('0');
sum:=x + y + carry;
carry:=sum div 10;
c:=chr(sum mod 10 +48)+c;
end;
if carry>0 then c:='1'+c;
add:=c;
end;
 

Bùi Thành Công

Học sinh
Thành viên
23 Tháng bảy 2018
87
58
31
20
Nam Định
Thcs Giao Thủy
1.Viết chương trình tìm số lớn nhất, nhỏ nhất của ba số nguyên nhập từ bàn phím
2. Cho dãy số 2,3,5,7,... Viết chương trình in ra màn hình số thứ n trong dãy số trên, với n nhập từ bàn phím.
3. Viết chương trình nhập vào một dãy số nguyên dương với số phần tử n nhập từ bàn phím. In ra màn hình dãy số sau khi sắp xếp các số lẻ đầu dãy số theo thứ tự tăng dần, các số chẵn ở cuối dãy số theo thứ tự giảm dần.
4. Viết chương trình cộng hai số nguyên dương không vượt quá 254 chữ số.
Câu 2 thì ý tưởng quá rõ ràng rồi =]] số thứ n sẽ có dạng 2n+1, đề không rõ miền dữ liệu, tạm thời mình sẽ làm trên tập integer
var n:integer;
begin
readln(n);
writeln(2*(n-1)+1);
readln
end.
Câu

theo mk nghĩ thì bài này là dãy số nguyên tố:

var n,i:longint;
snt:int64;
function nto(n:int64):boolean;
var j:int64;
begin nto:=true; j:=1;
while j<=trunc(sqrt(n)) do
begin
if n mod j then exit(false);
inc(j);
end;
end;
BEGIN
readln(n);
if n=1 then write(2) else begin
snt:=1; i:=1;
while i<n do
begin snt:=snt+2;
if nto(snt) then inc(i);
end;
write(snt);
end;
END.
 
Top Bottom