
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.

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

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 раз



Давайте рассмотрим каждый вопрос по порядку.
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`.


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









Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili