Тест по информатике «Оператор условного перехода»
Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.
Операторы условного перехода
1. Какой фигурой изображают условие в блок-схеме?
2. Сколько существует видов разветвленного алгоритма?
A ) 1; B ) 2; C ) 3; D ) 4.
3. Найти ошибки в операторах и отметьте правильный вариант ответа.
A) if a>b else c=a-b;
B) if a>b else c=a-b then c=a+b;
C) if a>b then c=a-b else c=a+b;
D) if a>b then c=a+b goto c=a-b;
4. Что будет напечатано в результате выполнения следующей программы, если значение R равно- 10?
If R=0 then Y=R*10
If R>0 then Y=R+10
If R<0 then Y=R*R/2
A) 0; B) 100; C) -10; D) 50.
5. Когда вы используете выражение, которое начинается со слова IF , то обязательно применяется слово:
6. Составьте блок-схему и запишите на языке программирования вычисления по формуле: Y =1/ x
Операторы условного перехода
1 . Какое значение S будет на экране в результате выполнения следующего алгоритма?
A ) 10; B ) 24; C ) 1.5; D ) 6.
2. Сколько вариантов действий можно осуществить при наличии одного разветвления в программе?
A) 1; B) 2; C) 3 ; D) 4 .
3. Найти ошибки в операторах и отметьте правильный вариант ответа.
A) if a><b then c=a-b;
B) if a>b then c=a+b d=a*b else c=a-b;
C) if a>b c=a+b else c=a-b;
D) if a>b then c=a-b else c=a+b;
4. Для чего предназначен оператор PRINT?
A ) Для выполнения линейного алгоритма;
B ) для перехода на нужную строку;
C ) для образования циклов;
D ) для вывода на экран переменных.
5. когда вы используете выражение, в котором есть слово THEN , то в выражении обязательно должно быть слово:
6. Составьте блок-схему и запишите на языке программирования вычисления по формуле: Y =1/( x -1)
Операторы условного перехода
1. Какое значение будет иметь переменная B при значении A = -20, в примере:
IF A>=15 THEN B=A*2 ELSE B=A-10
А) -40 В) 30 С) 20 D ) -30
2. Сколько существует видов разветвленного алгоритма?
A ) 1; B ) 2; C ) 3; D ) 4.
3. Найти ошибки в операторах и отметьте правильный вариант ответа.
A) if a>b else c=a-b then c=a+b;
B) if a>b then c=a-b else c=a+b;
C) if a>b then c=a+b eise c=a-b;
D) if a>b then goto else c=a-b;
4. Какое значение Y будет на экране в результате выполнения следующего алгоритма?
A) -16 ; B) 6 ; C) 4 ; D) -6 .
5. Когда вы используете выражение, которое начинается со слова IF , то обязательно применяется слово:
6. Составьте блок-схему и запишите на языке программирования вычисления по формуле: Y =1/( x +1)
Операторы условного перехода
1. Какое значение Y будет на экране в результате выполнения следующего алгоритма?
A ) -4; B ) 6; C ) 4 ; D ) — 6.
2. Сколько вариантов действий можно осуществить при наличии одного разветвления в программе?
A ) 1; B ) 2; C ) 3; D ) 4.
3. Найти ошибки в операторах и отметьте правильный вариант ответа.
A) if a>b then c=a-b else c=a+b;
B) if a>b then c=a+b d=a*b else c=a-b;
C) if a>b then c=a+b goto c=a-b;
D) if a<b then c=a+b;
4. Для чего предназначен оператор IF ?
A ) Для выполнения линейного алгоритма;
B ) для перехода на нужную строку;
C ) для выбора по условию;
D ) для образования циклов.
5. когда вы используете выражение, в котором есть слово THEN , то обязательно в выражении должно быть слово:
6. Составьте блок-схему и запишите на языке программирования вычисления по формуле: Y =3/( x -5)

Курс повышения квалификации
Современные языки программирования интегрированной оболочки Microsoft Visual Studio C# NET., C++. NET, VB.NET. с использованием структурного и объектно-ориентированного методов разработки корпоративных систем
- Сейчас обучается 47 человек из 25 регионов

Курс повышения квалификации
Базовые приемы применения Premiere Pro для видеомонтажа и обработки видео
- Сейчас обучается 30 человек из 19 регионов

