K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

6 tháng 4 2021

Phát biểu nào dưới đây là sai?

A.    Xâu là một dãy các kí tự trong bảng mã ASCII. Kiểu xâu là một kiểu dữ liệu có cấu trúc.

B.     Có thể xem mỗi xâu có cấu trúc giống như một mảng một chiều mà mỗi phần tử của  mảng là một kí tự trong bảng mã ASCII, được đánh chỉ số từ 1.

C.    Số lượng kí tự trong một xâu chính là độ dài của xâu.

D.    Các phép toán thao tác với xâu tương tự như các phép toán thao tác với mảng.  

6 tháng 4 2021

Đáp án: A

11 tháng 12 2020

a) var a:real;

b:string;

a:=20.5;

readln(b);

b) var x:string;

y:integer;

x:='Ha Noi';

readln(y);

Câu 1: Điền vào dấu (…): Mảng một chiều là một dãy hữu hạn các phần tử có cùng (…)A. Thông tin                    B. Dữ liệu                        C. Kiểu                            D. Giá trịCâu 2: Cấu trúc lặp thường có mấy dạng?A. 3                                  B. 4                                  C. 2                                  D. 1Câu 3: Để tính S=1+22+32+…+n2 cho đến khi S>1000 em sẽ sử dụng lệnh lặp nào?A. While –...
Đọc tiếp

Câu 1: Điền vào dấu (…): Mảng một chiều là một dãy hữu hạn các phần tử có cùng (…)

A. Thông tin                    B. Dữ liệu                        C. Kiểu                            D. Giá trị

Câu 2: Cấu trúc lặp thường có mấy dạng?

A. 3                                  B. 4                                  C. 2                                  D. 1

Câu 3: Để tính S=1+22+32+…+n2 cho đến khi S>1000 em sẽ sử dụng lệnh lặp nào?

A. While – do                  B. If – Then                     C. For – do                      D. Cả ba đều đúng.

Câu 4: Khai báo sau đây thì mảng có tối đa bao nhiêu phần tử?            Var a:array [0..10] of byte;

A. 8                                  B. 9                                  C. 11                                D. 10

Câu 5: Để lưu trữ dãy số thực A1, A2, … A50 thì khai báo nào sau đây là đúng?

A. Var A:=array[1..50] of real;                                B. Var A:array[1..50] of word;

C. Var A:array[1..30] of extended;                         D. Var A:array[1..50] of Real;

Câu 6: Cho đoạn lệnh: S:= 0; For i:=1 to 10 do S:=S+i; kết quả S sau khi thực hiện là bao nhiêu?

A. 10                                B. 55                                C. 1                                  D. 50

Câu 7: Trong câu lệnh while: While <điều kiện> do <câu lệnh>; khi nào kết thúc lặp?

A. Điều kiện đúng           B. Điều kiện sai               C. Cả A và B đúng          D. Cả A và B sai.

Câu 8: Cho lệnh lặp: While (abs(x) >= 5) do write(x); lệnh write(x) được lặp lại bao nhiêu lần?

A. Lặp vô hạn                  B. 5 lần                            C. 6 lần.                           D. Chưa biết

Câu 9: Lệnh lặp nào sau đây là đúng.

A. For i:=1 two 10 do S:=S+i;                                 B. For i:=1 to 10 do S:=S+i;

C. For i=1 to 10 do S:=S+i;                                     D. For i:=1 to -10 do S:=S+i;

Câu 10: Có Var A:Array[1..100] of byte; Để tham chiếu đến phần tử 5 của mảng, ta viết thế nào?

A. A<5>                          B. A(5)                            C. A{5}                           D. A[5]

1

Câu 1: C

Câu 2: C

Câu 3: D

Câu 4: C

Câu 5: D

Câu 6: B
Câu 7: B

Câu 9: B

Câu 10: D

Phần I: Phần trắc nghiệm Câu 1: Điền vào dấu (…): Mảng một chiều là một dãy hữu hạn các phần tử có cùng (…)A. Thông tin                    B. Dữ liệu                        C. Kiểu                            D. Giá trịCâu 2: Cấu trúc lặp thường có mấy dạng?A. 3                                  B. 4                                  C. 2                                  D. 1Câu 3: Để tính S=1+22+32+…+n2 cho đến khi S>1000 em sẽ sử dụng...
Đọc tiếp

Phần I: Phần trắc nghiệm

Câu 1: Điền vào dấu (…): Mảng một chiều là một dãy hữu hạn các phần tử có cùng (…)

A. Thông tin                    B. Dữ liệu                        C. Kiểu                            D. Giá trị

