Tại sao khi kiểm tra chưa hết dãy số mà giá trị = K thì thuật toán kết thúc
Hãy quan sát thuật toán sau. Với dãy A: 3, 6, 7, 2, 19, 20, 6. k = 6
a, Sau khi thuật toán kết thúc giá trị của d là bao nhiêu?
b, Theo em thuật toán trên làm công việc gì?
Hãy quan sát thuật toán sau. Với dãy A: 3, 6, 7, 2, 19, 20, 6. k = 6
a, Sau khi thuật toán kết thúc giá trị của d là bao nhiêu?
b, Theo em thuật toán trên làm công việc gì?
Hãy dùng câu lệnh lặp để viết thuật toán diễn đạt việc học thuộc bảng cửu chương 2 tới khi cô giáo dạy toán kiểm tra đã thuộc thì mới kết thúc, nếu không thì phải học lại
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;
}
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?
Trong thuật toán tìm giá trị lớn nhất của dãy số nguyên. Với N=8 và dãy A như sau:
3 7 4 8 19 15 9 12
Khi thuật toán kết thúc thì Max và chỉ số i nhận giá trị là bao nhiêu?
(0.5 Điểm)
a Max=19 và i=9
b Max=19 và i=5
c Max=19 và i=1
d Max=19 và i=6
Tìm giá trị lớn nhất của một dãy số nguyên
Yêu cầu : Tại bước 2 của thuật toán tìm max, thay phép gán a1 cho max bằng phép gán aN cho max thì thuật toán được viết lại như thế nào. Viết lại thuật toán và mô phỏng thuật toán bằng một dãy số cụ thể.
#include <bits/stdc++.h>
using namespace std;
long long x,n,max,i;
int main()
{
cin>>n;
cin>>x;
max=x;
for (i=1; i<n; i++)
{
cin>>x;
if (max<=x) max=x;
}
cout<<max;
return 0;
}
Hãy tìm hiểu thuật toán sau đây, và cho biết khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? Viết chương trình Pascal thể hiện các thuật toán đó?
a,Thuật toán 1
Bước 1: S:=10, X:=0.5.
Bước 2: Nếu S<=6.2, chuyển tới bước 4.
Bước 3: S:=S – X và quay lại bước 2.
Bước 4: Thông báo S và kết thúc thuật toán.
b,Thuật toán 2
B1: s:=10, n:=0
B2: nếu S >=10, chuyển tới bước 4
B3: n:=+3, s:= s-n và quay lại bước 2
B4: Thông báo S và KTTT
a. Thuật toán 1 :
Máy tính sẽ thực hiện 10 vòng lặp , khi kết thúc thuật toán giá trị của S = 5.0
Đoạn chương trình Pascal tương ứng:
Quảng cáo
S := 10; x := 0.5;
While S > 5.2 do
S := S – x;
Writeln(S);
b. Thuật toán 2 :
Máy tính sẽ không thực hiện vòng lặp nào do điều kiện không thỏa mãn, khi kết thúc thuật toán giá trị của S = 10
Đoạn chương trình Pascal tương ứng:
S := 10; n := 0;
While S < 10 do
Begin
n := n + 3;
S := S – n
End;
Writeln(S);
Hãy tìm hiểu các thuật toán sau đây và cho biết khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? Viết chương trình Pascal thể hiện các thuật toán đó
b) Thuật toán 2
Bước 1. S ←10, n ← 0.
Bước 2. Nếu S ≥ 10, chuyển tới bước 4.
Bước 3. n ← n+3, S ← S-n và quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
May tính sẽ thực hiện 4 vòng lặp
Kết quả là 12