Курс повышения квалификации
Базовые навыки профессионального использования Word

«Домашнее обучение. Лайфхаки для родителей»
- подготовка к ЕГЭ/ОГЭ и ВПР
- по всем предметам 1-11 классов
«Такие разные дети: преимущества тьюторской позиции учителя»
Свидетельство и скидка на обучение каждому участнику
Дистанционные курсы для педагогов
Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:
5 910 636 материалов в базе
«Интеграция современного искусства в детское творчество»
Свидетельство и скидка на обучение
каждому участнику
Ищем педагогов в команду «Инфоурок»
- ЗП до 91 000 руб.
- Гибкий график
- Удаленная работа
Другие материалы
- Информатика
- 7 класс
- Другие методич. материалы
- 27.08.2015
- 1084
- 4
- Информатика
- Презентации
- 27.08.2015
- 1424
- 3
- Информатика
- 7 класс
- Конспекты
- 27.08.2015
- 2220
- 8
- Информатика
- 11 класс
- Конспекты
- 27.08.2015
- 3697
- 15
- Информатика
- 6 класс
- Рабочие программы
- 27.08.2015
- 600
- 0
- Информатика
- 11 класс
- Презентации
- 26.08.2015
- 2017
- 2
- Информатика
- 8 класс
- Презентации
- 26.08.2015
- 524
- 0
«Практический подход в работе с утратой смысла жизни: логотерапия»
Свидетельство и скидка на обучение каждому участнику
Вам будут интересны эти курсы:
- Курс повышения квалификации «Внедрение системы компьютерной математики в процесс обучения математике в старших классах в рамках реализации ФГОС»
- Курс повышения квалификации «Облачные технологии в образовании»
- Курс повышения квалификации «Сетевые и дистанционные (электронные) формы обучения в условиях реализации ФГОС по ТОП-50»
- Курс повышения квалификации «Развитие информационно-коммуникационных компетенций учителя в процессе внедрения ФГОС: работа в Московской электронной школе»
- Курс повышения квалификации «Использование компьютерных технологий в процессе обучения в условиях реализации ФГОС»
- Курс повышения квалификации «Введение в программирование на языке С (СИ)»
- Курс профессиональной переподготовки «Теория и методика обучения информатике в начальной школе»
- Курс повышения квалификации «Современные тенденции цифровизации образования»
- Курс повышения квалификации «Специфика преподавания дисциплины «Информационные технологии» в условиях реализации ФГОС СПО по ТОП-50»
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.
- 27.08.2015 6882
- DOCX 49 кбайт
- Оцените материал:
Настоящий материал опубликован пользователем Петрова Анна Геннадьевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Автор материала
- На сайте: 6 лет и 9 месяцев
- Подписчики: 1
- Всего просмотров: 13173
- Всего материалов: 5
40%
Московский институт профессиональной
переподготовки и повышения
квалификации педагогов
Дистанционные курсы
для педагогов
663 курса от 690 рублей
Выбрать курс со скидкой
Выдаём документы
установленного образца!
79 минут
«Как выстроить взаимодействие игры и музыки при нарушениях сенсорной интеграции детей с ОВЗ дошкольного возраста»
29 минут
«Как учить детей управлять своими эмоциями и поведением»
19 минут
«Основы финансовой грамотности с детства»
Подарочные сертификаты
- Курсы «Инфоурок»
- Онлайн-занятия с репетиторами на IU.RU
Ответственность за разрешение любых спорных моментов, касающихся самих материалов и их содержания, берут на себя пользователи, разместившие материал на сайте. Однако администрация сайта готова оказать всяческую поддержку в решении любых вопросов, связанных с работой и содержанием сайта. Если Вы заметили, что на данном сайте незаконно используются материалы, сообщите об этом администрации сайта через форму обратной связи.
Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение администрации может не совпадать с точкой зрения авторов.
Требуется подсчитать сумму натуральных чисел от 2 до 22. Какое условие нужно использовать в цикле While?
Какое значение Y будет на экране в результате выполнения следующего алгоритма? 
Определите значение переменной S после выполнения программы:
VAR A,S: INTEGER;
BEGIN
S:=0;
FOR A:=1 TO 4 DO
S:=S+SQR(A);
WRITE(‘S=’, S);
END.
Какое значение будет иметь переменная B при значении А:= -20, в примере:
if A>=15
then B:=A*2
else B:= A — 10?
– 30
Что будет напечатано в результате выполнения следующей программы,
если значение R равно –10?
read(R);
if R=0 then Y:=R*10;
if R>0 then Y:=R+10;
if R<0 then Y:=R*R/2;
write (‘Y=’, Y)
Информатика ЕГЭ 6 задание разбор
6-е задание: «Программирование: основные конструкции»
Уровень сложности — базовый,
Требуется использование специализированного программного обеспечения — нет,
Максимальный балл — 1,
Примерное время выполнения — 4 минуты.
Проверяемые элементы содержания: Знание основных конструкций языка программирования, понятия переменной, оператора присваивания
Задание демонстрационного варианта 2022 года ФИПИ
Плейлист видеоразборов задания на YouTube: 
var k,n,p,l,s,x:integer; var s, n: integer; begin readln (s); n := 1; while s <=45 do begin s := s + 4; n := n * 2 end; writeln(n) end.
s = int(input()) n = 1 while s <= 45: s = s + 4 n = n * 2 print( n )
Ответ: 14
Видеорешение подобного 6 задания на Python:
📹 Видео
📹 Видеорешение на RuTube здесь
-
✎ Способ 1 (программный):
Pascalabc.net:
begin var s0 := 1; while true do // внешний цикл, бесконечный begin var s := s0; // — код из условия задания — // var n := 1; while s <= 45 do // внутренний цикл из задания begin s := s + 4; n := n * 2; end; // — конец кода из условия задания — // if n = 256 then // если найдено, то выводим соответствующее s begin print(s0); break; // выход из бесконечного цикла end; s0 := s0 + 1; // end; end.
s1 = 1 while True: # внешний цикл, бесконечный s = s1 # — код из условия задания — n = 1 while s <= 45: s = s + 4 n = n * 2 # — конец кода из условия задания — if n == 256: print(s1) break s1 += 1
var s, n: integer; begin readln (s); n := 3; while s <= 51 do begin s := s + 7; n := n * 2 end; writeln(n) end.
s = int(input()) n = 3 while s <= 51: s = s + 7 n = n * 2 print( n )
begin var s1 := 50; while true do // внешний цикл, бесконечный begin var s := s1; // — код из условия задания — // var n := 3; while s <= 51 do // внутренний цикл из задания begin s := s + 7; n := n * 2; end; // — конец кода из условия задания — // if n = 96 then // если найдено, то выводим соответствующее s begin print(s1); break; // выход из бесконечного цикла end; s1 := s1 — 1; // end; end.
s1 = 50 while True: # внешний цикл, бесконечный s = s1 # — код из условия задания — n = 3 while s <= 51: s = s + 7 n = n * 2 # — конец кода из условия задания — if n == 96: print(s1) break s1 -= 1
Сколько существует различных значений d , оканчивающихся на 8, при вводе которых эта приведенная программа выведnет число 50?
var S, N, d: integer; begin readln(d); S := 15; N := 10; while S <= 2400 do begin S := S + d; N := N + 5; end; writeln(N); end.
d = int(input()) S = 15 N = 10 while S <= 2400: S = S + d N = N + 5 print(N)
Ответ: 4
-
✎ Способ 1 (программный):
Pascalabc.net:
begin var counter:=0; var d1:=1; while true do begin var d := d1; // из условия задачи var s := 15; var n := 10; while s <= 2400 do begin s := s + d; n:=n + 5; end; // проверка условий: увеличение счетчика if (d mod 10 = 8) and (n = 50) then begin counter+=1;; end; d1 += 1; // выход из бесконечного цикла if d1 = 2400 then break; end; print (counter) end.
counter = 0 d1 = 1 while True: s = 15 n = 10 d = d1 # — код из условия задания — while s <= 2400: s = s + d n = n + 5 if d%10==8 and n==50: counter+=1 d1=d1+1 if d1 == 2400: break print (counter)
Определите наименьшее и наибольшее введённое значение переменной s , при котором программа выведет число 210. В ответ запишите оба числа в порядке убывания без пробелов и других разделителей
var s, n: integer; begin readln(s); n := 600; while n > s do begin s := s + 3; n := n — 6 end; writeln(n) end.
s = int(input()) n = 600 while n > s: s = s + 3 n = n — 6 print(n)
Ответ: 2315
-
✎ Способ 1 (программный):
begin var s_ := -100; while true do begin var n := 600; var s := s_; while n > s do begin s := s + 3; n := n — 6 end; if n = 210 then print(s_); s_ += 1; if s > 1000 then break; end; end.
s_ = -100 while True: # внешний цикл, бесконечный s = s_ n = 600 # — код из условия задания — while n > s: s = s + 3 n = n — 6 # — конец кода из условия задания — if n == 210: print(s_) s_ += 1 if s > 1000: break
Определите, при каком наибольшем положительном введённом значении переменной s программа выведет трёхзначное число.
var s, n: integer; begin readln (s); n := 200; while s div n >= 2 do begin s := s + 5; n := n + 5 end; writeln(s) end.
s = int(input()) n = 200 while s // n >= 2: s = s + 5 n = n + 5 print(s)
Ответ: 699
-
✎ Способ 1 (программный):
begin var s_ := 1000; while true do begin var n := 200; var s := s_; while s div n >= 2 do begin s := s + 5; n := n + 5 end; if (s > 99) and (s<1000) then begin print(s_); break; end; s_ -= 1; end; end.
s_ = 1000 while True: # внешний цикл, бесконечный s = s_ n = 200 # — код из условия задания — while s // n >=2: s = s + 5 n = n + 5 # — конец кода из условия задания — if 99 < s < 1000: print(s_) break s_ -= 1
Получив на вход некоторое натуральное число X , этот алгоритм печатает одно число. Сколько существует чисел Х , для которых алгоритм напечатает число на отрезке [2;500]?
var x, s, n: integer; begin readln(x); s := 6 * (x div 15); n := 1; while s < 300 do begin s := s + 18; n := n * 2 end; writeln(n) end.
x = int(input()) s = 6 * (x // 15) n = 1 while s < 300: s = s + 18 n = n * 2 print(n)
Ответ: 360
-
✎ Способ 1 (программный):
begin var x := 1; var count := 0; while true do begin var s := 6 * (x div 15); var n := 1; while s < 300 do begin s := s + 18; n := n * 2 end; if (n >= 2) and (n <= 500) then count += 1; x += 1; if x > 1000 then break; end; print(count) end.
x = 1 count = 0 while True: # внешний цикл, бесконечный s = 6 * (x // 15) n = 1 while s <300: s = s + 18 n = n * 2 # — конец кода из условия задания — if 1 < n < 501: count+=1 x += 1 if x > 1000: break print (count)
Решения подобных заданий прошлых лет
Определить, какое число пропущено
Сопоставьте формулу:
и программу, предназначенную для расчета по данной формуле. Программа написана правильно, а в формуле допущена ошибка.
Определите, где и какое число в формуле пропущено?
var k,n,p,l,s,x:integer; begin writeln(‘введите n=’); readln(n); writeln(‘введите x=’); readln(x); s:=0; p:=1; l:=x; For k:=1 to n do begin p:=p * k; s:=s + 3*l/p; l:=l*x; end; writeln(‘S=’,S:5:2); end.
INPUT "введите n=", n INPUT "введите x=", x s=0: p=1 l=x FOR k:=1 to n p = p * k: s = s + 3*l/p l = l*x NEXT k PRINT "S=",S END
n = int(input(‘введите n=’)) x = int(input(‘введите x=’)) s=0 p=1 l=x For k in range (1,n+1): p*= k s+=3*l/p l*=x print(‘S=’,S)
Ответ: 3
- Рассмотрим формулу:
Фактически она обозначает: сумма x k / k! для всех k, начиная от 1 до n.
Простые задания с двумя линейными непересекающимися функциями
Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k,s:integer; begin s:=512; k:=0; while s<2048 do begin s:=s+64; k:=k+1; end; write(k); end.
DIM S, K AS INTEGER S = 512 K = 0 WHILE S < 2048 S = S + 64 K = K + 1 WEND PRINT K
s = 512 k = 0 while s < 2048: s = s + 64 k = k + 1 print(k)
Ответ: 24
- В цикле k увеличивается на единицу (k — счетчик). Соответственно, k будет равно количеству итераций (повторов) цикла. После завершения работы цикла k выводится на экран, т.е. это и есть результат работы программы.
- В цикле s увеличивается на 64. Для простоты расчетов возьмем начальное s не 512, а 0. Тогда условие цикла поменяется на s (2048 — 512 = 1536):
- Цикл будет выполняться пока s , а s увеличивается на 64, отсюда следует что итераций цикла (шагов) будет:
- Соответственно, k = 24 .
Определите, что будет напечатано в результате выполнения программы:
var s, i: integer; begin i := 1; s := 105; while s > 5 do begin s := s — 2; i := i + 1 end; writeln(i) end.
DIM S, I AS INTEGER I = 1 S = 105 WHILE S > 5 S = S — 2 I = I + 1 WEND PRINT I
i = 1 s = 105 while s > 5: s = s — 2 i = i + 1 print(i)
#include <iostream> using namespace std; int main() < int s = 105, i = 1; while (s > 5) < s = s - 2; i = i + 1; >cout << i << endl; return 0; >
Ответ: 51
- Рассмотрим алгоритм. Цикл зависит от переменной s, которая уменьшается каждую итерацию цикла на 2.
- В цикле также присутствует счетчик — переменная i, которая увеличится на единицу ровно столько раз, сколько итераций (проходов) цикла. Т.е. в результате выполнения программы распечатается значение, равное количеству итераций цикла.
- Поскольку условие цикла зависит от s, нам необходимо посчитать, сколько раз сможет s уменьшиться на 2 в цикле. Для удобства подсчета изменим условие цикла на while s > 0 ; так как мы s уменьшили на 5, соответственно, изменим и 4-ю строку на s:=100 (105-5):
- Для того чтобы посчитать, сколько раз выполнится цикл, необходимо 100 разделить на 2, т.к. s каждый шаг цикла уменьшается на 2:
- В 3-й строке видим, что начальным значением i является 1, т.е. в первую итерацию цикла i = 2. Значит, нам необходимо к результату (50) прибавить 1.
- Это значение и будет выведено на экран.
Запишите число, которое будет напечатано в результате выполнения следующей программы.
Паскаль:
var s, n: integer; begin s := 260; n := 0; while s > 0 do begin s := s — 15; n := n + 2 end; writeln(n) end.
DIM S, N AS INTEGER S = 260 N = 0 WHILE S > 0 S = S — 15 N = N + 2 WEND PRINT N
s = 260 n = 0 while s > 0: s = s — 15 n = n + 2 print(n)
#include <iostream> using namespace std; int main() < int s = 260, n = 0; while (s > 0) < s = s - 15; n = n + 2; >cout << n << endl; return 0; >
Ответ: 36
-
Рассмотрим алгоритм:
Определите, что будет напечатано в результате выполнения следующего фрагмента программы:
var k,s: integer; begin k:=1024; s:=50; while s>30 do begin s:=s-4; k:=k div 2; end; write(k) end.
DIM S, K AS INTEGER S = 50 K = 1024 WHILE S > 30 S = S — 4 K = K \ 2 WEND PRINT K
s = 50 k = 1024 while s > 30: s = s — 4 k = k // 2 print(k)
Ответ: 32
Определите значение переменной c после выполнения следующего фрагмента программы. Ответ запишите в виде целого числа.
a:=-5; c:=1024; while a<>0 do begin c:=c div 2; a:=a + 1 end;
A = -5 C = 1024 WHILE A <> 0 C = C \ 2 A = A + 1 WEND
a = -5 c = 1024 while a != 0: c = c // 2 a = a + 1
int a = -5, c = 1024; while (a != 0) < c = c / 2; a = a + 1; >
Ответ: 32
Определите, что будет напечатано в результате работы следующего фрагмента программы.
var n, s: integer; begin n := 1; s := 0; while s <= 365 do begin s := s + 36; n := n * 2 end; write(n) end.
N = 1 S = 0 WHILE S <= 365 S = S + 36 N = N * 2 WEND PRINT N
n = 1 s = 0 while s <= 365: s = s + 36 n = n * 2 print(n)
Ответ: 2048
- с каждым шагом цикла значение s увеличивается на 36, пока не станет больше 365; а значение n увеличивается в 2 раза, так что n=2 k , где k – это число итераций цикла;
- поскольку s увеличивается на 36, конечное значение s должно быть равно 0+36*k , достигается при k=11 (и s=36*11=396);
- тогда n = 2 k = 2 11 = 2048 .
Сумма или разность двух линейных функций (while s — n или while s + n)
Запишите число, которое будет напечатано в результате выполнения следующей программы:
var s, n: integer; begin s := 522; n := 400; while s — n > 0 do begin s := s — 20; n := n — 15 end; write(s) end.
DIM S, N AS INTEGER S = 522 N = 400 WHILE S — N > 0 S = S — 20 N = N — 15 WEND PRINT S
s = 522 n = 400 while s — n > 0: s = s — 20 n = n — 15 print(s)
Ответ: 22
- В алгоритме присутствует цикл. Для того, чтобы разобраться в алгоритме, выполним трассировку начальных итераций цикла:
№ шага условие цикла s n 1 522-400=122
122 > 0522-20=502 400-15=385 2 502-385=117
117 > 0502-20=482 385-15=370 3 482-370=112
112 > 0. . - Видим, что в условии разница между значениями составляет 5:
- Таким образом, чтобы определить количество итераций (шагов) цикла, необходимо значение условия цикла, полученное в первой итерации, разделить на 5:
Это значит, что на 24-й итерации цикла переменные s и n получили такие значения, после которых условие еще осталось истинным: 2 > 0. На 25-м шаге выполняется это условие:
Запишите число, которое будет выведено в результате работы программы:
var s, n: integer; begin s := 10; n := 55; while n > s do begin s := s + 1; n := n — 1 end; writeln(n) end.
DIM S, N AS INTEGER S = 10 N = 55 WHILE N > S S = S + 1 N = N — 1 WEND PRINT N
s = 10 n = 55 while n > s: s = s + 1 n = n — 1 print(n)
#include <iostream> using namespace std; int main() < int s = 10, n = 55; while (n > s) < s = s + 1; n = n - 1; >cout << n << endl; return 0; >
Ответ: 32
- Для условия цикла — перенесем влево:
- Согласно начальным значениям, имеем:
- Запишем, как будет изменяться условие цикла в каждой итерации (в каждом шаге):
- Т.е. условие цикла будет истинным пока возможно вычитать 2. Сколько раз можно вычесть два из 45?
- Соответственно, получили 23 итерации цикла.
- Изначально n = 55. С каждой итерацией выполнялось n-1. Посчитаем n:
Поиск наименьшего/наибольшего целого введенного числа d
При каком наименьшем целом введенном числе d после выполнения программы будет напечатано число 192?
var k,s,d: integer; begin readln (d); s:=0; k:=0; while k < 200 do begin s:=s+64; k:=k+d; end; write(s); end.
DIM S, K, D AS INTEGER INPUT D S = 0 K = 0 WHILE K < 200 S = S + 64 K = K + D WEND PRINT S
d = int (input ()) s = 0 k = 0 while k < 200: s = s + 64 k = k + d print(s)
Ответ: 67
- Цикл зависит от переменной k, которая каждую итерацию цикла увеличивается на значение d (вводимое). Цикл закончит «работу», когда k сравняется с 200 или превысит его (k >= 200).
- Результатом программы является вывод значения переменной s. В цикле s увеличивается на 64.
- Так как по заданию необходимо, чтобы вывелось число 192, то число повторов цикла определим так:
- Так как в цикле k увеличивается на значение d, а повторов цикла 3 (при этом цикл завершается при k>=200), составим уравнение:
- Поскольку число получилось нецелое, то проверим и 66 и 67. Если мы возьмем 66, то:
т.е. цикл после трех прохождений еще продолжит работу, что нам не подходит.
Запишите через запятую наименьшее и наибольшее значение числа d, которое нужно ввести, чтобы после выполнения программы было напечатано 153?
var n, s, d: integer; begin readln(d); n := 33; s := 4; while s <= 1725 do begin s := s + d; n := n + 8 end; write(n) end.
DIM S, N, D AS INTEGER INPUT D N = 33 S = 4 WHILE S <= 1725 S = S + D N = N + 8 WEND PRINT N
d = int (input ()) n = 33 s = 4 while s <= 1725: s = s + d n = n + 8 print(n)
Ответ: 115, 122
- Цикл программы зависит от значения переменной s, которая в цикле постоянно увеличивается на значение d (d вводится пользователем в начале программы).
- Кроме того, в цикле переменная n увеличивается на 8. Значение переменной n выводится на экран в конце программы, т.е. по заданию n к концу программы должно n = 153.
- Необходимо определить количество итераций цикла (прохождений). Так как начальное значение n = 33, а в конце оно должно стать 153, в цикле увеличиваясь на 8, то сколько раз 8 «поместится» в 120 (153 — 33)? :
- Как мы определили, цикл зависит от s, которая в начале программы s = 4. Для простоты работы примем, что s = 0, тогда изменим и условие цикла: вместо s сделаем s (1725-1721)
- Найдем d. Так как цикл выполняется 15 раз, то необходимо найти такое целое число, которое при умножении на 15 возвращало бы число большее 1721:
- 115 — это наименьшее d при котором n станет равным 153 (за 15 шагов цикла).
- Найдем наибольшее d. Для этого надо найти такое число, которое соответствует неравенствам:
- Найдем:
- Наибольшее d= 122
Усложненные задания с двумя линейными функциями
Запишите число, которое будет напечатано в результате выполнения следующей программы:
var s, n: integer; begin s := 0; n := 0; while 2*s*s < 123 do begin s := s + 1; n := n + 2 end; writeln(n) end.
DIM S, N AS INTEGER S = 0 N = 0 WHILE 2*S*S < 123 S = S + 1 N = N + 2 WEND PRINT N
s = 0 n = 0 while 2*s*s < 123: s = s + 1 n = n + 2 print(n)
Ответ: 16
- В цикле переменная s постоянно увеличивается на единицу (работает как счетчик), а переменная n в цикле увеличивается на 2.
- В результате работы программы на экран выводится значение n.
- Цикл зависит от s, причем работа цикла завершится когда 2 * s 2 >= 123.
- Необходимо определить количество прохождений цикла (итераций цикла): для этого определим такое наименьшее возможное s, чтобы 2 * s 2 >= 123:
Либо просто нужно было бы найти такое наименьшее возможное четное число >= 123, которое при делении на 2 возвращало бы вычисляемый корень числа:
Арифметическая и геометрическая прогрессия
Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer; begin s:=3; k:=1; while k < 25 do begin s:=s+k; k:=k+2; end; write(s); end.
DIM S, K AS INTEGER S = 3 K = 1 WHILE K < 25 S = S + K K = K + 2 WEND PRINT S
s = 3 k = 1 while k < 25: s = s + k k = k + 2 print(s)
#include <iostream> using namespace std; int main() < int s = 3, k = 1; while (k < 25) < s = s + k; k = k + 2; >cout << s << endl; return 0; >
Ответ: 147
- Результатом программы является вывод значения s.
- В цикле s меняется, увеличиваясь на k, при начальном значении s = 3.
- Цикл зависит от k. Выполнение цикла завершится при k >= 25. Начальное значение k = 1.
- В цикле k постоянно увеличивается на 2 -> значит, можно найти количество итераций цикла.
- Количество итераций цикла равно:
(т.к. k изначально равнялось 1, то в последнее, 12-е прохождение цикла, k = 25; условие цикла ложно)
где a1 — первый член прогрессии,
d — разность,
n — количество членов прогрессии (в нашем случае — кол-во итераций цикла)
Запишите число, которое будет напечатано в результате выполнения программы:
var n, s: integer; begin n := 1; s := 0; while n <= 1000 do begin s := s + n; n := n * 2 end; write(s) end.
DIM N, S AS INTEGER N = 1 S = 0 WHILE N <= 1000 S = S + N N = N * 2 WEND PRINT S
n = 1 s = 0 while n <= 1000: s = s + n n = n * 2 print(s)
#include <iostream> using namespace std; int main() < int n = 1, s = 0; while (n <= 1000) < s = s + n; n = n * 2; >cout << s << endl; return 0; >


