Shishkinaanasta1997
?>

Какое значение примет переменная х в результате выполнения следующих фрагментов программ? 1) x: =0; for y: =1 to 9 do x: =x+y; 2) x: =1; for y: =1 to 5 do x: =x*y; 3) x: =1; while x< > 1 do begin x: =x+3; x: =x+1; end; 4) x: =1; while x< 100 do begin x: =x*2; end; сколько раз выполниться тело цикла: а) for i: =1 to 10 do x: =x+i; б) for k: =2 to 22 do if k mod 2=0 then s: =s+1;

Информатика

Ответы

Александра_Наталья1417
Какое значение примет переменная х в результате выполнения следующих фрагментов программ? 
1) x:=0; for y:=1 to 9 do x:=x+y; 

y:=1    x = 1
y:=2    x = 3
y:=3    x = 6
y:=4    x = 10
y:=5    x = 15
y:=6    x = 21
y:=7    x = 28
y:=8    x = 36
y:=9    x = 45

x = 45

2) x:=1; for y:=1 to 5 do x:=x*y; 

y=1   x=1
y=2   x=2
y=3   x=6
y=4   x=24
y=5   x=120

x=120

3) x:=1; while x<>1 do begin x:=x+3; x:=x+1; end; 

x=1 (так как условие не используется)

4) x:=1; while x<100 do begin x:=x*2; end;

x=2       (2<100)
x=4       (4<100)
x=8       (8<100)
x=16     (16<100)
x=32     (32<100)
x=64     (64<100)
x=128   ( 128>100)

x=128 

Сколько раз выполниться тело цикла:
а) For i:=1 to 10 do x:=x+i;
10 раз (i=1   i=2   i=3   i=4   i=5   i=6   i=7   i=8   i=9   i=10)
б) For k:=2 to 22 do
If k mod 2=0 then s:=s+1;
11 раз (k=2   k=4   k=6   k=8   k=10   k=12   k=14   k=16   k=18   k=20   k=22)
(остальные k условию не соответствуют)
Андрей628
Const
   N = 10;
Var
   A:array[1..N] of integer;
   i,j,M,B,C,p,s:integer;
Begin
Randomize;
{Заполнение и вывод}
Write('Исходный массив:');
For i:= 1 to N do
    Begin
    A[i]:=random(N);
    Write(' ',A[i]);
    End;
WriteLn;
{Сортировка}
p:=0;
For i:= 1 to N do
    Begin
    M:=i;
    For j:= i+1 to N do
        if A[j]<A[M] then M:=j;
    if M<>i then
       Begin
       B:=A[M];
       A[M]:=A[i];
       A[i]:=B;
       p:=p+1;
       {Вывод каждого шага сортировки}
       Write('Перестановка №',p,':');
       For j:= 1 to N do
           Write(' ',A[j]);
       WriteLn;
       End;
    End;
WriteLn;
Write('Отсортированный массив:');
For i:= 1 to N do
    Write(' ',A[i]);
{Бинарный поиск}
WriteLn;
Write('Введите число: ');ReadLn(C);
m:=N div 2;
i:=1;
j:=N;
s:=0;
While (A[m]<>C)and(i<=j) do
   Begin
   if C > A[m] then i:=m+1
   else j:=m-1;
   s:=s+1;
   m:=(i+j) div 2;
   End;
WriteLn;
if A[m]=C then WriteLn('В массиве есть данное число')
else WriteLn('В массиве нет данного числа');
WriteLn('Кол-во перестановок за сортировку: ',p);
WriteLn('Кол-во сравнений за поиск: ',s);
End.

Примеры:
Исходный массив: 0 4 5 4 1 2 6 7 0 7
Перестановка №1: 0 0 5 4 1 2 6 7 4 7
Перестановка №2: 0 0 1 4 5 2 6 7 4 7
Перестановка №3: 0 0 1 2 5 4 6 7 4 7
Перестановка №4: 0 0 1 2 4 5 6 7 4 7
Перестановка №5: 0 0 1 2 4 4 6 7 5 7
Перестановка №6: 0 0 1 2 4 4 5 7 6 7
Перестановка №7: 0 0 1 2 4 4 5 6 7 7

Отсортированный массив: 0 0 1 2 4 4 5 6 7 7
Введите число: 3

В массиве нет данного числа
Кол-во перестановок за сортировку: 7
Кол-во сравнений за поиск: 4

Исходный массив: 4 4 1 3 4 4 5 0 7 2
Перестановка №1: 0 4 1 3 4 4 5 4 7 2
Перестановка №2: 0 1 4 3 4 4 5 4 7 2
Перестановка №3: 0 1 2 3 4 4 5 4 7 4
Перестановка №4: 0 1 2 3 4 4 4 5 7 4
Перестановка №5: 0 1 2 3 4 4 4 4 7 5
Перестановка №6: 0 1 2 3 4 4 4 4 5 7

Отсортированный массив: 0 1 2 3 4 4 4 4 5 7
Введите число: 5

В массиве есть данное число
Кол-во перестановок за сортировку: 6
Кол-во сравнений за поиск: 2
oniks-plus
Код на С++

// Example program#include <bits/stdc++.h>
using namespace std;
int main(){  int mas[100], i, maxl = -1, minl = 30000, sum = 0, k = 0, pro = 1;int n = 1;
while (n != 0) { cin >> n;   if (n != 0) {     k++; maxl = max(n, maxl); minl = min(n, minl); pro = pro * n; }  sum = sum + n;}
cout << k << endl;cout << sum << endl;cout << pro << endl;cout << sum / k << endl;cout << maxl << endl;cout << minl << endl;  return 0;  }

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Какое значение примет переменная х в результате выполнения следующих фрагментов программ? 1) x: =0; for y: =1 to 9 do x: =x+y; 2) x: =1; for y: =1 to 5 do x: =x*y; 3) x: =1; while x< > 1 do begin x: =x+3; x: =x+1; end; 4) x: =1; while x< 100 do begin x: =x*2; end; сколько раз выполниться тело цикла: а) for i: =1 to 10 do x: =x+i; б) for k: =2 to 22 do if k mod 2=0 then s: =s+1;
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Belokonev286
Скворцов
Андрей628
zazaza74
agusarevich283
smokestylemos
sergeykirushev
kmb1960679
gernovoy
vsbrelok
mariokhab
Юлия-Ольга1313
manimen345
Николаевич1033
Мария1414