tháng 4 2021

Dãy Fibonaci theo công thức: F1 = F2 = 1; Fn = Fn-1 + Fn-2

Viết chương trình Pascal nhập số nguyên N. Thực hiện các yêu cầu sau:

+ Xuất dãy số Fibonaci ra màn hình.

+ Xuất dãy Fibonaci theo thứ tự ngược lại.

+ Nhập số k từ bàn phím và cho biết số thứ k trong dãy Fibonaci là số mấy?

CODE THAM KHẢO:

program Fibonaci;

uses crt;

var f:array[1..1000] of integer;

    n,i,k:integer;

begin 

    clrscr;

    write('Nhap N = ');readln(n);

    f[1]:=1;f[2]:=f[1];

    for i:=3 to n do f[i]:=f[i-2]+f[i-1];

    write('Day Fibonaci: ');

    for i:=1 to n do write(f[i],' ');writeln;

    write('Day Fibonaci nguoc: ');

    for i:=n downto 1 do write(f[i],' ');writeln;

    write('Nhap K = ');readln(k);

    if k>n then for i:=n+1 to k do f[i]:=f[i-2]+f[i-1];

    write('So thu ',k,' trong day Fibonaci la: ',f[k]);

    readln;

end.



Viết chương trình nhập hai số tự nhiên N, M và thông báo 'Dung' nếu N, M cùng tính chẵn lẻ, trong trường hợp ngược lại thì thông báo 'Sai'.

CODE THAM KHẢO:

program Tinh_chan_le; uses crt; var n,m:integer; begin clrscr; write('Nhap N = ');readln(n); write('Nhap M = ');readln(m); if (odd(n)=odd(m)) or (odd(n+1)=odd(m+1)) then writeln('Dung') else writeln('Sai'); readln; end.




Cho tập hợp S có N phần tử nguyên dương {s1, s2,…, sN}.

(1 ≤ N ≤ 32000; 0 < si ≤ 32000; 1 ≤ i ≤ N)
Yêu cầu: Hãy liệt kê các phần tử trong S có số lần xuất hiện lớn hơn một lần.
Dữ liệu vào: Cho trong file văn bản TANSUAT.INP có cấu trúc như sau:
    - Dòng 1: Ghi số nguyên dương N.
    - Dòng 2: Ghi N số nguyên dương là giá trị các phần tử của tập hợp S, các số được ghi cách nhau ít nhất một dấu cách.
Dữ liệu ra: Ghi ra file văn bản TANSUAT.OUT trên nhiều dòng, dòng thứ i ghi 2 số si di, hai số cách nhau một dấu cách. Trong đó si là phần tử xuất hiện trong S lớn hơn một lần và di tương ứng là số lần si xuất hiện.
Ví dụ:
TANSUAT.INP
7
2 5 5 3 5 3 9
TANSUAT.OUT
3 2
5 3

CODE THAM KHẢO:
const fi='tansuat.inp'; fo='tansuat.out'; var f1,f2:text; a:array[1..16000] of word; d:array[1..32000] of word; n,i,j,k:word; begin assign(f1,fi); reset(f1); readln(f1,n); assign(f2,fo); rewrite(f2); for i:=1 to n do begin read(f1,k); inc(d[k]); if d[k]=2 then begin inc(j); a[j]:=k; end; end; for i:=1 to j do writeln(f2,a[i],' ',d[a[i]]); close(f1); close(f2); end.


Cho số nguyên dương N (N≤105).

Yêu cầu: Tìm số các cặp số nguyên dương x, y sao cho:

            - x, y là 2 số nguyên tố.

            - x + y = N.

            - x ≤ y

Dữ liệu vào: Gồm một số nguyên duy nhất N.

Kết quả: In ra màn hình một số là số các cặp số tìm được

Ví dụ:

Nhập dữ liệu

Kết quả in ra màn hình

N=10

2


CODE THAM KHẢO:
program Tong_nguyen_to;
uses crt;
var n,i,d:longint;
function NguyenTo(n:longint):boolean;
var i:longint;
begin
    if n<2 then exit(false);
    for i:=2 to trunc(sqrt(n)) do
        if n mod i=0 then exit(false);
    exit(true);
end;
begin
    clrscr;
    write('Nhap N = ');readln(n);
    d:=0;
    for i:=2 to (n div 2) do
        if NguyenTo(i) and NguyenTo(n-i) then inc(d);
    writeln('So cac cap so tim duoc: ',d);
    readln;
end.


