ЕГЭ информатика Алгоритмизация и программирование Консультация 3.

Презентация:



Advertisements
Похожие презентации
ЕГЭ 2011 Информатика и ИКТ Консультация 3 18 марта.
Advertisements

ЕГЭ информатика Алгоритмизация и программирование Консультация 4.
ЕГЭ 2012 Информатика и ИКТ Консультация 3. Пример.
ЕДИННЫЙ ГОСУДАРСТВЕННЫЙ ЭКЗАМЕН Часть С демо-варианта 2009.
ЕГЭ 2012 Информатика и ИКТ Консультация 4ЕГЭ 2012 Информатика и ИКТ Консультация 4.
ПОДГОТОВКА К СДАЧЕ ЕДИНОГО ГОСУДАРСТВЕННОГО ЭКЗАМЕНА Часть С Автор-составитель - Демержеева Т.В.
Задачи на пересечение областей (C1): «на стыке алгебры и логики» Д.Ю. Усенков, О.Б. Богомолова.
Найдите ошибки: 1. if a = b then begin c:=1 else c:=0; 2. if a = b then c:=1; end else c:=0; 3. if a = b then c:=1; d:=1; else x:=1; Исправлено if a =
Апрель - май 2011 г. Выполнил : Шамов Сергей Ученик 11 б класса МОУ ФСОШ 2 « с углубленным изучение отдельных предметов » Апрель - май 2011 г. Задания.
ГОТОВИМСЯ К ЕГЭ по информатике /алгоритмизация и программирование/
Решение задач С1 ЕГЭ Решение задач С1 ЕГЭ
Задания сЗадания сТребовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (х, у - действительные.
Методика решения и оценивания задач «С1», «С2» Единого Государственного Экзамена.
Консультация 2 Информатика и ИКТ ЕГЭ В15 Решение систем логических уравнений Сколько различных решений имеет система логических уравнений X1 X2.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Сайт для подготовки к ЕГЭ: kpolyakov.narod.ru Презентация будет выложена на сайте elschool11.ru ученикам – информатика –Подготовка к ЕГЭ (внизу странички)
Решение заданий части С Подготовка к ЕГЭ по информатике.
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся выпускного класса за итоговый тест.
Информатика. ЕГЭ 2014 Решение задач повышенной сложности.
Разбор заданий ЕГЭ Типичные задания С2. Содержание Перечень задач Задача 1 Задача 2 Задача 3 Решить самостоятельно Задача 4 Задача 5 Задача 6 Перечень.
Транксрипт:

ЕГЭ информатика Алгоритмизация и программирование Консультация 3

Пример 1.Запишите значение переменной y после выполнения фрагмента алгоритма.

Xy

Xy 110

Пример 1.Запишите значение переменной y после выполнения фрагмента алгоритма. Xy

Пример 1.Запишите значение переменной y после выполнения фрагмента алгоритма. Xy

Пример 1.Запишите значение переменной y после выполнения фрагмента алгоритма. Xy

Пример 1.Запишите значение переменной y после выполнения фрагмента алгоритма. Xy

Пример 1.Запишите значение переменной y после выполнения фрагмента алгоритма Выявим закономерность Y = Ответ: 55

Пример 2.Запишите значение переменной y после выполнения фрагмента алгоритма. Xy 11 23

Xy

Пример 2.Запишите значение переменной y после выполнения фрагмента алгоритма. Xy y = 1 + ( ) + ( ) = 1 + ( ) + ( ) = 511

Пример 3. Значения двух массивов a[1..100] и b[1..100] задаются с помощью следующего фрагмента программы. Какой элемент массива B будет наименьшим (указать его номер)? Бейсик FOR t=1 TO 100 A(t)=(t-80)*(t-80) NEXT t FOR t=1 TO 100 B(101-t)=A(t) NEXT t Паскаль for t:=1 to 100 do a[t]:=(t-80)*(t-80); for t:=1 to 100 do b[101-t]:=a[t] Си for(t=1;t

Бейсик FOR t=1 TO 100 A(t)=(t-10) NEXT t Паскаль for t:=1 to 100 do a[t]:=(t-10); Си for(t=1;t

A(1)A(2)A(3)A(9)A(10)A(11)A(100) Бейсик FOR t=1 TO 100 A(t)=(t-10) NEXT t FOR t=1 TO 100 B(t)=A(t)*t NEXT t Паскаль for t:=1 to 100 do a[t]:=(t-10); for t:=1 to 100 do b[t]:=a[t]*t; Си for(t=1;t

Пример 4.

НАЧАЛО ПОКА влево ПОКА вниз ПОКА вправо ПОКА вверх КОНЕЦ

Задание С1 Задача относится к повышенному уровню сложности Программа содержит некоторое количество условий (циклов и массивов нет) Необходимо найти ошибку в программе (смысловую, а не синтаксическую) Изменить программу для устранения случаев неправильной работы

Пример 5 (С1). Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x,y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. 1.Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2.Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы). Бейсик INPUT x, y IF y=0 THEN IF y>=SIN(x) THEN PRINT "принадлежит ELSE PRINT "не принадлежит ENDIF END Паскаль var x,y: real; begin readln(x,y); if y=0 then if y>=sin(x) then write('принадлежит') else write('не принадлежит') end. Си void main(void) { float x,y; scanf("%f%f",&x,&y); if (y=0) if (y>=sin(x)) printf("принадлежит"); else printf("не принадлежит"); }

Бейсик INPUT x, y IF y=0 THEN IF y>=SIN(x) THEN PRINT "принадлежит ELSE PRINT "не принадлежит ENDIF END Паскаль var x,y: real; begin readln(x,y); if y=0 then if y>=sin(x) then write('принадлежит') else write('не принадлежит') end. Си void main(void) { float x,y; scanf("%f%f",&x,&y); if (y=0) if (y>=sin(x)) printf("принадлежит"); else printf("не принадлежит"); } y=sin(x) x>=0

Бейсик INPUT x, y IF y=0 THEN IF y>=SIN(x) THEN PRINT "принадлежит ELSE PRINT "не принадлежит ENDIF END Паскаль var x,y: real; begin readln(x,y); if y=0 then if y>=sin(x) then write('принадлежит') else write('не принадлежит') end. Си void main(void) { float x,y; scanf("%f%f",&x,&y); if (y=0) if (y>=sin(x)) printf("принадлежит"); else printf("не принадлежит"); } y=sin(x) x>=0 x

Бейсик INPUT x, y IF y=0 THEN IF y>=SIN(x) THEN PRINT "принадлежит ELSE PRINT "не принадлежит ENDIF END Паскаль var x,y: real; begin readln(x,y); if y=0 then if y>=sin(x) then write('принадлежит') else write('не принадлежит') end. Си void main(void) { float x,y; scanf("%f%f",&x,&y); if (y=0) if (y>=sin(x)) printf("принадлежит"); else printf("не принадлежит"); } y=sin(x) x>=0 x

Бейсик INPUT x, y IF y=0 THEN IF y>=SIN(x) THEN PRINT "принадлежит ELSE PRINT "не принадлежит ENDIF END Паскаль var x,y: real; begin readln(x,y); if y=0 then if y>=sin(x) then write('принадлежит') else write('не принадлежит') end. Си void main(void) { float x,y; scanf("%f%f",&x,&y); if (y=0) if (y>=sin(x)) printf("принадлежит"); else printf("не принадлежит"); } y=sin(x) x>=0 x

2.Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы). Бейсик INPUT x, y IF (y =0) and (y>=SIN(x)) and (x=sin(x)) and (x=sin(x)) && (x

Задание С2 Написать короткую (15 строк) простую программу (например, обработка массива) С программа линейной обработки входной последовательности

Пример 6. (С2) Опишите на русском языке или одном из языков программирования алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива (не используя специальной функции, вычисляющей модуль числа).

Паскаль var a,b:array[1..30] of integer; i: integer; Бейсик DIM I, A(30), B(30) AS INTEGER Си void main(void) { int i, a[30],b[30];

Паскаль var a,b:array[1..30] of integer; i: integer; begin for i:=1 to 30 do read(a[i]); Бейсик DIM I, A(30), B(30) AS INTEGER FOR I=1 to 30 INPUT A(I) NEXT I Си void main(void) { int i, a[30],b[30]; for( i=0;i

Паскаль var a,b:array[1..30] of integer; i: integer; begin for i:=1 to 30 do read(a[i]); for i:=1 to 30 do if a [i] < 0 then b[i]:= - a[i] Бейсик DIM I, A(30), B(30) AS INTEGER FOR I=1 to 30 INPUT A(I) NEXT I FOR I = 1 TO 30 IF A(I) < 0 THEN B(I) = - A(I) Си void main(void) { int i, a[30],b[30]; for( i=0;i

Паскаль var a,b:array[1..30] of integer; i: integer; begin for i:=1 to 30 do read(a[i]); for i:=1 to 30 do if a [i] < 0 then b[i]:= - a[i] else b[i]:= a[i]; end. Бейсик DIM I, A(30), B(30) AS INTEGER FOR I=1 to 30 INPUT A(I) NEXT I FOR I = 1 TO 30 IF A(I) < 0 THEN B(I) = - A(I) ELSE B(I) = A(I) ENDIF NEXT I END Си void main(void) { int i, a[30],b[30]; for( i=0;i

Пример 7. (С2) Опишите на русском языке или одном из языков программирования алгоритм вычисления количества наибольших элементов в заданном целочисленном массиве из 30 элементов.

Паскаль var a:array[1..30] of integer; i, k, max: integer; Бейсик DIM I, K,max,A(30) AS INTEGER Си void main(void) { int i, k, max, a[30];

Паскаль var a:array[1..30] of integer; i, k, max: integer; begin for i:=1 to 30 do read(a[i]); Бейсик DIM I, K, max, A(30) AS INTEGER FOR I=1 to 30 INPUT A(I) NEXT I Си void main(void) { int i, k, max, a[30]; for( i=0;i

Паскаль var a:array[1..30] of integer; i, k, max: integer; begin for i:=1 to 30 do read(a[i]); max:=a[1]; k:= 1; Бейсик DIM I, K,max,A(30) AS INTEGER FOR I=1 to 30 INPUT A(I) NEXT I max=A(1): k= 1 Си void main(void) { int i, k, max, a[30]; for( i=0;i

Паскаль var a:array[1..30] of integer; i, k, max: integer; begin for i:=1 to 30 do read(a[i]); max:=a[1]; k:= 1; for i:=2 to 30 do if a [i] > max then Бейсик DIM I, K,max,A(30) AS INTEGER FOR I=1 to 30 INPUT A(I) NEXT I max=A(1): k= 1 FOR I = 2 TO 30 IF A(I) >max THEN Си void main(void) { int i, k, max, a[30]; for( i=0;i

Паскаль var a:array[1..30] of integer; i, k, max: integer; begin for i:=1 to 30 do read(a[i]); max:=a[1]; k:= 1; for i:=2 to 30 do if a [i] > max then begin max:= a[i] ; k:=1 end Бейсик DIM I, K,max,A(30) AS INTEGER FOR I=1 to 30 INPUT A(I) NEXT I max=A(1): k= 1 FOR I = 2 TO 30 IF A(I) >max THEN max = A(I): K=1 Си void main(void) { int i, k, max, a[30]; for( i=0;i

Паскаль var a:array[1..30] of integer; i, k, max: integer; begin for i:=1 to 30 do read(a[i]); max:=a[1]; k:= 1; for i:=2 to 30 do if a [i] > max then begin max:= a[i] ; k:=1 end else if a[i]=max then k:=k+1; Бейсик DIM I, K,max,A( 30 ) AS INTEGER FOR I=1 to 30 INPUT A(I) NEXT I max=A(1): k= 1 FOR I = 2 TO 30 IF A(I) >max THEN max = A(I): K=1 ELSE IF A(I)=max THEN K=K+1 ENDIF Си void main(void) { int i, k, max, a[30]; for( i=0;i

Паскаль var a:array[1..30] of integer; i, k, max: integer; begin for i:=1 to 30 do read(a[i]); max:=a[1]; k:= 1; for i:=2 to 30 do if a [i] > max then begin max:= a[i] ; k:=1 end else if a[i]=max then k:=k+1; write(k) end. Бейсик DIM I, K, MAX,A( 30 ) AS INTEGER FOR I=1 to 30 INPUT A(I) NEXT I MAX=A(1): k= 1 FOR I = 2 TO 30 IF A(I) >MAX THEN MAX = A(I): K=1 ELSE IF A(I)=MAX THEN K=K+1 ENDIF NEXT I PRINT K END Си void main(void) { int i, k, max, a[30]; for( i=0;i< 30;i++) scanf(%d",&a[i]); max=a[0]; k= 1; for( i=1;i< 30;i++) if (a [i] > max) {max= a[i] ; k=1;} else if (a[i]==max) k++; printf(%d,k); }

Паскаль var a:array[1..30] of integer; i, k, max: integer; begin for i:=1 to 30 do read(a[i]); max:=a[1]; k:= 1; for i:=2 to 30 do if a [i] > max then begin max:= a[i] ; k:=1 end else if a[i]=max then k:=k+1; write(k) end. Бейсик DIM I, K, MAX,A( 30 ) AS INTEGER FOR I=1 to 30 INPUT A(I) NEXT I MAX=A(1): k= 1 FOR I = 2 TO 30 IF A(I) >MAX THEN MAX = A(I): K=1 ELSE IF A(I)=MAX THEN K=K+1 ENDIF NEXT I PRINT K END Си void main(void) { int i, k, max, a[30]; for( i=0;i< 30;i++) scanf(%d",&a[i]); max=a[0]; k= 1; for( i=1;i< 30;i++) if (a [i] > max) {max= a[i] ; k=1;} else if (a[i]==max) k++; printf(%d,k); }

Пример 8. (С2) С клавиатуры вводят целые числа. Признак конца ввода - ввод нуля. Опишите на русском языке или одном из языков программирования алгоритм вычисления суммы тех чисел, которые кратны трем. Считаем, что хотя бы одно такое число в последовательности есть.

Паскаль var a, S: integer; begin S:=0; Бейсик DIM A,S AS INTEGER S=0 Си void main() { int a,S; S=0;

Паскаль var a, S: integer; begin S:=0; readln(a); While (a0) do Begin Бейсик DIM A,S AS INTEGER S=0 INPUT A WHILE A 0 Си void main() { int a,S; S=0; scanf(%d",&a); while(a 0) {

Паскаль var a, S: integer; begin S:=0; readln(a); While (a0) do Begin if (a mod 3 = 0) then S:=S+a; Бейсик DIM A,S AS INTEGER S=0 INPUT A WHILE A 0 IF A MOD 3 = 0 THEN S = S+A ENDIF Си void main() { int a,S; S=0; scanf(%d",&a); while(a 0) { if (a % 3 == 0) S+=a;

Паскаль var a, S: integer; begin S:=0; readln(a); While (a0) do Begin if (a mod 3 = 0) then S:=S+a; Readln(a) End; Бейсик DIM A,S AS INTEGER S=0 INPUT A WHILE A 0 IF A MOD 3 = 0 THEN S = S+A ENDIF INPUT A WEND Си void main() { int a,S; S=0; scanf(%d",&a); while(a 0) { if (a % 3 == 0) S+=a; scanf(%d",&a); }

Паскаль var a, S: integer; begin S:=0; readln(a); While (a0) do Begin if (a mod 3 = 0) then S:=S+a; Readln(a) End; writeln(S) end. Бейсик DIM A,S AS INTEGER S=0 INPUT A WHILE A 0 IF A MOD 3 = 0 THEN S = S+A ENDIF INPUT A WEND PRINT S END Си void main() { int a,S; S=0; scanf(%d",&a); while(a 0) { if (a % 3 == 0) S+=a; scanf(%d",&a); } printf(%d,k); }

Пример 9. (С3) На координатной плоскости в точке (0,-5) стоит фишка. Игроки ходят по очереди. Возможный ход: из точки с координатам (x,y) фишку можно переместить в одну из трех точек: (x+4,y), (x,y+4), (x+4,y+4). Выигрывает игрок, после хода которого расстояние от фишки до точки (0,0) не меньше 13 единиц. Кто выиграет при безошибочной игре обоих игроков? Каким должен быть первый ход выигрывающего игрока?

Пример 9. (С3) На координатной плоскости в точке (0,-5) стоит фишка. Игроки ходят по очереди. Возможный ход: из точки с координатам (x,y) фишку можно переместить в одну из трех точек: (x+4,y), (x,y+4), (x+4,y+4). Выигрывает игрок, после хода которого расстояние от фишки до точки (0,0) не меньше 13 единиц. Кто выиграет при безошибочной игре обоих игроков? Каким должен быть первый ход выигрывающего игрока? Решение. x 2 + y 2 >=13 2

Пример 9. (С3) На координатной плоскости в точке (0,-5) стоит фишка. Игроки ходят по очереди. Возможный ход: из точки с координатам (x,y) фишку можно переместить в одну из трех точек: (x+4,y), (x,y+4), (x+4,y+4). Выигрывает игрок, после хода которого расстояние от фишки до точки (0,0) не меньше 13 единиц. Кто выиграет при безошибочной игре обоих игроков? Каким должен быть первый ход выигрывающего игрока? Исходное состояние (0,-5) 1 ход, 1 игрок (4,-5) (0,-1) (4,-1)

Пример 9. (С3) На координатной плоскости в точке (0,-5) стоит фишка. Игроки ходят по очереди. Возможный ход: из точки с координатам (x,y) фишку можно переместить в одну из трех точек: (x+4,y), (x,y+4), (x+4,y+4). Выигрывает игрок, после хода которого расстояние от фишки до точки (0,0) не меньше 13 единиц. Кто выиграет при безошибочной игре обоих игроков? Каким должен быть первый ход выигрывающего игрока? Исходное состояние (0,-5) 1 ход, 1 игрок (4,-5) 2 ход, 2 игрок (8,-5) (4,-1) (8,-1) (0,-1) (4,-1) (0,3) (4,3) (4,-1) (8,-1) (4,3) (8,3)

Пример 9. (С3) На координатной плоскости в точке (0,-5) стоит фишка. Игроки ходят по очереди. Возможный ход: из точки с координатам (x,y) фишку можно переместить в одну из трех точек: (x+4,y), (x,y+4), (x+4,y+4). Выигрывает игрок, после хода которого расстояние от фишки до точки (0,0) не меньше 13 единиц. Кто выиграет при безошибочной игре обоих игроков? Каким должен быть первый ход выигрывающего игрока? Исходное состояние (0,-5) 1 ход, 1 игрок (4,-5) 2 ход, 2 игрок (8,-5) (4,-1) (8,-1) 3 ход, 1 игрок (12,-5) - выигрыш 4 ход, 2 игрок (0,-1) (4,-1) (0,3) (4,3) (4,-1) (8,-1) (4,3) (8,3)

Пример 9. (С3) На координатной плоскости в точке (0,-5) стоит фишка. Игроки ходят по очереди. Возможный ход: из точки с координатам (x,y) фишку можно переместить в одну из трех точек: (x+4,y), (x,y+4), (x+4,y+4). Выигрывает игрок, после хода которого расстояние от фишки до точки (0,0) не меньше 13 единиц. Кто выиграет при безошибочной игре обоих игроков? Каким должен быть первый ход выигрывающего игрока? Исходное состояние (0,-5) 1 ход, 1 игрок (4,-5) 2 ход, 2 игрок (8,-5) (4,-1) (8,-1) 3 ход, 1 игрок (12,-5) - выигрыш (8,-1) (4,3) (8,3) (12,-1)(8,3)(12,3) 4 ход, 2 игрок (0,-1) (4,-1) (0,3) (4,3) (8,-1) (4,3) (0,7) (4,7) (8,3)(4,7)(8,7) (4,-1) (8,-1) (4,3) (8,3) (12,-1)(8,3)(12,3) (12,7) - выигрыш

Пример 9. (С3) На координатной плоскости в точке (0,-5) стоит фишка. Игроки ходят по очереди. Возможный ход: из точки с координатам (x,y) фишку можно переместить в одну из трех точек: (x+4,y), (x,y+4), (x+4,y+4). Выигрывает игрок, после хода которого расстояние от фишки до точки (0,0) не меньше 13 единиц. Кто выиграет при безошибочной игре обоих игроков? Каким должен быть первый ход выигрывающего игрока? Исходное состояние (0,-5) 1 ход, 1 игрок (4,-5) 2 ход, 2 игрок (8,-5) (4,-1) (8,-1) 3 ход, 1 игрок (12,-5) - выигрыш (8,-1) (4,3) (8,3) (12,-1)(8,3)(12,3) 4 ход, 2 игрок выигрыш Выигрыш (0,-1) (4,-1) (0,3) (4,3) (8,-1) (4,3) (0,7) (4,7) (8,3)(4,7)(8,7)Выигрыш (4,-1) (8,-1) (4,3) (8,3) (12,-1)(8,3)(12,3) (12,7) - выигрыш выигрыш