Что будет выведено на экран после выполнения фрагмента программы

от admin

Определите, что будет выведено на экран после выполнения фрагмента программы: x:=0; y:=5; While y больше 0 do begin y:=y

Для того, чтобы определить, что будет выведено на экран после выполнения фрагмента данной программы, пройдемся по ее коду и найдем конечный результат:

While y больше 0

do begin y:= y — 2; (y:= 5 — 2 = 3);

x:= x + y; (x:= 0 + 3 = 3);

2) Поскольку полученное значение y = 3 больше нуля, то мы не выходим из цикла while и продолжаем выполнение программы:

do begin y:= y — 2; (y:= 3 — 2 = 1);

x:= x + y; (x:= 3 + 1 = 4);

3) Поскольку полученное значение y = 1 больше нуля, то мы не выходим из цикла while и продолжаем выполнение программы:

do begin y:= y — 2; (y:= 1 — 2 = -1);

x:= x + y; (x:= 4 + (-1) = 3);

4) Поскольку полученное значение y = -1 меньше нуля, то мы выходим из цикла while и продолжаем выполнение программы:

Что будет выведено на экран после выполнения фрагмента программы

10 месяцев назад

а ну-ка.
3.Определите, что будет выведено на экран после выполнения фрагмента программы:
x := 6;
y := x-5;
y := y-1;
if (y>=0) then writeln(\’Ola\’)
else writeln(\’Hello\’);

4. Что будет напечатано в ходе выполнения данной программы?
var a,b: integer;
begin
a:=5;
b:=a-7;
a:=a-b;
while (a>0) do begin
a:=a-2;
b:=b+3;
end;
write(b);
end. ​​

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

Имеется целый класс задач, решение которых сводится к перебору различных вариантов, среди которых выбирается такой, который удовлетворяет условию задачи.

Пример 2. Поиск делителей целого числа N.
Целое число K является делителем N, если остаток от деления N на K равен 0. Чтобы найти все делители достаточно перебрать все числа от 1 до N и проверить, являются ли они делителями.



program z11;
var n,i:integer;
BEGIN
readln(n);
for i:=1 to n do
if n mod i = 0 then
write(i, ‘ ‘);
END.

На этом примере ясна общая структура решения задач на перебор вариантов. Для организации перебора используется цикл, каждый шаг выполнения которого соответствует рассмотрению одного из вариантов. Внутри цикла стоит проверка, подходит ли данный вариант под условие задачи.

Решая задачи методом перебора, всегда следует подумать, а нельзя ли каким-то образом сократить количество перебираемых вариантов. В данном случае заметим, что любое число делится само на себя и на 1. Поэтому эти варианты можно исключить из перебора. Более того, наибольшим делителем, отличным от самого числа N может быть только N/2, а все числа, большие N/2 заведомо делителями не являются. Учет этих особенностей приводит к более эффективной программе:

program z11;
var n,i:integer;
BEGIN
readln(n);
write(1, ‘ ‘, n,’ ‘);
for i:=2 to n div 2 do
if n mod i = 0 then
write(i, ‘ ‘);
END.

Продолжая размышления о сокращении перебора, заметим, что если i является делителем, то частное от деления на i — тоже делитель. Таким образом, выводя делители парами, можно ограничится перебором до корня из n:

program z11;
var n,i,m:integer;
BEGIN
readln(n);
m:=trunc(sqrt(n));
write(1, ‘ ‘, n,’ ‘);
for i:=2 to m do
if n mod i = 0 then
write(i, ‘ ‘,n div i,’ ‘);
END.

Задание 3. Старинная задача. Сколько можно купить быков, коров и телят, если плата за быка 10 рублей, за корову — 5 рублей, за теленка — полтинник (0.5 рубля), если на 100 рублей надо купить 100 голов скота.

Обозначим через b — количество быков; k — количество коров; t — количество телят. После этого можно записать два уравнения: 10b+5k+0.5t=100 и b+k+t=100. Преобразуем их: 20b+10k+t=200 и b+k+t=100.
На 100 рублей можно купить:
не более 10 быков, т. е. 0<b<10,
не более 20 коров, т. е. 0<k<20,
не более 200 телят, т. е. 0<t<200.

Читать:
Число у которого 6 делителей

Тесты Посмотреть решение

Экспериментальный раздел работы

1. Сколько раз будет проверяться условие? (11*21*201=46431 раз)
2. Можно ли сократить количество проверок? (Если известно количество коров и быков, тогда количество телят можно найти с.о. 100-(b+k)).

