Программирование
<<  Длинная арифметика Алгоритмизация и языки программирования  >>
ЕГЭ информатика
ЕГЭ информатика
Задание С2
Задание С2
Алгоритм получения
Алгоритм получения
Паскаль
Паскаль
Бейсик
Бейсик
Паскаль
Паскаль
Бейсик
Бейсик
Алгоритм вычисления количества наибольших элементов
Алгоритм вычисления количества наибольших элементов
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
Бейсик
Бейсик
Бейсик
Бейсик
Массив, состоящий из 30 целых элементов
Массив, состоящий из 30 целых элементов
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
С клавиатуры вводят целые числа
С клавиатуры вводят целые числа
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
Паскаль
На координатной плоскости в точке (0,-5) стоит фишка
На координатной плоскости в точке (0,-5) стоит фишка
Игроки ходят по очереди
Игроки ходят по очереди
Возможный ход
Возможный ход
Расстояние от фишки до точки
Расстояние от фишки до точки
Кто выиграет при безошибочной игре обоих игроков
Кто выиграет при безошибочной игре обоих игроков
Каким должен быть первый ход выигрывающего игрока
Каким должен быть первый ход выигрывающего игрока
Исходное состояние
Исходное состояние
Выигрывает второй игрок
Выигрывает второй игрок
Пример
Пример



Ответ
Ответ
Презентация «Алгоритмизация и программирование». Размер 191 КБ. Автор: Марина А. Чарута.

Загрузка...

Алгоритмизация и программирование

содержание презентации «Алгоритмизация и программирование.ppt»
СлайдТекст
1 ЕГЭ информатика

ЕГЭ информатика

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

2 Задание С2

Задание С2

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

3 Алгоритм получения

Алгоритм получения

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

4 Паскаль

Паскаль

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

5 Бейсик

Бейсик

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

6 Паскаль

Паскаль

Паскаль 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]. Си void main(void) { int i, a[30],b[30]; for( i=0;i<30;i++) scanf(“%d",&a[i]); for( i=0;i<30;i++) if (a [i] < 0) 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).

7 Бейсик

Бейсик

Паскаль 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. Си void main(void) { int i, a[30],b[30]; for( i=0;i<30;i++) scanf(“%d",&a[i]); for( i=0;i<30;i++) if (a [i] < 0) b[i]= - a[i]; else 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) ELSE B(I) = A(I) ENDIF NEXT I END.

8 Алгоритм вычисления количества наибольших элементов

Алгоритм вычисления количества наибольших элементов

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

9 Паскаль

Паскаль

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

10 Паскаль

Паскаль

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

11 Паскаль

Паскаль

Паскаль 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; Си void main(void) { int i, k, max, a[30]; for( i=0;i<30;i++) scanf(“%d",&a[i]); max=a[0]; 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.

12 Паскаль

Паскаль

Паскаль 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. Си 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). Бейсик 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.

13 Паскаль

Паскаль

Паскаль 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. Си 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;}. Бейсик 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.

14 Паскаль

Паскаль

Паскаль 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; Си 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++; Бейсик 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.

15 Бейсик

Бейсик

Паскаль 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); }.

16 Бейсик

Бейсик

Паскаль 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); }.

17 Массив, состоящий из 30 целых элементов

Массив, состоящий из 30 целых элементов

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

18 Паскаль

Паскаль

Паскаль 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]);

19 Паскаль

Паскаль

Паскаль 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<30) and (a[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<30 AND A(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<29 && a[i]!=x) i++;

20 Паскаль

Паскаль

Паскаль 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<30) and (a[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<30 AND A(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<29 && a[i]!=x) i++; if (a[i] = =x) printf(“%d”,i); else printf(“таких нет”); }.

21 С клавиатуры вводят целые числа

С клавиатуры вводят целые числа

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

22 Паскаль

Паскаль

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

23 Паскаль

Паскаль

Паскаль var a, S: integer; begin S:=0; readln(a); While (a<>0) 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) {.

24 Паскаль

Паскаль

Паскаль var a, S: integer; begin S:=0; readln(a); While (a<>0) 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;

25 Паскаль

Паскаль

Паскаль var a, S: integer; begin S:=0; readln(a); While (a<>0) 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); }.

26 Паскаль

Паскаль

Паскаль var a, S: integer; begin S:=0; readln(a); While (a<>0) 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); }.

27 На координатной плоскости в точке (0,-5) стоит фишка

На координатной плоскости в точке (0,-5) стоит фишка

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

28 Игроки ходят по очереди

Игроки ходят по очереди

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

29 Возможный ход

Возможный ход

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

30 Расстояние от фишки до точки

Расстояние от фишки до точки

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

31 Кто выиграет при безошибочной игре обоих игроков

Кто выиграет при безошибочной игре обоих игроков

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

32 Каким должен быть первый ход выигрывающего игрока

Каким должен быть первый ход выигрывающего игрока

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

33 Исходное состояние

Исходное состояние

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

34 Выигрывает второй игрок

Выигрывает второй игрок

Выигрывает второй игрок. Для доказательства рассмотрим неполное дерево игры, оформленное в виде таблицы, где в каждой ячейке записаны координаты фишки на каждом этапе игры. Таблица содержит все возможные варианты ходов 1 игрока. Из нее видно, что при любом ходе первого игрока у второго имеется ход, приводящий к победе. Исходное состояние (0,-5). Исходное состояние (0,-5). Исходное состояние (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). Выигрыш.

35 Пример

Пример

Пример 6. (A).

36

37

38

39 Ответ

Ответ

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

«Алгоритмизация и программирование»
Сайт

5informatika.net

115 тем
5informatika.net > Программирование > Алгоритмизация и программирование.ppt