Câu 2: Cấu trúc lặp thường có mấy dạng?

A. 3                                  B. 4                                  C. 2                                  D. 1

Câu 3: Để tính S=1+22+32+…+n2 cho đến khi S>1000 em sẽ sử dụng lệnh lặp nào?

A. While – do                  B. If – Then                     C. For – do                      D. Cả ba đều đúng.

Câu 4: Khai báo sau đây thì mảng có tối đa bao nhiêu phần tử?            Var a:array [0..10] of byte;

A. 8                                  B. 9                                  C. 11                                D. 10

Câu 5: Để lưu trữ dãy số thực A1, A2, … A50 thì khai báo nào sau đây là đúng?

A. Var A:=array[1..50] of real;                                B. Var A:array[1..50] of word;

C. Var A:array[1..30] of extended;                         D. Var A:array[1..50] of Real;

Câu 6: Cho đoạn lệnh: S:= 0; For i:=1 to 10 do S:=S+i; kết quả S sau khi thực hiện là bao nhiêu?

A. 10                                B. 55                                C. 1                                  D. 50

Câu 7: Trong câu lệnh while: While <điều kiện> do <câu lệnh>; khi nào kết thúc lặp?

A. Điều kiện đúng           B. Điều kiện sai               C. Cả A và B đúng          D. Cả A và B sai.

Câu 8: Cho lệnh lặp: While (abs(x) >= 5) do write(x); lệnh write(x) được lặp lại bao nhiêu lần?

A. Lặp vô hạn                  B. 5 lần                            C. 6 lần.                           D. Chưa biết

Câu 9: Lệnh lặp nào sau đây là đúng.

A. For i:=1 two 10 do S:=S+i;                                 B. For i:=1 to 10 do S:=S+i;

C. For i=1 to 10 do S:=S+i;                                     D. For i:=1 to -10 do S:=S+i;

Câu 10: Có Var A:Array[1..100] of byte; Để tham chiếu đến phần tử 5 của mảng, ta viết thế nào?

A. A<5>                          B. A(5)                            C. A{5}                           D. A[5]

Câu 11: Cho dãy số gồm 4 số thực, 5 số nguyên. Em có thể khai báo một mảng một chiều gồm 9 phần tử kiểu nguyên để lưu trữ dãy số hay không?

A. Có                               B. Đáp án khác.               C. Vừa có vừa không      D. Không

Câu 12: S:=0; For i:=1 to N do if T[i] mod 2 = 0 then S:=S+T[i]; Đoạn lệnh trên thực hiện công việc  gì?

A. Tìm tổng giá trị các phần tử của mảng T           B.  Tìm tổng giá trị các số chẵn trong mảng T

C. Tìm tổng giá trị các số lẻ trong mảng T             D. Cả A, B, C đều đúng.

Câu 13: Khi chạy chương trình :

          Var A:array[1..10] of integer;

                 i, S : integer;

          Begin         A[1]:= 3;         A[2]:= -1;         A[3]:= -4;

                                S:= 0;

                            For i:=1 to 3 do  If  A[i] > 0 then S:=S+A[i];

                            Write(S);

         End.

     Kết quả in ra giá trị của S là:

     A. 2                        B. 3                              C. 4                             D. -5

Câu 14: Hãy cho biết kết quả đưa ra màn hình của chương trình sau:

Var x, i: byte;

BEGIN   X:=0; i:=0; While i<17 do  begin x:= x+i; i:=i+2; end;  writeln(‘x=  ’, x); END.

A. x= 72                          B. x= 90                           C. x=  91                         D. 56

Câu 15: Cho khai báo     Var A: array[1..10] of integer; Để nhập giá trị cho phần tử thứ 3 của mảng thực hiện câu lệnh nào?

A.Read(A<3>);     B. Writeln(A[3]);            C. Write(‘A[3]’);                 D. Readln(A[3]);

Câu 16: Các khai báo sau, khai báo nào là đúng?

A. Var A:array[1....n] of  byte;                                   B. Var A = array[1..10] of  real;

C. Var A:array[-10. .10] of  boolean;                         D. Var A : array[‘a’..’z’] of  read;

Câu 17:  Cho khai báo Var S:Array[1..5] of byte; S có thể lưu trữ dãy số nào sau đây.

A. 300 3 5 4 5                  B. 1 3 6                            C. 1 -2 3 2                       D. 1 5 3 2 4 3

Câu 18:  Cho khai báo sau: Var A, B : array[1..20] of  integer;  Giả sử  giá trị A[i] và B[i] (i nhận giá trị từ 1 đến 20) đã được xác định. Xét đoạn chương trình:

