Cho thuật toán sau:
B1: Nhập N
B2: i <- 1
B3: S<- 0
B4: Nếu i> N thì sang B7 ngược lại qua B5
B5: S<-S+i
B6: i<-i+1 rồi quay lại B4
B7: Đưa ra S rồi kết thúc
a) Minh hoạ thuật toán với N=6
b) Ý nghĩa của thuật toán là gì ?
a)
Input: Dãy n số nguyên
Output: Đếm xem trong dãy đó có bao nhiêu số nguyên dương
b)
Bước 1: Nhập n và nhập dãy số
Bước 2: dem←0; i←1;
Bước 3: Nếu a[i]>0 thì dem←dem+1;
Bước 4: i←i+1;
Bước 5: Nếu i<=n thì quay lại bước 3
Bước 6: Xuất dem
Bước 7: Kết thúc
Input: Số nguyên N và dãy a1,a2,...,aN
Output: Số số nguyên có trong dãy
Thuật toán:
- Bước 1: Nhập N và dãy a1,a2,...,aN
- Bước 2: d←0; i←1;
- Bước 3: Nếu i>N thì in ra có d số dương trong dãy và kết thúc
- Bước 4: Nếu ai > 0 thì d←d+1;
- Bước 5: i←i+1, quay lại bước 3
Câu 1. Xét thuật toán tìm kiếm tuần tự sau: B1. Nhập N, các số hạng a1, a2, , an và khóa k; B2. i ⃪ 1; B3. Nếu ai = k thì thông báo chỉ số i rồi kết thúc; B4. i ⃪ i + 1; B5. Nếu i > N thì thông báo dãy A không có số hạng nào có giá trị bằng k, rồi kết thúc; B6. Quay lại bước 3 Hãy cho biết thao tác ở bước 4 trong thuật toán trên được thực hiện tối đa bao nhiêu lần?
giúp e vs ạ
#include <bits/stdc++.h>
using namespace std;
const long long maxn=1e5+10;
long long a[maxn],i,n,x,l,r,m;
//chuongtrinhcon
long long tknp(long long a[],long long l,long long r,long long x)
{
while (l<=r)
{
long long g=(l+r)/2;
if (a[g]==x) return(g);
if (x>a[g]) l=g+1;
else r=g-1;
}
return(-1);
}
int main()
{
freopen("tknp.inp","r",stdin);
freopen("tknp.out","w",stdout);
cin>>n>>x;
for (i=1; i<=n; i++)
cin>>a[i];
cout<<tknp(a,1,n,x);
return 0;
}
Cho thuật toán sau:
- B1: A :=0;b :=1;
- B2: Nếu A≤ 30 thì chuyển qua B3, ngược lại A > 30 thì chuyển B4;
- B3:i :=b+2 ; A:=A+b; và quay lại B2
- B4: In ra kết quả và kết thúc thuật toán
Program Bai9;
Uses CRT;
Var A,b:integer;
Begin
A:= 0, J:=1;
While A<= 30 do
Begin i := b +2;A := A + b;End;
Writeln(A);
Readln;
End.
a) Hãy cho biết, khi thực hiện thuật toán trên, máy tính sẽ thực hiện bao nhiêu vòng lặp và giá trị của T và j là bao nhiêu (1,0 điểm)
b) Viết chương trình sử dụng câu lệnh lặp chưa biết trước thể hiện thuật toán trên.
a: Thực hiện 5 vòng lặp
T=35
j=11
b: Câu lệnh chưa biết trước là while-do, và chương trình của bạn chỉ cần sửa lại chỗ j:=1 thành b:=1 mà thôi
Câu 1: Cho biết S=?, i=?, sau khi thực hiện các lệnh sau:
a/ B1: S0; i←1;
B2: Nếu S>10 thì chuyển B4
B3: S←S*i; i←i+ 2, quay lại B2
B4: Thông báo S và kết thúc thuật toán
Hãy viết chương trình tính tổng 50 số nguyên đầu tiên (n số nguyên, nhập từ bàn phím) dựa vào thuật toán sau: THUẬT TOÁN: B1: đặt tổng s
cho thuật toán sau
-B1 t :=0;j :=1 -B2 nếu t lớn hơn hoặc bằng 30 thì chuyển qua B 3, ngược lại t>30 thì chuyển qua B 4-B3 :j :=j+2 ; t:t=j; và quay lại B2 -B4 in ra kết quả và kết thúc thuật toán a: Hãy cho biết, khi thực hiện thuật toán trên, máy tính sẽ thực hiện bao nhiêu vòng lặp và giá trị của t và j là bao nhiêu b: Viết chương trình sử dụng câu lệnh lặp chưa biết trước thể hiện thuật toán trên. GIÚP GIÙM ĐI MNViết chương trình in ra các số lẻ với n nhập từ bàn phím.
Dựa vào thuật toán sau đây:
B1: Nhập n
B2: i <--- 1
B3: Nếu i <= n, chuyển đến B6
B4: i <--- i + 2
B5: In ra i
B6: Kết thúc thuật toán
Viết chương trình in ra các số lẻ với n nhập từ bàn phím.
Dựa vào thuật toán sau đây:
B1: Nhập n
B2: i <--- 1
B3: Nếu i <= n, chuyển đến B6
B4: i <--- i + 2
B5: In ra i
B6: Kết thúc thuật toán
program son;
var
i,n:integer;
a:array[1..32000] of integer;
begin
write(' nhap n : '); readln(n);
for i:= 1 to n do
begin
write(' nhap a[',i,']');
readln(a[i]);
end;
for i:= 1 to n do
if a[i] mod 2 <> 0 then write(a[i],' ')
readln
end.
Program hotrotinhoc ;
var n,i : integer ;
begin
write('Nhap gia tri cua n:'); readln(n);
i:=1;
while i <= n do
begin
i:=i+2 ;
if i mod 2 = 1 then write(i);
end;
readln
end.
Sử dụng ngôn ngữ lập trình pascal để viết chương trình dựa trên thuật toán B1: nhập 2 số thực x và y từ bàn phím B2 : nếu x > y thì x
program CompareNumbers;
var
x, y: real;
begin
// Bước 1: Nhập 2 số thực x và y từ bàn phím
write('Nhap so thuc x: ');
readln(x);
write('Nhap so thuc y: ');
readln(y);
// Bước 2: So sánh x và y, in ra số lớn hơn
if x > y then
writeln('x lon hon y')
else if x < y then
writeln('y lon hon x')
else
writeln('x bang y');
readln;
end.
(khoog bt đúng ko)
Cho biết thực hiện thuật toán giá trị của a = ? thực hiện bao nhiêu vòng lặp? Viết chương trình
B1. a ← 0; i:=1;
B2. a = > 10 chuyển b4
B3. i:=i+1;a← a:= a+i;
B4. Thông báo a và kết thúc thuật toán