Презентация на тему «Решение задач 1 части ЕГЭ на тему "Программирование"»
презентация к уроку по информатике и икт (11 класс) по теме

Богачева Галина Владимировна

Вашему вниманию предлагается презентация на тему «Решение задач 1 части ЕГЭ на тему "Программирование"», в которой подробно разобраны задачи демоверсии 2015 на эту тему, а также приведены аналогичные задачи из предыдущих демверсий и из открытого банка заданий ФИПИ. Презентация может быть использована при повторении темы «Программирование», при подготовке выпускников к ЕГЭ, а также на предэкзаменационной консультации.

Скачать:

ВложениеРазмер
Файл reshenie_zadach_1_chasti_programmirovanie.rar112.15 КБ

Подписи к слайдам:

Задача
B
5 из демоверсии 2014
Решение:
Здесь, конечно, проще рассчитать – за каждый цикл
s
увеличивается на 10, из цикла мы выйдем тогда и только тогда, когда
s
> 325, то есть когда
s
= 330, значит, цикл будет выполнен 33 раза. Вспоминаем таблицу умножения и рассчитываем
n
= 0 + 33 * 3 = 99
Ответ:
99
Паскаль
var
n, s: integer;
begin
n := 0;
s := 0;
while s <= 325 do
begin
s := s + 10;
n := n + 3
end;
write(n)
end.
Задача 19 из демоверсии 2015
Анализируем программу: последовательно сравниваются два соседних элемента массива, если предыдущий элемент меньше текущего, переменная
c
на 1 увеличивает своё значение, а элементы меняются местами. Таким образом,
c
– счетчик обменов, а данный алгоритм – один проход сортировки массива по убыванию.
Паскаль
c := 0;
for
i
:= 1 to 9 do
if A[
i
- 1] < A[
i
] then
begin
c := c + 1;
t := A[
i
];
A[
i
] := A[
i
- 1];
A[
i
- 1] := t
end.
i
условие
массив
обмен
массив после обмена
c
1
6
<9
6 9 7 2 1 5 0 3 4 8
да
9 6 7 2 1 5 0 3 4 8
1
2
6
<7
9 6 7 2 1 5 0 3 4 8
да
9 7 6 2 1 5 0 3 4 8
2
3
6
<
2
9 7 6 2 1 5 0 3 4 8
нет
9 7 6 2 1 5 0 3 4 8
2
4
2
<
1
9 7 6 2 1 5 0 3 4 8
нет
9 7 6 2 1 5 0 3 4 8
2
5
1
<
5
9 7 6 2 1 5 0 3 4 8
да
9 7 6 2 5 1 0 3 4 8
3
6
1
<
0
9 7 6 2 5 1 0 3 4 8
нет
9 7 6 2 5 1 0 3 4 8
3
7
0
<
3
9 7 6 2 5 1 0 3 4 8
да
9 7 6 2 5 1 3 0 4 8
4
8
0
<
4
9 7 6 2 5 1 3 0 4 8
да
9 7 6 2 5 1 3 4 0 8
5
9
0
<
8
9 7 6 2 5 1 3 4 0 8
да
9 7 6 2 5 1 3 4 8 0
6
Ответ:
6
Укажите наибольшее из таких чисел 
x
,  при вводе которых алгоритм печатает сначала 3, а потом опять 3.
Укажите наибольшее из таких чисел x,  при вводе которых алгоритм печатает сначала 2, а потом 3.
Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 14, а потом 5. 
Укажите наименьшее из таких чисел x,  при вводе которых алгоритм печатает сначала 15, а потом 6. 
var
x, a, b, c: integer;
begin
 
readln
(x);
  a := 0; b := 0;
  while x>0 do
  begin
     c := x mod 2;
     if c=0 then a := a+1
            else b := b+1;  
     x := x div 10;
  end;
 
writeln
(a); write(b);
end
.
var
x, a, b, c: integer;
begin
 
readln
(x);
  a := 0; b := 0;
  while x>0 do
  begin
     c := x mod 2;
     if c=0 then a := a+1
            else b := b+1;  
     x := x div 10;
  end;
 
writeln
(a); write(b);
end
.
var
x, a, b, c: integer;
begin
 
readln
(x);
  a := 0; b := 10;
  while x>0 do
  begin
     c := x mod 10;
     a :=
a+c
;
     if c     x := x div 10;
  end;
 
writeln
(a); write(b);
end
.
var
x, a, b, c: integer;
begin
 