d:=0;  for i:=1 to 20 do   If A[i] <> B[i] then d:=d+1; writeln(d);

Đoạn chương trình trên thực hiện công việc gì?

A.  Đếm số phần tử của A khác các phần tử của B                B.  Đếm số phần tử khác nhau của A và B

C.  Đếm số cặp phần tử tương ứng khác nhau của A và B    D. Tất cả đều sai

Câu 19:           Cho khai báo a : array[0..16] of integer ;

Câu lệnh nào dưới đây sẽ in ra tất cả các phần tử của mảng trên ?

 

A.      for k := 1 to 16 do write(a[k]);                 B. for k := 16 downto 0 do write(a[k]);

 

B.       for k:= 0 to 15 do write(a[k]);                  D. for k := 16 down to 0 write(a[k]);

Câu 20:           Var a : array[0..50] of real ;

 

k := 0 ;  for i := 1 to 50 do    if a[i] > a[k] then k := i ;          

Đoạn chương trình trên thực hiện công việc gì dưới đây ?

 

A.Tìm phần tử nhỏ nhất trong mảng;                         B. Tìm phần tử lớn nhất trong mảng;

 

C.Tìm chỉ số của phần tử lớn nhất trong mảng;         D. Tìm chỉ số của phần tử nhỏ nhất trong mảng;

Câu 21: Var m : array[0..10] of integer ;

Phương án nào dưới đây chỉ phần tử thứ 10 của mảng ?

 

A.  m[10]                                 B.  m(10)                     C.  m(9)                       D.  m[9]

1

Câu 1: B

Câu 2: C

Câu 3: D

Câu 4: C

Câu 21: D

11 tháng 4 2021

Câu 1: Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?

A. Là một tập hợp các số nguyên

B. Độ dài tối đa của mảng là 255

C. Là một dãy hữu hạn các phần tử cùng kiểu

D. Mảng không thể chứa kí tự

Mn giúp mik bt Tin Học với ạ..! Mn lm đc bài nào thì làm nha ...!Câu 1 (7,0 điểm): Số chính phương.Cho trước số nguyên dương N (0< N≤ 106 ). Yêu cầu: Tìm số nguyên dương K nhỏ nhất sao cho tích của K và N là một số chính phương. Dữ liệu vào: File CP.INP chứa số N. Dữ liệu ra: File CP.OUT ghi số nguyên K tìm được.Câu 2 (6,0 điểm): Dòng lớn nhất.Cho một tệp tin gồm nhiều dòng. Trên mỗi dòng chứa...
Đọc tiếp

Mn giúp mik bt Tin Học với ạ..! Mn lm đc bài nào thì làm nha ...!

Câu 1 (7,0 điểm): Số chính phương.

Cho trước số nguyên dương N (0< N≤ 106 ). Yêu cầu: Tìm số nguyên dương K nhỏ nhất sao cho tích của K và N là một số chính phương. Dữ liệu vào: File CP.INP chứa số N. Dữ liệu ra: File CP.OUT ghi số nguyên K tìm được.

Câu 2 (6,0 điểm): Dòng lớn nhất.

Cho một tệp tin gồm nhiều dòng. Trên mỗi dòng chứa một xâu kí tự chỉ gồm các kí tự chữ cái và chữ số, độ dài của mỗi xâu không quá 255 kí tự.

Yêu cầu: Đưa ra dòng có nhiều kí tự chữ cái nhất, nếu có nhiều dòng thỏa mãn thì đưa ra dòng đầu tiên có nhiều kí tự chữ cái nhất. Dữ liệu vào: File DLN.INP gồm:

+ Dòng đầu ghi số N là số lượng dòng chứa các xâu kí tự.

+ N dòng tiếp theo: mỗi dòng ghi một xâu kí tự. Dữ liệu ra: File DLN.OUT ghi ra dòng có nhiều kí tự chữ cái nhất, nếu có nhiều dòng thỏa mãn thì đưa ra dòng đầu tiên có nhiều kí tự chữ cái nhất.

Câu 3 (4,0 điểm): Dãy con đối xứng.

Một dãy số liên tiếp gọi là dãy đối xứng nếu đọc các số theo thứ tự từ trái sang phải cũng giống như khi đọc theo thứ tự từ phải sang trái. Cho dãy số A gồm N số nguyên dương: a1, a2,..., aN (1≤ N≤ 10000; 1≤ ai≤ 32000; 1≤ i≤ N)

