11 класс подготовка к ЕГЭ по информатике. Задание С1
презентация к уроку по информатике и икт (11 класс) на тему

Сухоруков Андрей Игоревич

Разбор решения задания С1 ЕГЭ по информатике.

Презентация и текстовые материалы

Скачать:

ВложениеРазмер
Файл Презентация задание С1 ЕГЭ90.39 КБ
Файл Примеры заданий40.52 КБ

Предварительный просмотр:


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

Слайд 1

Технология решения задания С1 Сухоруков Андрей Игоревич учитель информатики МОУ СОШ №55

Слайд 2

Спецификация Обозначение в работе – С1 Проверяемые элементы содержания - Умение прочесть фрагмент программы на языке программирования и исправить допущенные ошибки

Слайд 3

Спецификация Коды проверяемых элементов содержания по кодификатору - 1.7.2 Основные конструкции языка программирования . Система программирования. Коды требований к уровню подготовки выпускников по кодификатору - 1.1.4 Читать и отлаживать программы на языке программирования . Коды видов деятельности ( п. 5 спецификации) – 3 Системы счисления Уровень сложности задания – П Максимальный балл за выполнение задания – 3 Примерное время выполнения задания (мин.) - 30

Слайд 4

Демо вариант Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 10 9 , и выводится максимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)

Слайд 5

Демо вариант Бейсик Паскаль DIM N AS LONG INPUT N max_digit = 9 WHILE N >= 10 digit = N MOD 10 IF digit > max_digit THEN max_digit = digit END IF N = N \ 10 WEND PRINT max_digit END var N: longint ; digit, max_digit : integer; begin readln (N); max_digit := 9; while N >= 10 do begin digit := N mod 10; if digit > max_digit then max_digit := digit; N := N div 10; end; writeln ( max_digit ); end.

Слайд 6

Демо вариант Си Алгоритмический язык #include< stdio.h > int main() { long int N; int digit, max_digit ; scanf ("%ld", &N); max_digit = 9; while (N >= 10) { digit = N % 10; if (digit > max_digit ) max_digit = digit; N = N /10 ; } printf ("%d", max_digit ); } алг нач цел N, digit , max_digit ввод N max_digit := 9 нц пока N >= 10 digit := mod(N, 10) если digit > max_digit то max_digit := digit все N := div(N, 10) кц вывод max_digit кон

Слайд 7

Демо вариант Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 423. 2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, – приведите правильный вариант строки.

Слайд 8

Демо вариант Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.

Слайд 9

Демо вариант решение Напишите, что выведет эта программа при вводе числа 423? Проведем трассировку В результате получим значение переменной max_digit =9

Слайд 10

Демо вариант решение Найдите все ошибки в этой программе В результате трассировку видно, что значение переменной max_digit в программе меняться не будет, т.к. оно первично задано равным 9. Первая ошибка max_digit :=9;

Слайд 11

Демо вариант решение Найдите все ошибки в этой программе При выполнении цикла while условие N>=10 не позволяет найти старшую цифру числа Строка с ошибкой while N>=10 do

Слайд 12

Демо вариант решение У кажите, как исправить ошибку, – приведите правильный вариант строки. Для первой ошибки – т.к. разряды числа могут принимать значения от 0 до 9, а вводимое число является натуральным, то исправленный вариант должен быть: max_digit :=0;

Слайд 13

Демо вариант решение У кажите, как исправить ошибку, – приведите правильный вариант строки. Для второй ошибки – т.к. разряды числа могут принимать значения от 0 до 9, в старший разряд числа строго больше 0, то исправленный вариант должен быть: while N>0 do

Слайд 14

Спасибо за внимание!



Предварительный просмотр:

C1 Демо ЕГЭ 2014

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится максимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)

Бейсик

Паскаль

DIM N AS LONG

INPUT N

max_digit = 9

WHILE N >= 10

digit = N MOD 10

IF digit > max_digit THEN

max_digit = digit

END IF

N = N \ 10

WEND

PRINT max_digit

END

var N: longint;

digit, max_digit: integer;

begin

readln(N);

max_digit := 9;

while N >= 10 do

begin

digit := N mod 10;

if digit > max_digit then

max_digit := digit;

N := N div 10;

end;

writeln(max_digit);

end.

Си

Алгоритмический язык

#include

int main()

{

long int N;

int digit, max_digit;

scanf("%ld", &N);

max_digit = 9;

while (N >= 10)

{

digit = N % 10;

if (digit > max_digit)

max_digit = digit;

N = N /10;

}

printf("%d", max_digit);

}

алг

нач

цел N, digit, max_digit

ввод N

max_digit := 9

нц пока N >= 10

digit := mod(N, 10)

если digit > max_digit то

max_digit := digit