readln
(x);
  a := 0; b := 10;
  while x>0 do
  begin
     c := x mod 10;
     a :=
a+c
;
     if c     x := x div 10;
  end;
 
writeln
(a); write(b);
end
.
Получив
на вход число 
x
,
эти алгоритмы печатают
два числа: 
a
 и 
b
.
Допускается
диапазон значений для величин целого типа: от –2
31
 до 2
31 
– 1.

999888
99988
59 69
Основу алгоритмического стиля мышления составляют умение планировать длинные последовательности действий, ясно и чётко записывать их в виде программ, умение предвидеть их последствия и предусматривать все условия, которые могут возникнуть при выполнении программы. Целью
изучения
темы «Алгоритмизация и программирование» является
овладение выпускниками структурной методикой построения алгоритмов. Ученики должны научиться использовать в практике построения алгоритмов основные управляющие структуры: следование, ветвление, цикл; уметь разбивать задачу на подзадачи, применять метод последовательной детализации алгоритма.
Они должны читать и понимать работу готовых программ. Эти знания используются в заданиях 8, 11, 19, 20, 21(эти задачи рассмотрены в данной презентации).
Источники:
Демоверсия ЕГЭ по информатике 2015

http://new.fipi.ru/ege-i-gve-11/demoversii-specifikacii-kodifikatory
Демоверсия ЕГЭ по информатике 2014

http://new.fipi.ru/ege-i-gve-11/demoversii-specifikacii-kodifikatory
Демоверсия ЕГЭ по информатике 2012
http://egeigia.ru/all-ege/demoversii-ege/informatika/721-demo-ege-2012-informatika
Блог

http://galinabogacheva.livejournal.com/
Задача
B
5 из демоверсии 2014 (аналогично)
Запишите число, которое будет напечатано в результате выполнения программы. Для Вашего удобства программа представлена на пяти языках программирования.
Бейсик
Паскаль
DIM N, S AS INTEGER
N = 0
S = 0
WHILE S <= 325
S = S + 10
N = N + 3
WEND
PRINT N
var
n, s: integer;
begin
n := 0;
s := 0;
while s <= 325 do
begin
s := s + 10;
n := n + 3
end;
write(n)
end.
Си
Алгоритмический
#include<
stdio.h
>
void main()
{

int
n, s;
n = 0;
s = 0;
while (s <= 325)
{
s = s + 10;
n = n + 3;
}

printf
("%d", n);}
алг

нач


цел
n, s
n := 0
s := 0

нц
пока
s <= 325
s := s + 10
n := n + 3

кц

вывод
n

кон
Задача 19 из демоверсии 2015
В программе используется одномерный целочисленный массив

индексами от 0 до 9. Значения элементов равны 6; 9; 7; 2; 1; 5; 0; 3; 4; 8 соответственно, т.е. A[0] = 6; A[1] = 9 и т.д.
Определите значение переменной
c

после выполнения следующего фрагмента программы, записанного ниже на разных языках программирования.
Бейсик
Python
c = 0
FOR i = 1 TO 9
IF A(i - 1) < A(i) THEN
c = c + 1
t = A(i)
A(i) = A(i - 1)
A(i - 1) = t
ENDIF
NEXT i
c = 0
for i in range(1, 10):
if A[i - 1] < A[i]:
c = c + 1
t = A[i]
A[i] = A[i - 1]
A[i - 1] = t
Алгоритмический язык
Паскаль
c
:= 0
нц для
i
от 1 до 9
если A[i - 1] < A[i] то
c := с + 1
t := A[i]
A[i] := A[i - 1]
A[i - 1] := t
все
кц
c := 0;
for
i
:= 1 to 9 do
if A[
i
- 1] < A[
i
] then
begin
c := c + 1;
t := A[
i
];
A[
i
] := A[
i
- 1];
A[
i
- 1] := t
end.
Си
c = 0;
for (
i
= 1;
i
<= 9;
i
++)
if (A[
i
- 1] < A[
i
]) {
c++
;
t = A[
i
];
A[
i
] = A[
i
- 1];
A[
i
- 1] = t;
}
Задача
B
8 из демоверсии 2014 (аналогично)
Ниже на пяти языках программирования записан алгоритм. Получив на вход число
x
, этот алгоритм печатает два числа:
a

