Главные вкладки

    Презентация на тему «Решение задач 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 класса делится на два гоа обячения (в связи со сп...