все

N := div(N, 10)

кц

вывод max_digit

кон

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 423.

2. Найдите все ошибки в этой программе (их может быть одна или несколько).

Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, – приведите правильный вариант строки.

Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.

Исправление ошибки должно затрагивать только строку, в которой находится ошибка.

C1 № 6199. Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится сумма чётных цифр в десятичной записи этого числа или 0, если чётных цифр в записи нет. Ученик написал такую программу:

Бейсик

Паскаль

DIM N AS LONG

INPUT N

S = 0

WHILE N > 1

IF N MOD 2 = 0

S = N MOD 10

END IF

N = N \ 10

WEND

PRINT S

END

var N: longint;

s: integer;

begin

readln(N);

s := 0;

while N > 1 do begin

if N mod 2 = 0 then begin

s := N mod 10;

end;

N := N div 10;

end;

write(s);

end.

Си

Алгоритмический

#include

void main()

{

long int N;

int s;

scanf("%ld",&N);

s = 0;

while (N > 1) {

if (N%2 == 0) {

s = N % 10;

}

N = N / 10;

}

printf("%d", s);

}

алг

нач

цел N, s

ввод N

s := 0

нц пока N > 1

если mod(N,2) = 0 то

s := mod(N,10)

все

N := div(N,10)

кц

вывод s

кон

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 1984.

2.Приведите пример числа, при вводе которого программа выдаст верный ответ.

3. Найдите в программе все ошибки (их может быть одна или несколько).

 

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

C 1 № 6789. Требовалось написать программу, при выполнении которой с клавиатуры вводится натуральное число, не превосходящее 108, и выводится его первая (старшая) цифра. Ученик написал такую программу:

Бейсик

Паскаль

DIM N AS LONG

INPUT N

WHILE N>10

N = N MOD 10

WEND

PRINT N

END

var n: longint;

begin

read(n);

while n>10 do begin

n := n mod 10

end;

write(n);

end.

Си

Алгоритмический

#include

void main(){

long int n;

scanf("%ld",&n);

while (n>10) {

n = n%10;

}

printf("%ld", n);

}

алг

нач

цел n

ввод n

нц пока n>10

n := mod(n,10)

кц

вывод n

кон

 

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 1984.

2. Приведите пример числа, при вводе которого программа выдаст верный ответ.

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

C 1 № 6821. Требовалось написать программу, при выполнении которой с клавиатуры вводится натуральное число N (гарантируется, что 10 ≤ N ≤ 108) и выводится двузначное число, образованное двумя его первыми (старшими) цифрами. Например, при N = 2014 надо вывести 20. Ученик написал такую программу:

Бейсик

Паскаль

DIM N AS LONG

 INPUT N

 WHILE N>100

 N = N MOD 100

 WEND

 PRINT N

 END

var n: longint;

 begin

 read(n);

 while n>100 do begin

 n := n mod 100

 end;

 write(n);

 end.

Си

Алгоритмический

#include

 void main(){

 long int n;

 scanf("%ld",&n);

 while (n>100) {

 n = n % 100;

 }

 printf("%ld", n);

 }

алг

 нач

 цел n

 ввод n

 нц пока n>100

 n := mod(n,100)

 кц

 вывод n

 кон

 

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 2014.

2. Приведите пример числа, при вводе которого программа выдаст верный ответ.

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

C 1 № 6903. Требовалось написать программу, при выполнении которой с клавиатуры вводится последовательность из шести неотрицательных целых чисел, не превышающих 106, подсчитывается и выводится сумма введённых чётных чисел или 0, если чётных чисел в последовательности нет. Ученик написал такую программу:

Бейсик

Паскаль

DIM N, S AS LONG

 DIM I AS INTEGER

 S = 1

 FOR I = 1 TO 6

 INPUT N

 IF I MOD 2 = 0 THEN

 S = S + N

 END IF 

 NEXT I

 PRINT S

 END

var n, s: longint;

 i: integer;

 begin

 s:=1;

 for i:=1 to 6 do begin

 readln(n);

 if i mod 2 = 0 then

 s := s + n;

 end;

 write(s);

 end.

Си

Алгоритмический

#include

 void main(){

 long int n, s;

 int i;

 s = 1;

 for (i=1; i<=6; ++i) {

 scanf("%ld",&n);

 if (i%2 == 0)

 s = s + n;

 }

 printf("%ld", s);

 }

алг

 нач

 цел n, s

 цел i

 s := 1

 нц для i от 1 до 6

 ввод n

 если mod(i,2) = 0

 то s := s + n

 все

 кц

 вывод s

 кон

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе последовательности 1, 1, 2, 3, 5, 8.

2. Приведите пример последовательности, при вводе которой программа выдаст верный ответ.