и
b
.
Укажите наименьшее из таких чисел
x
, при вводе которых алгоритм печатает сначала 13, а потом 5.
Бейсик
Паскаль
Си
Алгоритмический
DIM X, A, B, C AS INTEGER
INPUT X
A = 0: B = 10
WHILE X > 0
C = X MOD 10
A = A + C
IF C < B THEN B = C
X = X \ 10
WEND
PRINT A
PRINT B
var
x, a, b, c: integer;
begin

readln
(x);
a := 0; b := 10;
while x>0 do
begin
c := x mod 10;
a :=
a+c
;
if c x := x div 10;
end;

writeln
(a); write(b);
end.
#include<
stdio.h
>
void main()
{

int
x, a, b, c;

scanf
("%d", &x);
a = 0; b = 10;
while (x>0) {
c = x%10;
a =
a+c
;
if (c b = c;
x = x/10;
}

printf
("%d\
n%d
", a, b);
}
алг

нач

цел
x
,
a
,
b
,
c

ввод
x


a
:= 0;
b
:= 10

нц
пока
x
>0

c := mod(x,10)
a :=
a+c


если
c
то
b
:=
c

все

x
:=
div
(x,10)
кц

вывод
a
,
b

кон
Ответ:
58
Решение задач части 1 ЕГЭ по информатике на тему «Программирование»
Учитель – Богачёва Г.В.
Лицей № 144 Санкт-Петербурга
Задача 20 из демоверсии 2015
Решение:
Анализируем алгоритм – на экран сначала выведется
a
= 2 (значит, команды в цикле будут повторены 2 раза), затем
b
= 15. Команда
b
:=
b
*(
x

mod
10) находит произведение
b
и последней цифры числа
x
(
mod
– остаток от деления на 10). Команда
x
:=
x

div
10 отбрасывает последнюю цифру от числа
x
(
div
– деление нацело). Так как цикл повторяется до тех пор, пока
x
>0 (то есть выходим из цикла, как только х=0) и мы знаем, что он будет повторён 2 раза (
a
=2), то отсюда
x
– двузначное число. Множители числа 15: 3, 5. Наименьшее двузначное число, которое из них можно составить, 35.
Ответ:
35
Паскаль
var
x, a, b: integer;
begin
readln
(x);
a:=0; b:=1;
while x>0 do
begin
a:=a+1;
b:=b*(x mod 10);
x:= x div 10
end;
writeln
(a); write(b)
end
.
Задача 21 из демоверсии 2015
Решение:
Анализируем алгоритм – функция возвращает квадрат числа
i
,
i
уменьшается от 12 на 1 до тех пор, пока не станет меньше или равно 0 или квадрат
i
не станет меньше 64, то есть при
n
=64 эта программа напечатает 7. Надо ответить на вопрос, сколько значений
n
дадут такой же результат. Подставляем 65, получаем 8, 7
2
=49, подставляем 49, получаем 6, нужные нам числа находятся в диапазоне [50;64], т.е. 15 чисел.
Ответ:
15
Паскаль
var
k,
i
:
longint
;
function f(n:
longint
) :
longint
;
begin
f := n * n
end;
begin
readln
(k);
i
:= 12;
while (
i
>0) and (f(
i
)>=k)
do
i
:= i-1;
writeln
(
i
)
end.
Аналогично (демоверсия 2012)
Определите, что будет напечатано в результате работы следующего фрагмента программы:
Бейсик
Паскаль
Dim k, s As Integer
s = 0
k = 0
While s < 1024
s = s + 10
k = k + 1
End While
Console.Write
(k)
Var
k, s : integer;
BEGIN
s:=0;
k:=0;
while s<1024 do
begin
s:=s+10;
k:=k+1;
end;
write (k);
END.
Си
Алгоритмический
{
int
k, s;
s = 0;
k = 0;
while (s<1024) {
s = s+10;
k = k+1;
}
printf
("%d", k);
}
нач
цел
k, s
s:=0
k:=0
нц
пока
s < 1024
s:=s+10; k:=k+1
кц
вывод
k
кон
Ответ:
103
Задача 11 из демоверсии 2015
Паскаль
procedure F(n: integer);
begin
writeln
(n);
if n < 5 then
begin
F(n + 1);
F(n + 3)
end
end
Анализируем программу: в начале каждого вызова функции на печать выводится значение параметра функции, значит, необходимо определить порядок вызовов и сложить значения всех параметров. При
n
< 5 выполняются два вызова. Задачу удобно решать с помощью графа.
Ответ: 49
Задача 8 из демоверсии 2015
Паскаль
var
s, n: integer;
begin
s := 33;
n := 1;
while s > 0 do
begin
s := s – 7;
n := n * 3
end;
writeln
(n)
end.
Решение
Трассируем программу:
Номер команды
s
n
1
33
1
2
26
3
3
19
9
4
12
27
5
5
81
6
-2
243
7


-
2

>

0
Ответ:

243
Задача 20 из демоверсии 2015
Ниже на пяти языках программирования записан алгоритм. Получив на вход число
x
, этот алгоритм печатает два числа:
a

и
b
.
Укажите наименьшее из таких чисел
x
, при вводе которых алгоритм печатает сначала 2, а потом 15.
Бейсик
Python
Си
DIM X, A, B AS INTEGER
INPUT X
A=0: B=1
WHILE X > 0
A = A+1
B = B*(X MOD 10)
X = X \ 10
WEND
PRINT A
PRINT B
x =
int
(input())
a = 0
b = 1
while x > 0:
a = a + 1
b = b * (x % 10)
x = x // 10
print(a)
print(b)
#include<
stdio.h
>
int
main(void)
{
int
x, a, b;
scanf
("%d", &x);
a = 0;
b = 1;
while (x > 0){
a = a + 1;
b = b * (x % 10);
x = x / 10;
}
printf
("%d\
n%d
", a, b);
}
Алгоритмический язык
Паскаль
алг
нач
цел
x
,
a
,
b
ввод
x
a:=0; b:=1
нц
пока
x
>0
a:=a+1
b:=b*mod(x,10)
x:=div(x,10)
кц
вывод
a
, нс,
b
кон
var
x, a, b: integer;
begin
readln
(x);
a:=0; b:=1;
while x>0 do
begin
a:=a+1;
b:=b*(x mod 10);
x:= x div 10
end;
writeln
(a); write(b)
end
.
Задача 11 из демоверсии 2015
Ниже на пяти языках программирования записан рекурсивный алгоритм F.
Бейсик
Python
SUB F(n)
PRINT n
IF n < 5 THEN
F(n + 1)
F(n + 3)
END IF
END SUB
def F(n):
print(n)
if

n
< 5:
F(
n
+ 1)
F(
n
+ 3)
Алгоритмический язык
Паскаль
алгF
(цел
n
)
нач
вывод
n
, нс
если
n
< 5 то
F(
n
+ 1)
F(
n
+ 3)
все
кон
procedure F(n: integer);
begin
writeln
(n);
if n < 5 then
begin
F(n + 1);
F(n + 3)
end
end
Си
void F(
int
n)
{
printf
("%d\n", n);
if
(
n
< 5) {
F(
n
+ 1);
F(
n
+ 3);
}
}
Чему равна сумма всех чисел, напечатанных на экране при выполнении вызова F(1)?
Задача 21 из демоверсии 2015
Напишите в ответе число различных значений входной переменной
k
, при которых программа выдаёт тот же ответ, что и при входном значении
k

= 64. Значение
k

= 64 также включается в подсчёт различных значений
k
. Для Вашего удобства программа приведена на пяти языках программирования.
Бейсик
Python
Си
DIM K, I AS LONG
INPUT K
I = 12
WHILE I > 0 AND F(I) >= K
I = I - 1
WEND
PRINT I
FUNCTION F(N)
F = N * N
END FUNCTION
def f(n):
return n * n
k =
int
(input())
i
= 12
while
i
> 0 and f(
i
) >= k:
i
=
i
- 1
print
(
i
)
#include<
stdio.h
>
int
f(
int
n)
{
return n * n;
}
int
main(void)
{
int
k,
i
;
scanf
("%d", &k);
i
= 12;
while (
i
> 0 && f(
i
) >= k)
i
– –;
printf
("%
d
",
i
);
}
Алгоритмический язык
Паскаль
алг
нач
цел
i
,
k
ввод
k
i
:= 12
нцпока
i
> 0
и
f(
i
) >= k
i
:=
i
- 1
кц
вывод
i
кон
алг
цел
f
(
цел

n
)
нач
знач
:=
n
*
n
кон
var
k,
i
:
longint
;
function f(n:
longint
) :
longint
;
begin
f := n * n
end;
begin
readln
(k);
i
:= 12;
while (
i
>0) and (f(
i
)>=k)
do
i
:= i-1;
writeln
(
i
)
end.
Задача 8 из демоверсии 2015
Запишите число, которое будет напечатано в результате выполнения программы. Для Вашего удобства программа представлена на пяти языках программирования.
Бейсик
Python
DIM S, N AS INTEGER
S = 33
N = 1
WHILE S > 0
S = S – 7
N = N * 3
WEND
PRINT(N)
s = 33
n = 1
while s > 0:
s = s - 7
n
=
n
* 3
print
(
n
)
Алгоритмический язык
Паскаль
алг
нач
цел
s, n
s := 33
n := 1
нцпока
s > 0
s := s — 7
n := n * 3
кц
вывод
n
кон
var
s, n: integer;
begin
s := 33;
n := 1;
while s > 0 do
begin
s := s – 7;
n := n * 3
end;
writeln
(n)
end.
Си
#include<
stdio.h
>
int
main(void)
{
int
s, n;
s = 33;
n = 1;
while (s > 0) {
s = s – 7;
n = n * 3;
}
printf
("%d\n", n);
}
аналогично
Паскаль
Паскаль
Паскаль
Паскаль
var
n, s: integer;
begin
  n := 0;
  s := 0;
  while s <= 257 do
  begin
    s := s + 25;
    n := n + 2
  end;
  write(n)
end
.
 
var
n, s: integer;
begin
  n := 0;
  s := 0;
  while s <= 257 do
  begin
    s := s + 25;
    n := n + 4
  end;
  write(n)
end
.
var
n, s: integer;
begin
  n := 0;
  s := 301;
  while s > 0 do
  begin
    s := s - 10;
    n := n + 2
  end;
  write(n)
end
.
var
n, s: integer;
begin
  n := 0;
  s := 301;
  while s > 0 do
  begin
    s := s - 10;
    n := n + 3
  end;
  write(n)
end
.
Ответы
Запишите число, которое будет напечатано в результате выполнения каждой из следующих программ.

22
44
62
93
аналогично
Паскаль
Паскаль
Паскаль
Паскаль
for
i
:= 0 to 10 do
  A[
i
] :=
i
;
t := A[0];
for
i
:= 0 to 9 do
  A[
i
] := A[i+1];
A[10] := t;
for
i
:= 0 to 10 do
  A[
i
] := i-1;
for
i
:= 1 to 10 do
  A[i-1] := A[
i
];
A[10] := 10;
for
i
:= 0 to 10 do
  A[
i
] :=
i
;
t := A[0];
for
i
:= 1 to 10 do
  A[i-1] := A[
i
];
A[10] := t;
for i:=0 to 10 do
  A[
i
]:=
i
;
for i:=0 to 10 do
begin
  A[
i
]:=A[10-i];
 
A[10-i]:=A[i];
end
;
Ответы
В
программах
описаны одномерный целочисленный массив A с индексами от 0 до
10
и целочисленные переменные i и t. Ниже
представлены фрагменты этих.
Чему окажутся равны элементы этого массива после выполнения
фрагментов программ?
1 2 3 4 5 6 7 8 9
10 0 0
1 2 3 4 5 6 7 8 9
10
1
2 3 4 5 6 7 8 9
10 0
10
9 8 7 6 5 6 7 8
9 10

По теме: методические разработки, презентации и конспекты

Презентация по теме : Решение задач с пропорциональными величинами"

Презентация предназначена   для использования   при изучении темы "Методика  обучения решению задач  с пропорциональными величинами" по учебной дисциплине "Методика преподавания нн...

Презентация по теме "Решение задач по кинематике с помощью квадратных уравнений".

Приводится наглядный материал к уроку в 9классе по теме "Решение задач по кинематике с помощью квадратных уравнений"...

Презентация по теме "Решение задач по теме "Вероятность"

Эта презентация может быть использована при подготовке ЕГЭ по математике. и на уроках повторения темы "Вероятность"...

Презентация по теме " Решение задач по теме " Расчет пути, времени, скорости" 7 класс

С помощью данной пр езентации можно обучать решению задач по теме " Расчет пути, времени и скорости" в 7 классе...

Презентация по теме "Решение задач на части, проценты"

Пезентация по теме "Решение задач на части, проценты" предназначена для студентов, обучающихся по профессиям 43.01.09 Повар, кондитер, 19.01.04 Пекарь...

презентация на тему "Решение задач по теме "Закон сохранения энергии""

Данный урок проводится в 9 классе, при изучении темы "Закон сохранения энергии". Т.к. в нашей школе курс физики изучается 4 года и учебник 9 класса делится на два гоа обячения (в связи со сп...

Презентация по теме "Решение задач по теме "Теорема Пифагора""

Данную презентацию можно использовать для подготовки к ОГЭ по математике.  Задания трёх уровней сложности....