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

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



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

ЕДИННЫЙ ГОСУДАРСТВЕННЫЙ ЭКЗАМЕН Часть С демо-варианта 2009.
ЕГЭ 2011 Информатика и ИКТ Консультация 3 18 марта.
ЕГЭ 2012 Информатика и ИКТ Консультация 3. Пример.
ПОДГОТОВКА К СДАЧЕ ЕДИНОГО ГОСУДАРСТВЕННОГО ЭКЗАМЕНА Часть С Автор-составитель - Демержеева Т.В.
ЕГЭ 2012 Информатика и ИКТ Консультация 4ЕГЭ 2012 Информатика и ИКТ Консультация 4.
Консультация 2 Информатика и ИКТ ЕГЭ В15 Решение систем логических уравнений Сколько различных решений имеет система логических уравнений X1 X2.
Задания сЗадания сТребовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (х, у - действительные.
ЕГЭ 2011 Информатика и ИКТ Консультация 4. Характеристика задания С3 Нацелено на проверку умения построить дерево игры по заданному алгоритму и обосновать.
Например: семейство бабочек; Понятие одномерного массива поле цветов;
Апрель - май 2011 г. Выполнил : Шамов Сергей Ученик 11 б класса МОУ ФСОШ 2 « с углубленным изучение отдельных предметов » Апрель - май 2011 г. Задания.
Власова О.А. СОШ 5, Елабуга. Например: семейство бабочек ; Понятие одномерного массива поле цветов;
ГОТОВИМСЯ К ЕГЭ по информатике /алгоритмизация и программирование/
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся выпускного класса за итоговый тест.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Язык программирования Паскаль 9 часть. Массивы.
Разбор заданий ЕГЭ Типичные задания С2. Содержание Перечень задач Задача 1 Задача 2 Задача 3 Решить самостоятельно Задача 4 Задача 5 Задача 6 Перечень.
Задания части А Задания части С. 1. Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы. Сколько элементов.
Работа с одномерными массивами Урок информатики 9 кл.
Одномерные массивы Решение задач. Табличный способ организации данных Одномерные и двумерные массивы.
Транксрипт:

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

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

Пример 1. (С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

Пример 2. (С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); }

Пример 3. (С2) Дан массив, состоящий из 30 целых элементов и целое число х. Найти и вывести номер элемента массива, равного заданном значению х.

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

Паскаль var a:array[1..30] of integer; i, k, x: integer; begin read(x); for i:=1 to 30 do read(a[i]); i:=1; while (i x) do i:=i+1; Бейсик DIM I, K, X,A( 30 ) AS INTEGER INPUT X FOR I=1 to 30 INPUT A(I) NEXT I I = 1 WHILE I X I = I+1 WEND Си void main(void) { int i, k, x, a[30]; scanf(%d",&x); for( i=0;i< 30;i++) scanf(%d",&a[i]); i=0; while (i

Паскаль var a:array[1..30] of integer; i, k, x: integer; begin read(x); for i:=1 to 30 do read(a[i]); i:=1; while (i x) do i:=i+1; if a [i] = x then write(i) else write(нет) end. Бейсик DIM I, K, X,A( 30 ) AS INTEGER INPUT X FOR I=1 to 30 INPUT A(I) NEXT I I = 1 WHILE I X I = I+1 WEND IF A(I)=X THEN PRINT I ELSE PRINT ТАКИХ НЕТ ENDIF END Си void main(void) { int i, k, x, a[30]; scanf(%d",&x); for( i=0;i< 30;i++) scanf(%d",&a[i]); i=0; while (i

Пример 4. (С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); }

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

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

Пример 5. (С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)

Пример 5. (С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)

Пример 5. (С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)

Пример 5. (С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) - выигрыш

Пример 5. (С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) 1 игрок, 3 ход (все варианты) (12,-5) – выигрыш (8,-1)(12,-1) (8,-1)(4,3) (8,3) (12,-1)(8,3)(12,3) 4 ход, 2 игрок (12,7 ) - выигрыш Выигрыш (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) - выигрыш выигрыш

Выигрывает второй игрок. Для доказательства рассмотрим неполное дерево игры, оформленное в виде таблицы, где в каждой ячейке записаны координаты фишки на каждом этапе игры. Таблица содержит все возможные варианты ходов 1 игрока. Из нее видно, что при любом ходе первого игрока у второго имеется ход, приводящий к победе. Исходное состояние (0,-5) 1 ход 1 игрок (все варианты) (4,-5) 2 ход 2 игрок (выигрышный) (8,-1) 3 ход 1 игрок (все варианты) (12,-1)(8,3)(12,3) 4 ход 2 игрок (выигрышный) (16,7 ) - выигрыш (0,-1)(4,3)(8,3)(4,7)(8,7) Выигрыш (4,-1)(8,-1)(12,-1)(8,3)(12,3)выигрыш

Пример 6. (A)

Ответ: (n*n-n)/2