Вопрос задан 27.02.2019 в 19:48. Предмет Информатика. Спрашивает Гиновян Сергей.

1.Некто составил программу ,в который определяеться количество чисел в интервале от 200 до 500

которые деляться на 14 .Он допустил ошибку. Исправте их и запишите верный вариант программы program Программа_2; var n,z:integer; begin z=:0 ; n=:100 ; for n:=100 to 1000 do begin if (n div 14 =0) then writeln(n); z:=z+1; end; writeln(z); end. 2.Определите ,что будет напечатано в результате выполнения следующего алгоритма записанного в паскале.Укажите ,сколько раз выполниться цикл тела . Var z,n,i:integer; Begin z:=30; for n:=8 to 15 do begin if n > 10 then z:=z-2*n else z:=z+n; end; writeln(z) end.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Корчагіна Дарина.
1)
var n,z:integer;
begin
z:=0;//z=:0 знак присваивания выглядит вот так ":="
//n=:100 - не нужно иницилизировать параметр цикла.
for n:= 200 to 500 do begin//for n:=100 to 1000 do begin - цикл должен идти от 200 до 500, а не со 100 до 1000
if n mod 14 = 0 then //if (n div 14 =0) then - div - Целая часть от деления, а mod - остаток.
z:=z+1;//writeln(n); - Выводить n не нужно совсем, а вот увеличить счетчик не помешает
//z:=z+1;- а вот тут уже лишнее
end;
writeln(z);
end.

2)
-73, выполнится  15 - 8 + 1 =  8 раз

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Давайте рассмотрим каждый вопрос по порядку.

1. Исправление программы на подсчет чисел, делящихся на 14 в интервале от 200 до 500:

Перепишем программу, чтобы она корректно считала количество чисел, делящихся на 14 в интервале от 200 до 500. Ваша исходная программа содержит несколько ошибок. Ниже представлен исправленный вариант:

```pascal program Программа_2; var n, z: integer; begin z := 0; for n := 200 to 500 do begin if (n mod 14 = 0) then begin writeln(n); z := z + 1; end; end; writeln('Количество чисел, делящихся на 14 в интервале от 200 до 500: ', z); end. ```

2. Определение результата выполнения алгоритма:

Давайте проанализируем этот алгоритм.

```pascal Var z, n, i: integer; Begin z := 30; for n := 8 to 15 do begin if n > 10 then z := z - 2 * n else z := z + n; end; writeln(z); end. ```

В этом алгоритме используется цикл `for`, который пробегает значения переменной `n` от 8 до 15. Внутри цикла проверяется условие: если значение `n` больше 10, то из переменной `z` вычитается удвоенное значение `n`, в противном случае к `z` прибавляется `n`.

Давайте проанализируем, что происходит на каждой итерации цикла:

- При `n = 8` выполняется ветвь `else`: `z = z + n`, следовательно, `z = 30 + 8 = 38`. - При `n = 9` также выполняется ветвь `else`: `z = z + n`, `z = 38 + 9 = 47`. - При `n = 10` также выполняется ветвь `else`: `z = z + n`, `z = 47 + 10 = 57`. - При `n = 11` выполняется ветвь `if`: `z = z - 2 * n`, `z = 57 - 2 * 11 = 57 - 22 = 35`. - При `n = 12` также выполняется ветвь `if`: `z = z - 2 * n`, `z = 35 - 2 * 12 = 35 - 24 = 11`. - При `n = 13` также выполняется ветвь `if`: `z = z - 2 * n`, `z = 11 - 2 * 13 = 11 - 26 = -15`. - При `n = 14` также выполняется ветвь `if`: `z = z - 2 * n`, `z = -15 - 2 * 14 = -15 - 28 = -43`. - При `n = 15` также выполняется ветвь `if`: `z = z - 2 * n`, `z = -43 - 2 * 15 = -43 - 30 = -73`.

Таким образом, после выполнения цикла значение переменной `z` будет равно `-73`.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос