Tin học Lập trình Pascal !

D

duynhan1

odd là hàm xét tính LẺ của 1 số, cho true nếu giá trị là lẻ, ví dụ i=3, odd(i) cho giá trị true;
inc(i) là thủ tục gán giá trị biến i tương ứng với giá trị đứng sau nó trong bảng mã ascII , ví dụ i:=2, sau khi thực hiện inc(i); i sẽ có giá trị là i=3

succ mới cho giá trị đứng sau cậu à.
inc(i,a) tăng biến i lên a đơn vị, nếu không có a biến i sẽ được tăng lên 1 đơn vị.

exit(a): Thoát khoải hàm và gán giá trị a cho hàm.
 
V

vanhaipro

Inc(i,a) cũng cho giá trị đứng sau a vị trí trong ASCII mà
INC là thủ tục còn SUCC là hàm
theo mình nghĩ là vậy ^^
 
V

vanhaipro

à ừ không, mình nói với kiểu char thôi, còn INC với kiểu INT thì tăg đơn vị, hì hì
 
T

thuyhoa17

Bài này theo mình nghĩ là lấy dữ liệu từ file chứ đâu có nhập vào

Var A: integer;
f1,f2: text;
dem: byte;
begin
Assign(f1,'Dulieu.txt');
Reset(f1);
Assign(f2,'Ketqua.txt');
Rewrite(f2);
dem:=0;
While not eof(f1) do
begin
read(f1,A);
If not(odd(A)) then inc(dem);
end;
write(f2,A);
close(f1);
close(f2);
end.
ớ, thì tớ đọc từ f1 và ghi vào f2 mà? ;;)
 
V

vinh001

Mấy anh chị ơi cho em hỏi

lúx em down pascal về òi chạy chương trình nhưng nó lại hiện lên bảng " 16 bit MS-DOS Subsystem " là sao vậy mấy anh chị ?
Ở dưới còn có dòng " Invalid startup directory, please check your pif file. Choose 'close' to terminate the application"
 
H

hoangha8394

odd là hàm xét tính LẺ của 1 số, cho true nếu giá trị là lẻ, ví dụ i=3, odd(i) cho giá trị true;
inc(i) là thủ tục gán giá trị biến i tương ứng với giá trị đứng sau nó trong bảng mã ascII , ví dụ i:=2, sau khi thực hiện inc(i); i sẽ có giá trị là i=3


Bạn giải thích cái odd thì đúng oy`.Còn cái inc thì sai bét oy`,inc(a,b) là tăng a lên b đơn vị,tương đương a:=a+b;

 
B

bachoc9x

Đây là một bài nửa:
Tìm UCLN của N số nguyên dương a1, a2,...an nhập từ bàn phím

PHP:
  Var  A:array[1..100] of word;
       i1,i,j,d,UCLN,n:word;
  Begin
   Write('Nhap n: ');readln(n);
   i1:=1;
   For i:=1 to n do
    Begin
     Write('Nhap so thu ',i,': ');readln(a[i]);
     If A[i1]>A[i] then
          i1:=i;
    End;
   For i:=1 to A[i] do
    Begin
      d:=0;
      For j:=1 to n do
        If A[j] mod i=0 then
            inc(d);
      If d=n then UCLN:=i;
    End;
   Write('UCLN cua cac so da nhap la: ',UCLN);
   readln;
  End.
 
Last edited by a moderator:
T

thai_tin

Sao lại hàm tongchan tính tổng các số lẻ? mà lại không viết hàm tongle.
function TONGLE(N:integer):integer;
var i,s:integer;
begin
s:=0;
for i:=1 to n do
if i mod 2 <> then s:=s+i;
Tongle:=s;
end;
 
H

hoangha8394

Sao lại hàm tongchan tính tổng các số lẻ? mà lại không viết hàm tongle.
function TONGLE(N:integer):integer;
var i,s:integer;
begin
s:=0;
for i:=1 to n do
if i mod 2 <> then s:=s+i;
Tongle:=s;
end;

Cái này thì người ta thích đặt tên thế nào thì đặt,chả sao cả =)).Thích thì đặt là nhânlẻ nhânchẵn.thế nào chả đfc,quan trọng là cái kết quả thui :))
 
T

thai_tin

Cái do là sai đường dẫn của thủ mục lam việc của turbo pascal thui.
có 2 hướng khắc phục:
1. Vào thư mục TP/ sau đó chạy file
2. Nếu đưa shortcut ra màn hình nên thì nháy chuột phải/ chọn properties.
+ Nếu để thu mục Tp o đâu thi sửa đường dẫn dúg như thế trong mục:
vd:
Cmdline: D:\TP7\TURBO.EXE
working: D:\TP7
 
D

duynhan1