Cho một dãy số gồm N số nguyên A1, A2,….,AN. Người ta định nghĩa một số ai là cực tiểu địa phương nếu thỏa mãn ai-1 > a i<ai+1 (a1 và aN không được gọi là cực tiểu địa phương). Hãy tìm số lượng cực tiểu địa phương của dãy số trên.

Input:

          - Dòng 1: Chứa duy nhất một số nguyên dương N (N≤106).

          - Dòng 2: Chứa dãy số nguyên a1, a2,….,aN (|ai|≤109).

Output: In ra màn hình duy nhất một số là kết quả của bài toán.

Ví dụ:

Dữ liệu vào

In ra màn hình

N = 4

2  3  2  3

1

CODE THAM KHẢO:

program Cuc_tieu;

uses crt;

var a:array[1..1000000] of longint;

    i,n,d:longint;

begin

    clrscr;

    write('Nhap N = ');readln(n);

    for i:=1 to n do 

    begin

        write('A[',i,']= ');

        read(a[i]);

    end;

    d:=0;

    for i:=2 to n-1 do

        if (a[i]<a[i-1]) and (a[i]<a[i+1]) then inc(d);

    writeln('So luong cuc tieu: ',d);

    readln;

end.



Lập trình để tính giá trị của một số viết dưới dạng la mã.

Biết: M = 1000; D = 500; C= 100; L = 50; X = 10; V = 5; I = 1 VD: MDCLXVI = 1666

CODE THAM KHẢO:

PROGRAM ROMAN_DECIMA_CONVERT; uses crt; VAR RomanNumber :String; {Dùng để test} {--------------------------------------------------------------------------} {Đổi toàn bộ chữ thường ra chữ hoa} function Upper (Text :String) :String; var i :Integer; begin for i := 1 to Length (Text) do Text [i] := UpCase (Text [i]); Upper := Text; end; {Upper} {--------------------------------------------------------------------------} {Mô tả: function Roman2Dec (Roman :String) :Integer; - Hàm đổi chữ số La mã sang hệ thập phân. - Vào: Roman : Chữ số La mã (String); - Ra : Chữ số ở hệ thập phân (Integer). - Chữ số La mã: I = 1 V = 5 X = 10 L = 50 C = 100 D = 500 M = 1000 - Xác định giá trị: + Xác định từ chữ số nào lớn nhất, sau đến chữ số nhỏ hơn: ( M ->D ->C ->L ->X ->V ->I ) + Giống nhau thì nhân đôi, nhân ba ... + Khác nhau thì: Chữ số nhỏ hơn: ~Đứng ở bên trái làm giảm giá trị của chữ số lớn hơn ở bên phải ~Đứng ở bên phải làm tăng giá trị của chữ số lớn hơn ở bên trái + VD: MMXIV = 2014 .Lớn nhất MM = 1000*2=2000 .Lớn tiếp theo: X=10 .Lớn tiếp theo: V=5 .Lớn tiếp theo: I=1 .I bên trái V: 5-1=4; .IV bên phải X: 10+4=14 .XIV bên phải MM: 2000+14=2014 } function Roman2Dec (Roman :String) :Integer; const RomanChar = 'IVXLCDM'; {Bảng ký tự chữ số La mã: 7 ký tự} {Và giá trị tương ứng trong chữ số thập phân:} RomanValue :Array [1..7] of Integer = (1, 5, 10, 50, 100, 500, 1000); var i :Byte; {Xử lý trên từng ký tự số La mã} sum :Integer; {Biến tạm, chứa giá trị thập phân} begin sum := 0; {Chú ý: Phải khởi tạo giá trị trước cho biến=0, nếu không kết quả sai} Roman := Upper (Roman); {Ra chữ Hoa} i := Length (Roman); while (i >= 1) do begin if (i > 1) then begin if (Pos (Roman [i], RomanChar) <= (Pos (Roman [i-1], RomanChar))) then begin sum := sum + RomanValue [Pos (Roman [i+0], RomanChar)]; Dec (i); end else begin sum := sum + RomanValue [Pos (Roman [i+0], RomanChar)]; sum := sum - RomanValue [Pos (Roman [i-1], RomanChar)]; Dec (i, 2); end; end else begin sum := sum + RomanValue [Pos (Roman [1], RomanChar)]; Dec (i); end; end; {while} Roman2Dec := sum; {Kết quả} end; {Roman2Dec} {----------------------------Chương trình chính----------------------------} BEGIN clrscr; Write ('Nhap vao so La ma: '); ReadLn (RomanNumber); {cần kiểm tra có phải là số La mã} WriteLn ('So La ma ', RomanNumber,' la: ', Roman2Dec (RomanNumber)); ReadLn; END.


