Задача №8. Анализ программы с циклами.
Автор материалов - Лада Борисовна Есакова.
Для решения этой задачи нужно знать основные конструкции языка программирования:
- Объявление переменных;
- Оператор присваивания;
- Оператор вывода;
- Операторы цикла.
Кроме этого, пригодятся математические формулы:
n-го члена арифметической прогрессии ,
суммы n членов геометрической прогрессии.

Пример 1.
Запишите число, которое будет напечатано в результате выполнения программы. Для Вашего удобства программа представлена на пяти языках программирования.
Бейсик
|
Python
|
DIM S, N AS INTEGER
S = 47
N = 1
WHILE S > 0
S = S - 9
N = N + 4
WEND
PRINT(N) |
s = 47
n = 1
while s > 0:
s = s - 9
n = n + 4
print(n) |
Паскаль
|
Алгоритмический язык
|
var s, n: integer;
begin
s := 47;
n := 1;
while s > 0 do
begin
s := s - 9;
n := n + 4
end;
writeln(n)
end. |
алг
нач
цел s, n
s := 47
n := 1
нц пока s > 0
s := s - 9
n := n + 4
кц
вывод n
кон |
Си
|
#include <stdio.h>
void main()
{
int s, n;
s = 47;
n = 1;
while (s > 0) {
s = s – 9;
n = n + 4;
}
printf("%d\n", n);
} |
Решение:
Цикл while выполняется до тех пор, пока истинно условие s > 0, т. е. переменная s определяет, сколько раз выполнится цикл. Поскольку изначально s = 47, а затем уменьшается на 9, цикл выполнится 6 раз, следовательно, n = 6 · 4 + 1 = 25.
Ответ: 25
Пример 2.
Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.
Бейсик
|
Python
|
DIM S, N AS INTEGER
S = 0
N = 0
WHILE S < 111
S = S + 8
N = N + 2
WEND
PRINT N |
s = 0
n = 0
while s < 111:
s = s + 8
n = n + 2
print(n) |
Паскаль
|
Алгоритмический язык
|
var s, n: integer;
begin
s := 0;
n := 0;
while s < 111 do
begin
s := s + 8;
n := n + 2
end;
writeln(n)
end. |
алг
нач
цел n, s
n := 0
s := 0
нц пока s < 111
s := s + 8
n := n + 2
кц
вывод n
кон |
Си
|
#include
int main()
{ int s = 0, n = 0;
while (s < 111) { s = s + 8; n = n + 2; }
printf("%d\n", n);
return 0;
} |
Решение:
Цикл while выполняется до тех пор, пока истинно условие s < 111, т. е. переменная s определяет, сколько раз выполнится цикл. Поскольку изначально s = 0, а затем увеличивается на 8, цикл выполнится 14 раз, следовательно, n = 2 * 14 = 28.
Ответ: 28
Пример 3.
Запишите число, которое будет напечатано в результате выполнения программы. Для Вашего удобства программа представлена на пяти языках программирования.
Бейсик
|
Python
|
DIM S, N AS INTEGER
S = 301
N = 0
WHILE S > 0
S = S - 10
N = N + 2
WEND
PRINT N |
s = 301
n = 0
while s > 0:
s = s - 10
n = n + 2
print(n) |
Паскаль
|
Алгоритмический язык
|
var s, n: integer;
begin
s := 301;
n := 0;
while s > 0 do
begin
s := s - 10;
n := n + 2
end;
writeln(n)
end. |
алг
нач
цел n, s
s := 301
n := 0
нц пока s > 0
s := s - 10
n := n + 2
кц
вывод n
кон |
Си
|
#include <stdio.h>
int main()
{
int s = 301, n = 0;
while (s > 0) {
s = s - 10;
n = n + 2;
}
printf("%d\n", n);
return 0;
} |
Решение:
Заметим, что после 30 итераций цикла s = 1, а n = 60. После 31 итерации станет s = -9, n = 62, и цикл прекратится.
Ответ: 62
Ты нашел то, что искал? Поделись с друзьями!
Благодарим за то, что пользуйтесь нашими публикациями.
Информация на странице «Задача №8. Анализ программы с циклами.» подготовлена нашими авторами специально, чтобы помочь вам в освоении предмета и подготовке к экзаменам.
Чтобы успешно сдать необходимые и поступить в высшее учебное заведение или колледж нужно использовать все инструменты: учеба, контрольные, олимпиады, онлайн-лекции, видеоуроки, сборники заданий.
Также вы можете воспользоваться другими материалами из данного раздела.
Публикация обновлена:
08.05.2023