Tìm số nguyên tố bằng sàng eratosthene là sao các pro?
PHP:
{Chuong trinh liet ke cac so nguyen to <= n ( n>=3) cac TH con lai tu xu li ^^}

Var 
  d,n,m,i:integer;
  a:array[1..1000] of integer;

Function Check(k):boolean;
Var i:integer;
Begin 
For i:=1 to d do 
  If k mod i=0 then exit(False);

Check:=True;
End;

Begin
a[1]:=2;
d:=1;
Readln(n);
m:=3;
While m<=n do 
  Begin
   If Check(m) do 
      Begin
         inc(d);
         a[d]:=m;
      End;
 inc(m,2);
End;
For i:=1 to d do Write(a[i]:5);
End.
 
T

thai_tin

khi các pro trả lòi cô gắng đưa ra ý tương của cách giải là tốt nhất, vì code thì có rất nhiều ơ các sách. quan trong là ý tưởng để thực hiện. Các pro giai thich hộ Khoá của phần tử là gì?
 
D

duynhan1

khi các pro trả lòi cô gắng đưa ra ý tương của cách giải là tốt nhất, vì code thì có rất nhiều ơ các sách. quan trong là ý tưởng để thực hiện. Các pro giai thich hộ Khoá của phần tử là gì?

Với các chương trình đơn giản thì mình nghĩ bạn nên tự tìm hiểu, khi nào dùng cấu trúc dữ liệu đặc biệt nào đó thì mình nghĩ mới cần nêu thuật toán.
 
C

cobe_xauxi_ngungoc

______________________________________________________________________________________________________________________________________________________________________________________________
 
Last edited by a moderator:
B

bachoc9x

Em thi xong lâu rùi mà vẫn ko làm dc bài này ai giúp:

Một số nguyên dương dc gọi là đối xứng trong hệ cơ số g(2<=g<=16) nếu như khi số đó từ phải sang trái ta cũng dc kết quả giống khi đọc trái sang phải. VD 1991 là số đối xứng trong hệ cơ số 10, còn số 17 ko phải đối xứng trong hệ cơ số 10 nhưng là đối xứng trong hệ 2,4,6 vì 17=10001(2)=101(4)=11(16)
Cho số nguyên dương N. Hãy cho biết N có là số đối xứng với hệ cơ số g nào đó hay ko, khi đó hãy chỉ ra và viết N trong hệ cơ số g tìm dc

Dữ liệu vào: cho trong File DOIXUNG.INP gồm 1 số dòng(số dòng ko vượt quá 10), mỗi dòng ghi 1 số nguyên dương N trong hệ cơ số 10
Kết quả: Ghi ra File DOIXUNG.OUT gồm 1 số dòng, mỗi dòng ghi số nguyên dương N mà nó đối xứng với hệ cơ số g cùng cách biểu diễn số N trong hệ cơ số g tương ứng với N đọc từ File như VD sau đây

VD
DOIXUNG.INP
17
23

DOIXUNG.OUT
17=10001(2)
17=101(4)
17=11(16)
23=212(3)
 
D

duynhan1

Một số nguyên dương dc gọi là đối xứng trong hệ cơ số g(2<=g<=16) nếu như khi số đó từ phải sang trái ta cũng dc kết quả giống khi đọc trái sang phải. VD 1991 là số đối xứng trong hệ cơ số 10, còn số 17 ko phải đối xứng trong hệ cơ số 10 nhưng là đối xứng trong hệ 2,4,6 vì 17=10001(2)=101(4)=11(16)
Cho số nguyên dương N. Hãy cho biết N có là số đối xứng với hệ cơ số g nào đó hay ko, khi đó hãy chỉ ra và viết N trong hệ cơ số g tìm dc

Dữ liệu vào: cho trong File DOIXUNG.INP gồm 1 số dòng(số dòng ko vượt quá 10), mỗi dòng ghi 1 số nguyên dương N trong hệ cơ số 10
Kết quả: Ghi ra File DOIXUNG.OUT gồm 1 số dòng, mỗi dòng ghi số nguyên dương N mà nó đối xứng với hệ cơ số g cùng cách biểu diễn số N trong hệ cơ số g tương ứng với N đọc từ File như VD sau đây

VD
DOIXUNG.INP
17
23

DOIXUNG.OUT
17=10001(2)
17=101(4)
17=11(16)
23=212(3)

Mã:
Function Kiemtra(a,b:longint):boolean;
Var x, y, t: longint;
Begin
If a<b then exit(TRUE);
y:=a mod b;
x:=a;
t:=1;
While x>=b do
   Begin
     x:=x div b;
     t:=t*b;
   End;
If x<>y then Exit(False) else kiemtra:=kiemtra((a-y) div b-x*t,b);
End;

Đây là hàm kiểm tra tính đối xứng của 1 số trong 1 hệ cơ số !
 
Top Bottom