Viết chương trình nhập vào một chuỗi ký tự (không quá 255 ký tự). In ra màn hình từ ngược lại của chuỗi vừa nhập

Ví dụ: Nhap chuoi: Ngo Dinh Can

           In ra màn hình chữ: Can Dinh Ngo

CODE THAM KHẢO:

uses crt;

var s:string;

    y,z,t:byte;

begin

    clrscr;

    write('Nhap vao mot xau: ');

    readln(s);

    z:=length(s);

    for y:=length(s) downto 1 do

    begin

        if ((s[y]=' ')or(y=1)) then 

            begin 

                for t:=y to z do write(s[t]);

                z:=y 

            end;

        write(' ');

    end;

    readln;

end.



Viết chương trình nhập vào một số nguyên dương N. In ra màn hình số đảo ngược của N và tổng các chữ số của N.

Ví dụ: Nhập N = 123

            So dao nguoc: 321

            Tong cac chu so: 6

CODE THAM KHẢO:

program so_dao;

uses crt;

var n,so,s:Integer;

begin

  clrscr;

  Write('Nhap N = '); ReadLn(n);

  s:=0;

  Write('So dao cua ',n,' la: ');

  while n <> 0 do 

    begin 

      so:=n mod 10;

      Write(so);

      s:=s+so;

      n:=n div 10

    end;

  writeln;

  writeln('Tong cac chu so la: ',s);

  readln;

end.



Cu Tí thường xuyên tham gia lập trình trên mạng. Vì đạt thành tích cao nên Tí được gửi tặng một phần mềm diệt virus. Nhà sản xuất phần mềm cung cấp cho Tí một mã số là số nguyên dương N có không quá 10 chữ số. Để cài đặt được phần mềm, Tí phải nhập vào mật khẩu của phần mềm. Mật khẩu là một số nguyên dương M được tạo ra bằng cách tính tổng giá trị các chữ số của N.

Yêu cầu: Hãy tìm mật khẩu của M.

Ví dụ:  Với N = 84915 thì in ra kết quả “Mat khau la 27” (Giải thích: Mật khẩu là 27)

CODE THAM KHẢO:

program Mat_khau;

uses crt;

var n: string[10];

    i,m,a,code:integer;

begin

clrscr;

write('Nhap vao so nguyen N = '); readln(n);

m:=0;

for i:=1 to length(n) do

if n[i] in ['0'..'9'] then

begin

val(n[i],a,code);

m:=m+a;

end;

    writeln('Mat khau la: ',m);

readln;

end.



Các chữ số: 0; 4; 6; 9 có 1 lỗ hổng            (có 1 đường khép kín)

                    8 có 2 lỗ hổng                        (có 2 đường khép kín)

                    1; 2; 3; 5; 7 có 0 lỗ hổng        (không có đường khép kín)

Yêu cầu: Viết chương trình nhập vào một số tự nhiên N có không quá 10 chữ số, in ra màn hình tổng số lỗ hổng của các chữ số trong N.

Ví dụ: Với N = 34882997 thì in ra kết quả: “Co 7 lo hong” (Giải thích: có 7 lỗ hổng)

CODE THAM KHẢO:

program Lo_hong;

uses crt;

var st: string[10];

    i,lo:integer;

begin

clrscr;

write('Nhap vao mot so nguyen: '); readln(st);

for i:=1 to length(st) do

begin

if st[i] in ['0','4','6','9'] then lo:=lo+1

else if st[i] in ['8'] then lo:=lo+2;

end;

writeln('Co ',lo, ' lo hong');

readln;

end.



Nhập dãy số nguyên N (N được nhập vào từ bàn phím). Xuất ra màn hình

- Dãy số vừa nhập

- Tìm kiếm các cặp hai số gần nhau có tổng chia hết cho 10. Thay thế hai số đó bằng tổng của chúng.

CODE THAM KHẢO:

program Tim_cap_so_chia_10;

uses crt;

var A:array[1..100] of integer;

    i,n,k: integer;

begin

    clrscr;

    //Nhap so luong phan tu

    write('Nhap N = '); readln(n);

    //Nhap gia tri cho tung phan tu mang A

    for i:=1 to n do 

        begin

            write('A[',i,']= ');

            readln(A[i]);

        end;

    write('Day so vua nhap la: ');

    for i:=1 to n do write(A[i],' '); writeln;

    for i:=2 to n do

    if (A[i-1]+A[i]) mod 10 = 0 then

    begin

        k:=A[i-1]+A[i];

        A[i-1]:=k;

        A[i]:=k;

    end;

    write('Day so sau khi thay the: ');

    for i:=1 to n do write(A[i], ' ');

    readln;

