Chuyển đến nội dung chính

Mảng 1 chiều


Bài 1:  Cho tam giác ABC  có chiều dài 3 cạnh lần lượt là a,b,c ; 0<a,b,c<10
Hãy tìm các giá trị  a,b,c sao cho tạo thành một tam giác vuông
Thỏa mãn  a+b>c ; a+c>b và b+c>a thì là tam giác
  C^2=a^2+b^2

Chuyên đề: Mảng 1 chiều (làm việc với dãy số)
Ví dụ:  nhập vào các số có giá trị như sau

Giá trị  mảng A
1
4
8
9
6
8
4
3
Vị trí: i
1
2
3
4
5
6
7
8
Lấy giá trị
A[1]=3
 A[2]=4
A[3]=8
A[4]=6
A[5]=9
A[6]=8
A[7]=4
A[8]=1

Khai báo mảng
Var  A :array[1..50] of  integer; {khai báo mảng A là mảng gồm 50 số nguyên}





1
2
3
….
50

Bài toán  Nhập vào từ bàn phím N số nguyên  (0<n<256)  tính
  1. Tìm số lớn nhất  trong các số vừa nhập
  2. Tìm số nhỏ nhất các số vừa nhập
  3. Tính tổng tất cả các số vừa nhập
Uses crt;
Var  a:array[1..100] of integer;
       I, s, max, min,n: integer;

Begin
  Write(‘Ban muon nhap bao nhieu so:’); readln(N);
{nhap n so vao mang}
For i:=1 to N do 
                        Begin
                        Write(‘nhap phan tu thu ’, I); readln(a[i]);
                        End;
{tim so lon nhat, nho nhat}
Max:=a[1]; min:=a[1];
For i:=1 to N do
 Begin
If  max < a[i] then max:=a[i];
If min > a[i] then min:=a[i];
End;
Writeln(‘so lon nhat la:’,max);
Writeln(‘so nho nhat la:’,min);


{Tinh tong}
S:=0;
For i:=1 to N do s:=s+a[I];
Writeln(‘Tong cac so la:’,s);
{sap xep day so theo thu tu tang dan}
For i:=1 to n-1 do
 For j:=i+1 to n do
    If a[i] < a[j] then   begin
                                    Temp:=a[i];  a[i]:=a[j]; a[j]:=temp;
                                    End;
{in ra man hinh  cac gia tri cua mang}
For i:=1 to n do   Writeln(‘gia tri a[’,I,’]=’, a[i]);


Readkey;
End.
 {Đề thi hsg cấp huyện 2014-2015}
Bài 3. Viết chương trình nhập từ bàn phím dãy số thực co N phần tử (1<N<100). hãy in ra màn hình
a. dãy số ban đầu đã nhập
b. dãy số đã sắp xếp lại. biết sắp xếp các phần tử theo nguyên tắc sau: a[1] đổi chỗ cho a[n], a2 đổi chỗ cho an-1,....
INPUT
OUTPUT
-9.10 -9.11 3.20 3.19
Dãy số ban đầu đã nhập: -9.10 -9.11 3.20 3.19
Day so da sap xep lai: 3.20 3.19 -9.11 -9.10


Uses crt;
Var  a:array[1..100] real;
       I, s, max, min,n: integer;

Begin
{nhap so n}
  Write(‘Ban muon nhap bao nhieu so:’); readln(N);
{nhap n so vao mang}
For i:=1 to N do 
                        Begin
                        Write(‘nhap phan tu thu ’, I); readln(a[i]);
                        End;
{in ra man hinh  cac gia tri cua mang}
Write(‘Day so ban dau da nhap:’)
For i:=1 to n do   Write( a[i], ‘ ’);
{sap xep lai a[1] doi cho a[n]}
For i:= 1 to n div 2  do
Begin
   J:=n-i+1;
   Temp:=a[i];       a[i]:=a[j];      a[j]:=temp;
End;
{in ra man hinh  cac gia tri cua mang}
Write(‘day so da sap xep lai:’);
For i:=1 to n do   Write( a[i], ‘ ’);
Readkey;
End.








Nhận xét

Bài đăng phổ biến từ blog này

DÃY ĐAN DẤU TRONG PASCAL

DÃY ĐAN DẤU TRONG PASCAL Dãy đan dấu là dãy không có 2 phần tử cạnh nhau có dấu giống nhau. ví dụ: -2 4 -9 5 -23 8 là dãy đan dấu Thủ tục kiểm tra dãy đan dấu trong dãy số: procedure dandau; var i,j:integer;     kt:boolean; begin kt:=true; for i:=1 to N-1 do                 begin                 j:=i+1;                 if a[i] *a[j] >0 then kt:=false;                 end; If kt=true then write('Day A la day dan dau') else write('Day A khong phai day dan dau'); end;

Tam giác số (Pascal)

TAM GIÁC SỐ  (Câu 4. Hội thi Tin Học Trẻ Phú Yên lần thứ XIX - năm 2016)                              7                          3       8                      8      1       0                   2     7        4       4                 4    5      2       6       5 Cho một tam giác gồm các số nguyên không âm (xem hình trên). Hãy viết chương trình tính tổng lớn nhất của các số nằm trên lộ trình từ đỉnh xuống: - Tại mỗi bước đi, lộ trình có thể đi xuống phía bên trái hoặc xuống phía bên phải. - Số hàng trong tam giác lớn hơn...

VÒNG LẶP KHÔNG XÁC ĐỊNH WHILE..DO; REPEAT .. UNTIL

VÒNG LẶP KHÔNG XÁC ĐỊNH  WHILE..DO; REPEAT .. UNTIL - Vòng lặp While..do While <điều kiện > Do  <câu lệnh>; Câu lệnh sau do được thực hiện khi điều kiện được thỏa mãn (điều kiện =true); vòng lặp kết thúc khi điều kiện không thỏa (điều kiện =false) - Vòng lặp Repeat .. until; Repeat <câu lệnh>; Until <điều kiện>; Lặp lại câu lệnh cho đến khi nào  thỏa mãn điều kiện  (điều kiện =true) thì dừng lại;  Bài tập: Nhập vào một số nguyên A thỏa mãn (0<A<100), Tính tổng các số nguyên từ 1 đến A (S=1+2+...+A). Vận dụng câu lệnh While .. do uses crt; var A,I:  Integer; S:longint; begin          a:=0;          while not ((a>0) and (a<100)) do          begin          write('Nhap gia tri cua A:'); read(A);           end;          s:=0...