Yêu cầu: Hãy tìm dãy con đối xứng dài nhất của dãy A. Nếu có nhiều dãy con thoả mãn thì lấy dãy con xuất hiện đầu tiên trong dãy A. Dữ liệu vào: File DX.INP gồm 2 dòng:

- Dòng 1: ghi số nguyên dương N.

- Dòng 2: ghi N số nguyên dương lần lượt là giá trị của các số trong dãy A, các số được ghi cách nhau ít nhất một dấu cách.

Dữ liệu ra: File DX.OUT ghi dãy tìm được trên cùng một dòng, các số được ghi cách nhau một dấu cách.

Câu 4 (3,0 điểm): Dãy nguyên tố.

Cho một dãy số B gồm n số nguyên dương (n ≤ 1000), mỗi phần tử trong dãy có giá trị không quá 30000. Yêu cầu:

+ Tìm dãy con dài nhất (liên tiếp hoặc không liên tiếp) các phần tử là những số nguyên tố có giá trị tăng dần của dãy B và thứ tự của các phần tử không đổi so với ban đầu. Ví dụ: Dãy 8 phần tử {4, 2, 5, 6, 3, 3, 7, 9} có dãy con nguyên tố tăng dài nhất là {2, 5, 7}.

+ Nếu có nhiều dãy con thoả mãn thì lấy dãy con xuất hiện đầu tiên trong dãy B. Dữ liệu vào: File NT.INP gồm 2 dòng:

- Dòng 1: Ghi số nguyên dương n.

- Dòng 2: Ghi n số nguyên dương, các số được ghi cách nhau một dấu cách. Dữ liệu ra: File NT.OUT ghi dãy con tìm được trên cùng 1 dòng, giữa 2 phần tử liền kề trong dãy có một dấu cách.

0
14 tháng 6 2021

program xau_so_hoc;
uses crt;
procedure xu_li;
var s, x, xau : string; i, tinh, j, f1, f2 : integer;
begin
write('nhap xau: '); readln(xau);
 i:=1;
 repeat
        x:=''; s:='';
        while (xau[i] in ['0'..'9']) and (i<=length(xau)) do
        begin
        x:=x+xau[i];
           inc(i); {tim dau '+' hoac tru '-'/tim so truoc dau do}
        end;
                for j:=i+1 to length(xau) do
                if xau[j] in ['0'..'9'] then s:=s+xau[j] else
                                                         break;
       val(x,f1); val(s,f2); {chuyen doi xau thanh so};
        if xau[i]='-' then
                        tinh:=tinh +(f1-f2) else
                        if xau[i] = '+' then
                                                tinh:=tinh + (f1+f2);
       {tinh toan voi xau va dau da tim duoc}
       i:=j;
 until i>=length(xau);
        write('xau da tinh toan: ', tinh);
end;
{chuong trinh chinh}
        begin
                clrscr;
                xu_li;
        end.

 

14 tháng 6 2021

có một số chỗ mình chú thích hơi sai

đại khái ý tưởng của mình là như này nè:

đầu tiên mình tìm dấu - hoặc + và tìm số đầu tiên trước dấu cộng hoặc trừ (vòng while đầu tiên), rồi tìm số sau dấu đó (vòng for sau đó).

rồi chuyển thành xâu, nếu - thì cộng biến với hiệu 2 số, nếu + thì mình cộng với hiệu hai số 

lưu ý: vòng while chỉ dùng cho lần lập đầu tiên thôi, để tránh sai số những vòng repeat tiếp theo thì dùng vòng for để tìm số tiếp theo dấu vừa tìm được (số sau dấu vừa tìm được đã tìm ở vòng for lần lặp trước);

ví dụ để dễ mường tượng nè

1+1 

i sẽ bằng 1 để tránh trường s[0] sẽ bị exit code

vòng repeat 1:

tìm được vị trí dấu + và số trước dấu + (vòng while);

tìm được số 1 (vòng for);

vòng for: sẽ được chạy từ giá trị của biến i+1 (do i đang ở vị trí của dấu vừa tìm được, không phải số nên nếu chạy từ i lúc cộng dồn sẽ là +1 chứ không phải là 1);

+ nếu như s[j] mà không phải số thì mình dừng vòng for lại (break)

đổi 2 số '1' thành kiểu số

biến 'tính' =0 

tính:=tính + (1+1) ( vì đây là dấu +); => tính=2;

biến i sẽ bằng giá trị cuối của biến j nhận được 

tức là bằng 3

mà 3 = độ dài của xâu nên vòng repeat dừng lại

vòng lặp của repeat chỉ có  1 vòng