end.



Viết chương trình nhập vào một dãy N số nguyên từ bàn phím. Xuất ra màn hình:
- Dãy số vừa nhập
- Các số nguyên âm theo thứ tự tăng dần và tổng của chúng
- Các số nguyên dương theo thứ tự giảm dần và tổng của chúng

CODE THAM KHẢO:
program Sx_mang_am_duong;
uses crt;
var A,am,duong:array[1..100] of integer;
    i,j,n,t,s_a,s_d,k,h: integer;
begin
    clrscr;
    //Nhap so luong phan tu
    write('Nhap N = '); readln(n);
    //Nhap gia tri cho tung phan tu mang A
    for i:=1 to n do 
        begin
            write('A[',i,']= ');
            readln(A[i]);
        end;
    write('Day so vua nhap la: ');
    for i:=1 to n do write(A[i],' '); writeln;
    //Tim cac so nguyen am va nguyen duong luu vao mang so am, duong
    k:=0;h:=0; s_a:=0; s_d:=0;
    for i:=1 to n do 
    if A[i] < 0 then
        begin
            k:=k+1;
            am[k]:=A[i];
            s_a:=s_a+A[i];
        end
    else if A[i] > 0 then
        begin
            h:=h+1;
            duong[h]:=A[i];
            s_d:=s_d+A[i];
        end;
    //Sap xep cac so nguyen am theo thu tu tang dan
    for i:=1 to k-1 do
    for j:=i+1 to k do 
    if am[i] > am[j] then
        begin
            t:=am[i]; am[i]:=am[j]; am[j]:=t;
        end;
    //In cac so nguyen am tang va tong cua chung
    if k=0 then writeln('Khong co so nguyen am') 
    else    begin
                write('Day so nguyen am tang dan: ');
                for i:=1 to k do write(am[i],' '); writeln;
                writeln('Tong cac so nguyen am la: ',s_a);
            end;
    //Sap xep cac so nguyen duong theo thu tu giam dan
    for i:=1 to h-1 do
    for j:=i+1 to h do 
    if duong[i] < duong[j] then
        begin
            t:=duong[i]; duong[i]:=duong[j]; duong[j]:=t;
        end;
    //In cac so nguyen duong giam va tong cua chung
    if h=0 then writeln('Khong co so nguyen duong') 
    else    begin
                write('Day so nguyen duong giam dan: ');
                for i:=1 to h do write(duong[i],' '); writeln;
                writeln('Tong cac so nguyen duong la: ',s_d);
            end;
    readln;
end.



Nhập vào thời gian 1 công việc nào đó là x giây. Hãy chuyển đổi và viết ra màn hình số thời gian trên dưới dạng bằng bao nhiêu giờ, bao nhiêu phút, bao nhiêu giây.

CODE THAM KHẢO:

Program DOI_GIO_PHUT_GIAY; 
Uses crt;
Var gio, phut,giay, x: longint;
Begin
    Clrscr;
    Writeln('       DOI SANG GIO PHUT GIAY');
    Writeln('--------------------------------------');
    Write('Nhap vao so giay: ');readln(x); 
    gio:= x div 3600;
    x:=x mod 3600;
    phut:=x div 60;
    x:=x mod 60;
    Writeln('Ket qua = ', gio,' gio : ', phut, ' phut : ', x, ' giay'); Readln; 
End. 


Nhập vào tâm và bán kính của một đường tròn. Sau đó nhập vào một điểm A(x,y) bất kì và kiểm tra xem nó có thuộc đường tròn hay không?

CODE THAM KHẢO:

Program KIEM_TRA_DIEM_THUOC_DUONG_TRON;
Uses crt;
Var x0,y0,xa,ya,d,r:real;
Begin
    CLRSCR;
    Writeln('KIEM TRA DIEM THUOC DUONG TRON:'); 
    Writeln('--------------------------------------------------------');
    Write('Nhap ban kinh R= ');readln(r);
    Write('Nhap toa do tam duong tron = '); readln(x0, y0); 
    Write('Nhap toa do diem a = '); readln(xa, ya); 
    d:=SQRT(SQR(xa-x0)+SQR(ya-y0));
    If r=d then Writeln('Diem A nam tren duong tron')
    Else
    If d>r then Writeln('Diem A nam ngoai duong tron')
    Else Writeln('Diem A nam trong duong tron');
    Readln;