3. Найдите в программе все ошибки (их может быть одна или несколько).

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

C 1 № 6968. Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее 109, и выводит число, которое получается из N после удаления всех единиц; порядок остальных цифр при этом не меняется. Например, число 19520125 должно быть преобразовано в число 952025. Число, в котором все цифры — единицы и нули, должно быть преобразовано в 0. Незначащие нули в старших разрядах полученного числа печатать не нужно.

Программист торопился и написал программу неправильно.

 

Бейсик

Паскаль

DIM N, R, T AS LONG

DIM d AS INTEGER

INPUT N

R = 0

T = 1

WHILE N > 0

d = N MOD 10

IF d <> 1 THEN

R = R + d * T

T = T + 1

END IF

N = N \ 10

WEND

PRINT T

END

var N, R, T: longint;

d: integer;

begin

readln(N);

R:=0;

T:=1;

while N>0 do begin

d := N mod 10;

if d<>1 then begin

R := R + d*T;

T := T+1

end;

N := N div 10;

end;

writeln(T);

end.

Си

Алгоритмический

#include

int main()

{

long int N, R, T;

int d;

scanf("%ld", &N);

R = 0;

T = 1;

while (N > 0) {

d = N % 10;

if (d != 1) {

R = R + d*T;

T = T+1;

}

N = N / 10;

}

printf("%ld", T);

}

алг

нач

цел N, R, T, d

ввод N

R := 0

T := 1

нц пока N > 0

d := mod(N, 10)

если d <> 1 то

R := R + d*T

T := T+1

все

N := div(N, 10)

кц

вывод T

кон

 

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 314.

2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:

1) Выпишите строку, в которой сделана ошибка.

2) Укажите, как исправить ошибку — приведите правильный вариант строки.

Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.

C1№ 7000. Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее 109, и выводит число, которое получается из N после удаления всех пятёрок, порядок остальных цифр при этом не меняется. Например, число 19520125 должно быть преобразовано в число 192012. Число, в котором все цифры – пятёрки и нули, должно быть преобразовано в 0. Незначащие нули в старших разрядах полученного числа печатать не нужно.

Программист торопился и написал программу неправильно.

 

Бейсик

Паскаль

DIM N, R, T AS LONG

DIM d AS INTEGER

INPUT N

R = 0

T = 1

WHILE N > 0

d = N MOD 10

IF d <> 5 THEN

R = R + d * T

T = T + 1

END IF

N = N \ 10

WEND

PRINT T

END

var N, R, T: longint;

d: integer;

begin

readln(N);

R:=0;

T:=1;

while N>0 do begin

d := N mod 10;

if d<>5 then begin

R := R + d*T;

T := T+1

end;

N := N div 10;

end;

writeln(T);

end.

Си

Алгоритмический

#include

int main()

{

long int N, R, T;

int d;

scanf("%ld", &N);

R = 0;

T = 1;

while (N > 0) {

d = N % 10;

if (d != 5) {

R = R + d*T;

T = T+1;

}

N = N / 10;

}

printf("%ld", T);

}

алг

нач

цел N, R, T, d

ввод N

R := 0

T := 1

нц пока N > 0

d := mod(N, 10)

если d <> 5 то

R := R + d*T

T := T+1

все

N := div(N, 10)

кц

вывод T

кон

 

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 354.

2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:

1) Выпишите строку, в которой сделана ошибка.

2) Укажите, как исправить ошибку — приведите правильный вариант строки.

Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.


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

Презентация к уроку русского языка в 9 классе. "Подготовка к изложению с творческим заданием"

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

Спецкурс для учащихся 10-11 классов "Подготовка к ЕГЭ по информатике"

Данная программа составлена на основе примерной программы среднего (полного) общего образования по информатике, методических рекомендаций по подготовке к ЕГЭ по информатике, предназначена для ст...

Урок развития речи в 9-м классе. Подготовка к сочинению-рассуждению по заданному тексту (ГИА, задание С 2.2)

Цели урока:раскрыть на примере текста тему дружбы;развивать аналитические и творческие способности учащихся;формировать у них чувство совестливости....

Подготовка к ОГЭ по информатике. Задание 12

Умение осуществлять поиск информации в готовой базе данных...

Подготовка к ЕГЭ по информатике (задание 27)

Материал содержит презентацию с описанием методики подготовки к решению задачи 27 ЕГЭ по информатике. Подробнее рассмотрен вариант решения задачи А. В текстовом файле даны разборы разных типов задач и...

Подготовка к ОГЭ по информатике. Задание №1

Краткая теория и примеры решения задач задания № 1 ОГЭ по информатике....

Подготовка к ОГЭ по информатике. Задание №2

Краткая теория и примеры решения задач задания № 2 ОГЭ по информатике....