Yahoo Hỏi & Đáp sẽ ngừng hoạt động vào ngày 4 tháng 5 năm 2021 (Giờ Miền Đông nước Mỹ) và từ nay, trang web Yahoo Hỏi & Đáp sẽ chỉ ở chế độ đọc. Các thuộc tính hoặc dịch vụ khác của Yahoo hay tài khoản Yahoo của bạn sẽ không có gì thay đổi. Bạn có thể tìm thêm thông tin về việc Yahoo Hỏi & Đáp ngừng hoạt động cũng như cách tải về dữ liệu của bạn trên trang trợ giúp này.

Bài tập pascal..................?

Viết chương trình nhập vào số nguyên dương N; N chạy từ 1 đến 100; nhập vào dãy A bất kì A1, A2, ... An. Nhập vào số nguyên dương K bất kì; in ra màn hình chỉ số của phần tử trong dãy A có giá trị bằng K.

Cập nhật:

tớ cũng đã làm theo cách đó; nhưng phải có thêm trường hợp với dãy không có giá trị nào bằng A; vướng vào vòng for nên cứ mỗi giá trị A[i] tương ứng không thỏa mãn là nó in ra màn hình một dòng " Không có giá trị bằng K "

program btmr;

uses crt;

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

i, N, K: integer;

begin

clrscr;

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

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

for i:=1 to N do

begin

write('Phan tu thu ',i,'=');

readln(A[i]);

end;

for i:=1 to N do

if A[i]=K then

write('chi so ',i, ' Gia tri ', A[i])

else write(' Khong co gia tri bang K');

readln

end.

Cập nhật 2:

bạn jackyrain có thể làm thêm trường hợp dãy A không có giá trị nào bằng K không?

5 Câu trả lời

Xếp hạng
  • XXXLQD
    Lv 4
    1 thập kỷ trước
    Câu trả lời yêu thích

    Làm như bạn Vodka là tạm được nhưng chương trình bị in ra nhiều dòng "Khong co gia tri bang k"

    kể cả khi trong day có giá trị đó vì lệnh write(' Khong co gia tri bang K'); được viết trong vòng lặp nên bị in ra N lần .

    Ta có thể sửa chương trình lại một tí để chỉ in ra khi thực sự trong dãy không có số K đã cho

    program btmr;

    uses crt;

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

    i, N, K: integer;

    Blg:Boolean;

    begin

    clrscr;

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

    for i:=1 to N do

    begin

    write('Phan tu thu ',i,'=');

    readln(A[i]);

    end;

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

    Blg:=False;

    for i:=1 to N do

    if A[i]=K then

    Begin

    writeln('Chi so ',i, ' Gia tri ', A[i]);

    Blg:=True;

    End;

    If Not Blg Then writeln(' Khong co gia tri bang K trong day da cho');

    readln

    end.

    Chúc bạn học tốt.

  • 1 thập kỷ trước

    Uses Crt;

    Var A:=Array [1..100] of integer;

    N,K,i:byte;

    Begin

    Clrscr;

    Write('Nhap vao so nguyen duong K: ');

    Readln(K);

    For i:=1 to K do

    Begin

    Write('Nhap A[',i,']= ');

    Readln(A[i]);

    End;

    Write('Nhap vao so nguyen duong cua K: ');

    Readln(K);

    For i:=1 to N do

    If i = K then writeln(A[i]);

    Readln;

    End.

    Hy vọng mình làm đúng theo ý bạn

    Chúc thành công

  • 1 thập kỷ trước

    Bạn phải khai báo các biến n, i, k là biến nguyên và một mảng a

    bầy giờ cho i chạy từ 1 đến 100 nhập các số vào ai

    for i:=1 to 100 do

    begin

    wite('nhap phan tư a ',i,': ");

    readln(a[i]);

    end;

    'bầy giờ nhập biến k và cho i chạy từ 1 đến 100 và so sánh k với ai

    write(' hay nhap bien k: '); readln(k);

    for i:=1 to 100 do

    if a[i] = k then wite('chi so cua phan tu co gia tri k la: ',i);

    bạn cần xử lý một chút, tôi lâu không làm pascal rôi nên chỉ viết đoạn thuật toán thôi.

    chúc vui

  • 1 thập kỷ trước

    bài này gần giống trong sgk 10 đó.

    chỉ cần dựa vào thuật toán lầ ok.

    Viết 1 CT cần phần mở đầu, thân và kết thúc

    Program tenCT;

    uses crt;

    Var ;( khai báo các hàm thuộc các tập giá trị nào vd như word; integer; hay real.....)

    begin

    clrscr;

    Write ( ' Nhập số N và dãyÂ...: ');

    readln ();

    rồi áp dụng thuật toán vào rồi readln; và End.

  • ?
    Lv 6
    1 thập kỷ trước

    Sửa lại chút xíu cho bạn nè

    program btmr;

    uses crt;

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

    i, N, K, kt: integer;

    begin

    clrscr;

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

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

    for i:=1 to N do

    begin

    write('Phan tu thu ',i,'=');

    readln(A[i]);

    end;

    kt:=0;

    for i:=1 to N do

    if A[i]=K then

    begin

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

    end;

    if kt=0 then

    writeln('Khong co gia tri bang ',k);

    readln;

    end.

Bạn vẫn có câu hỏi? Hãy hỏi ngay để nhận câu trả lời.