End. 


Tăng tốc máy tính là biện pháp hữu hiệu giúp cách cải thiện tốc độ máy tính, laptop, desktop chạy nhanh hơn. Nếu bạn là dân IT làm việc nhiều với máy tính khi gặp các hiện tượng như khởi động chậm, máy đơ, lag hay giật thì hãy tham khảo các cách làm máy tính chạy nhanh hơn dưới đây.


Làm sao để máy tính chạy nhanh hơn như lúc mới mua?

        Các hệ điều hành phổ biến hiện nay thường sử dụng đó là Windows 7, 8, 10, XP. Qua quá trình sử dụng mình thấy rằng mỗi HĐH đều có điểm mạnh riêng của nó. Nhưng nếu bạn sử dụng không đúng cách sẽ khiến cho máy tính, laptop, PC hoạt động chậm chạp.
        Có nhiều nguyên nhân dẫn đến tình trạng này nhưng phổ biến nhất là do RAM bị quá tải. Đối với máy tính cấu hình yếu thì chắc chắn khi bật nhiều chương trình hoặc cài các phần mềm nặng sẽ khiến máy bị treo.

Gỡ bỏ các phần mềm nặng hoặc không sử dụng đến

        Cách tăng tốc độ cho máy tính nhanh nhất đó là hãy gỡ bỏ ngay lập tức các phần mềm chiếm dung lượng RAM hay phần mềm bạn không dùng hoặc ít đụng tới.

        Mình thường sử dụng Advanced SystemCare để theo dõi xem phần mềm nào đang chiếm nhiều RAM nhất để loại bỏ hoặc tắt đi.



Để gỡ phần mềm đi bạn làm như sau:

        Nhấp vào biểu tượng Windows góc phải dưới màn hình => Control Panel

        Tiếp theo chọn Uninstall a program và chọn gỡ phần mềm không cần thiết


Tắt chương trình khởi động cùng máy tính

        Rất cần thiết! Bởi khi tắt chương trình khởi động cùng máy tính sẽ làm giảm bớt gánh nặng và tăng tốc máy tính gấp nhiều lần.

Sử dụng phần mềm diệt virus

        Một nguyên nhân thường hay gặp khiến máy tính của bạn bị treo đó là do dính phải virus, malware, trojan… Nếu cứ để kéo dài như vậy sẽ khiến máy tính bị hỏng.

        Lúc này bạn nên cài thêm các phần mềm diệt virus nhẹ như Bkav HomeAvira để loại bỏ virus sẽ làm máy tính chạy nhanh hơn đấy.

Xoá bỏ rác, file tạm thường xuyên

        Để xoá các file tạm bạn truy cập theo đường dẫn C:\Users\Ten_May\AppData\Local\Temp vào thư mục Temp => Ấn Ctrl + A để chọn toàn bộ và xoá.

Bên cạnh đó cũng xoá bỏ các file trong thư mục Download bằng cách truy cập vào C:\Users\Administrator\Downloads

Còn nữa bạn cũng nên xoá hết file trong Recycle Bin đi.


Không nên bật quá nhiều tab trên trình duyệt

        Khi chạy quá nhiều tab cũng là nguyên nhân khiến cho máy tính bị chậm lại lâu dần sẽ khiến cho mạch điển tử bị nóng lên. Để khắc phục bạn nên bật ít tab thôi nhé cái nào không sử dụng đến thì tắc đi.

Chống phân mảnh ổ đĩa (Disk Defragment)

        Nhấp vào biểu tượng Windows => Viết Disk Defragment vào ô search sau đó nhấp vào Disk Defragment


        Tiếp theo chọn ổ đĩa => Nhấp vào Defragment Disk để thực hiện chống phân mảnh

Nâng cấp thêm RAM cho máy tính

        Để cải thiện tốc độ máy tính cũng như hiệu suất cách tốt nhất là hãy nâng cấp thêm RAM cho nó. Chính vì lí do thiếu RAM nên ảnh hưởng đến quá trình hoạt động của máy tính, lượng bộ nhớ dư thừa sẽ giúp máy tính hoạt động tốt hơn.

        Lời kết: Sau khi áp dụng những cách trên mình thấy rằng máy tính đã được tối ưu và không còn tình trạng nóng máy hay bị treo nữa. Với bài viết hướng dẫn cách tăng tốc máy tính trên đây chúc bạn có thể giúp nâng cao hiệu suất nhanh chóng phục vụ tốt cho công việc của mình.


Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.
Javascript DisablePlease Enable Javascript To See All Widget