lovelink117

Nguyễn Nhật Vĩnh

Đóng góp: 1

Ngày sinh: 04/05/2000

Đăng ký: 04/08/2015

Lần đăng nhập cuối: 15/04/2016


Kết nối tài khoản

VOJ: Chưa kết nối

Free Pascal - Tin học 11

Bài tập

Lập trình

-Nhập từ bàn phím số nguyên N\(1\leq N\leq 40\)) và các tọa độ đỉnh (xi,yi) của một đa giác lồi N cạnh (\(1\leq i\leq N\),xi,yi - nhận giá trị thực).

- Xác định tọa độ đỉnh trên trái và dưới phải của hình chữ nhật thỏa mãn các điều kiện:

+Các cạnh song song với các trục tọa độ;

+Chứa đa giác lồi đã cho;

+Có diện tích nhỏ nhất

- Đưa ra màn hình các tọa độ tìm được với 3 cs sau dấu thập phân).

Lưu ý: Hcn và tọa độ của các điểm chỉ xét trên góc phần tư thứ I

Free Pascal - Tin học 11

program bt;
const fin='tich.inp';
      fout='tich.out';
var A:array[1..100] of word;
    n,i,t,s:integer;
    f1,f2:text;
procedure Nhap;
         begin
              assign(f1,fin);
              reset(f1);
              readln(f1,n);
              for i:=1 to n do read(f1,A[i]);
              close(f1);
         end;
function tich:integer;
        begin
        t:=0;
        for i:=1 to n do
           if (A[i] mod 2)<>0 then t:=t+1;
        s:=1;
        if (t<1) then s:=0 else
          begin
               for i:=1 to n do
                 if (A[i] mod 2)<>0 then s:=s*A[i];
          end;
        tich:=s;
        end;
procedure Xuat;
         begin
              assign(f2,fout);
              rewrite(f2);
              writeln(f2,tich);
              close(f2);
         end;
begin
Nhap;
Xuat;
end.

Inp 

5

1 2 5 7 11

Mn xem cái code của mình có gì sai không , 

Đề là tính tích những số lẻ trong dãy , nếu không có sl thì trả gt về 0

Free Pascal - Tin học 11

program timmax;
const fin='dayso.inp';
      fout='dayso.out';
var A:array[1..10000] of integer;
    i,n:integer;
    f1,f2:text;
procedure Nhap;
          begin
               assign(f1,fin);
               reset(f1);
               readln(f1,n);
               for i:=1 to n do read(f1,A[i]);
               close(f1);
          end;
function max:integer;
         var b:integer;
          begin
               b:=A[1];
               for i:=2 to n do
                 begin
                   if b<A[i] then b:=A[i];
                 end;
               max:=b;
          end;
procedure Xuat;
          begin
               assign(f2,fout);
               rewrite(f2);
               write(f2,max);
               close(f2);
          end;
begin
Nhap;
Xuat;
end.

file inp em có nhập 

6

21 23 12 14 10 4

Nhưng nó hiện ra lỗi

Program d:/timmax/max.exe

exited with 

exit code =2 

Cho em hỏi là lỗi gì v ?

Free Pascal - Tin học 11

Trong bài tập 3.35 sbt tin 11 có đoạn tìm max và min của hàm f(x)=x^3+2x^2-4x+1 và giải thì sách viết
clrscr;
write('a,b= ');readln(a,b);
n:=0;
while n<=0 do
begin
write('n= ');readln(n);
if n<=0 then writeln('n phai >0');
end;
h:=(b-a)/n;
max:=-maxint;
min:=maxint;
for i:=0 to n do
begin
x:=a+i*h;
fx:=((x+2)*x-4)*x+1;
if fx>max then max:=fx;
if fx<min then min:=fx;
end;
writeln('a) Max = ',max:7:3,' ; Min = ',min:7:3);
readln
end.
Khi chạy nếu nhập a=5;b=9 và n=3 đúng ra kq max=856 còn min=156 nhưng khi ở lệnh gán
max:=-maxint;
min:=maxint;
for i:=0 to n do
begin
x:=a+i*h;
fx:=((x+2)*x-4)*x+1;
if fx>max then max:=fx;
if fx<min then min:=fx
Hình như mình thấy min=max=f(x) ??