Program z2;
Var b, k, t: Integer;
Begin
For b:=0 To 10 Do
For k:=0 To 20 Do
begin
t:=100-(b+k);
If (20*b+10*k+t=200) and (b+k+t=100)
Then WriteLn (‘ b= ‘ ,b,’ k= ‘,k,’ t= ‘ ,t);
end;
End.


3. Сколько раз будет выполняться проверка условия в этом случае? (11*21=231 раз)

Пример 5. Написать программу, которая находит все четырехзначные числа abсd (а, b, с, d — цифры числа, причем между ними нет совпадений, т. е. числа, например, типа 1221 нас не устраивают, т. е. любые две цифры числа различны), для которых выполняется условие: ab-cd=a+b+c+d. Другими словами, разность чисел, составленных из старших цифр числа и из младших, равна сумме цифр числа.
Например, рассмотрим число 5236: 52-36=5+2+3+6; 16=16.

Один из способов решения— перебор всех четырехзначных чисел и проверка выполнения условия. Попробуем сократить перебор, для этого преобразуем условие.
10*a+b-(10*c+d)=a+b+c+d
10*a+b-10*c-d=a+b+c+d;
9a-11c-2d=0
9a-9c-2c-2d=0
9(a-c)=2(c+d)
(a-c)/(c+d)=2/9, тогда a-c=2 и c+d=9, следовательно, а=с+2, d=9-c и 0≤с≤7.

program z3;
Var a,b,c, d:Integer;
Begin
For c:=0 To 7 Do
Begin
a:=c+2;
d:=9-c;
For b:=0 To 9 Do
If (b<>c) And (b<>a) And (b<>d) Then writeln(a,b,c,d) ;
End;
End.

Задания для самостоятельной работы

1. Что будет выведено на экране монитора после выполнения следующего фрагмента программы:
a:=1; b:=1;
For i:=0 to n Do
Begin
For j:=1 To b Do
Write (‘*’) ;
WriteLn;
c:=a+b; a:=b; b:=c;
End;

если n=6? Решение какой задачи выражает этот фрагмент программы?

2. Что будет выведено на экране монитора после выполнения следующего фрагмента программы:
b: = 0 ;
While а<>0 Do
Begin
b:=b*10+а Mod 10;
а:=а Div 10;
End;
Write (b) ;

если a=13305? Решение какой задачи выражает этот фрагмент программы?

8.3.3 Python. Условный оператор

if <условие>:
<оператор1>
else:
<оператор2>
Если условие ложно, то:

Варианты ответов
  • выполняется оператор 1
  • выполняется оператор 2
  • операторы не выполняются
  • выполняются оба оператора
Вопрос 4

if <условие>:
<оператор1>
else:
<оператор2>
Если условие истино, то:

Варианты ответов
  • выполняется оператор 1
  • выполняется оператор 2
  • операторы не выполняются
  • выполняются оба оператора
Вопрос 5

Составные условия строятся из простых с помощью:

Варианты ответов
  • логических операций and, or, not
  • арифметических операций +, — , *
  • с помощью операций and, or, not, +, — , *
Вопрос 6

Логическая операция and — это:

Варианты ответов
  • логическое И
  • логическое ИЛИ
  • логическое отрицание
Вопрос 7

Логическая операция or — это:

Варианты ответов
  • логическое И
  • логическое ИЛИ
  • логическое отрицание
Вопрос 8

Логическая операция not — это:

Варианты ответов
  • логическое И
  • логическое ИЛИ
  • логическое отрицание
Вопрос 9

Слово if переводится как-

Варианты ответов
  • если
  • то
  • иначе
  • для
Вопрос 10

Слово else переводится как-

Варианты ответов
  • если
  • то
  • иначе
  • для
Вопрос 11

Что будет выведено на экран после выполнения фрагмента программы:
x=6
y=x+2
if y>=x :
print(y+x)
else:
print(y-x)

Вопрос 12

Что будет выведено на экран после выполнения фрагмента программы:
f=9
h=f-6
if f<=h:
print(h+f*2)
else:
print(f-h*2)

Вопрос 13

Что будет выведено на экран после выполнения фрагмента программы:
f=15
h=f-6
if f>h:
print(h+f*2)
else:
print(f-h*2)

Вопрос 14

Что будет выведено на экран после следующего фрагмента программы:
r=8
s=r-2
if s>r or r%2==0:
print(r+2*s)
else:
print(s+r*2)

Вопрос 15

Что будет выведено на экран после фрагмента программы описанного в блок-схеме:

Похожие статьи