Первый слайд презентации
«Совершенствование качества подготовки обучающихся к государственной итоговой аттестации (ЕГЭ) по информатике и ИКТ»
Слайд 4
Дан алгоритм. Получив на вход натуральное десятичное число х, этот алгоритм печатает два числа: S и P. Укажите наибольшее число х, при вводе которого алгоритм печатает сначала 82, потом 91. var x, P, S, i: integer; begin readln (x); P := 0; S := 6 * (x – x mod 22); i:= 1; while P < S do begin S:= S – 2 * I; P:= P + i ; i:= i + 1; end; writeln (S); write(P); end. Задача 20
Слайд 5
шаг i P S 1 0 S 0 1 2 1 S 0 – 2 2 3 1 + 2 S 0 – 2 – 4 3 4 1 + 2 + 3 S 0 – 2 – 4 – 6 4 5 1 + 2 + 3 + 4 S 0 – 2 * (1 +2 + 3) 5 6 1 + 2 + 3 + 4 + 5 S 0 – 2 * (1 +2 + 3 + 4) 6 7 1 + 2 + 3 + 4 + 5 + 6 S 0 – 2 * (1 +2 + 3 + 4 + 5) …………………………. ……………………. x = k * 22 + r S = 6 * k * 22 91
Слайд 6
91 182 82 S 0 = 6 * k * 22 264 = 6 * k * 22, k=2 x = k * 22 + r, 0 < r < 22 Следовательно, наибольшее число: х = 65
Слайд 7
2. Дан алгоритм. Получив на вход натуральное десятичное число х, этот алгоритм печатает два числа: S и P. Укажите наибольшее число х, при вводе которого алгоритм печатает сначала 110, потом 1 20. var x, P, S, i: integer; begin readln (x); P := 0; S :=7 * (x – x mod 25); i:= 1; while P < S do begin S:= S – 2 * I; P:= P + i ; i:= i + 1; end; writeln (S); write(P); end. Задача 20
Слайд 8
шаг i P S 1 0 s 1 2 1 S – 2 2 3 1 + 2 S – 2 – 4 3 4 1 + 2 + 3 S – 2 – 4 – 6 4 5 1 + 2 + 3 + 4 S – 2 * (1 +2 + 3) 5 6 1 + 2 + 3 + 4 + 5 S – 2 * (1 +2 + 3 + 4) 6 7 1 + 2 + 3 + 4 + 5 + 6 S – 2 * (1 +2 + 3 + 4 + 5) …………….. …………… x = k * 2 5 + r S = 7 * k * 2 5 1 20 шаг i P S 1 0 S 0 1 2 1 S 0 – 2 2 3 1 + 2 S 0 – 2 – 4 3 4 1 + 2 + 3 S 0 – 2 – 4 – 6 4 5 1 + 2 + 3 + 4 S 0 – 2 * (1 +2 + 3) 5 6 1 + 2 + 3 + 4 + 5 S 0 – 2 * (1 +2 + 3 + 4) 6 7 1 + 2 + 3 + 4 + 5 + 6 S 0 – 2 * (1 +2 + 3 + 4 + 5) …………………………. …………………….
Слайд 9
350 S 0 = 7 * k * 25 350 = 7 * k * 25, k=2 x = k * 25 + r, 0 < r < 25 Следовательно, наибольшее число: х = 74
Слайд 10
S S
Слайд 11
3. Дан алгоритм. Получив на вход натуральное десятичное число х, этот алгоритм печатает два числа: S и P. Укажите наибольшее число х, при вводе которого алгоритм печатает сначала 66, потом 78. var x, P, S, i: integer; begin readln (x); P := 0; S :=5 * (x – x mod 30); i:= 1; while P < S do begin S:= S – 3 * I; P:= P + i ; i:= i + 1; end; writeln (S); write(P); end. Задача 20 S S 0 = 5 * k * 30, k=2 78=300 x = k * 30 + r, 0< r < 30 x =89
Слайд 12
4. Дан алгоритм. Получив на вход натуральное десятичное число х, этот алгоритм печатает два числа: M и L. Укажите наименьшее число х, при вводе которого алгоритм печатает сначала 7, потом 4. var x, L, M : integer; begin readln (x); L := 0; M :=0; while x > 0 do begin M:= M + 1; If x mod 2 <> 0 then L:= L + 1 ; x:= x div 2 ; end; writeln (M); writeln (L); end. Задача 20 M=7, т.е. х от 2 6 до 2 7 L – количество единиц в двоичной записи числа х
Слайд 13
M=7, т.е. х от 2 6 до 2 7 L – количество единиц в двоичной записи числа х Т.е. нужно на основе исходных данных записать представление числа х: + + + + + На местах …. м огут находиться 0 и 1. По условию, «единиц» должно быть 4, а число наименьшее, + + + + +
Слайд 14
5. Дан алгоритм. Получив на вход натуральное десятичное число х, этот алгоритм печатает два числа: M и L. Укажите наименьшее число х, при вводе которого алгоритм печатает сначала 8, потом 3. var x, L, M : integer; begin readln (x); L := 0; M :=0; while x > 0 do begin M:= M + 1; If x mod 2 <> 0 then L:= L + 1 ; x:= x div 2 ; end; writeln (M); writeln (L); end. Задача 20 M= 8, т.е. х от 2 7 до 2 8 L – количество единиц в двоичной записи числа х
Слайд 15
M= 8, т.е. х от 2 7 до 2 8 L – количество единиц в двоичной записи числа х Т.е. нужно на основе исходных данных записать представление числа х: + + + + + На местах …. м огут находиться 0 и 1. По условию, «единиц» должно быть 3, а число наименьшее, + + + +
Слайд 16
Дан целочисленный массив из 50 элементов. Элементы массива могут принимать натуральные значения от 1 до 10000 включительно. Все числа в массиве различные. Найти количество чисел, которые располагаются между числами 15 и 45 (не включая эти числа), а затем заменить все двузначные элементы на это количество. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки. Гарантируется, что элементы 15 и 45 в массиве есть. Например, для исходного массива из шести элементов: 15 6 11 18 9 45 программа должна вывести следующий массив 4 6 4 4 9 4 Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. Паскаль const N = 50; var a: array [1..N] of longint ; i, j, k: longint ; begin for i := 1 to N do readln (a[i]); ... end. Задача 25
Слайд 17
const N = 50 ; var a: array [1..N] of longint ; i, j, k : longint ; begin for i:=1 to N do readln (a[ i ]); k:=0; for i:=1 to N do begin if a[ i ]=15 then j:=i; if a[ i ]=45 then k:=i; end ; k:=abs(k-j)-1; for i:=1 to N do begin if (a[ i ]>9) and (a[ i ]<100) then a[ i ]:=k; writeln (a[ i ]); end ; end.
Слайд 18
Дан целочисленный массив из 100 элементов. Элементы массива могут принимать неотрицательные целые значения до 10000 включительно. Необходимо найти количество элементов массива, в десятичной записи которых содержатся ровно две шестёрки, а затем заменить элементы, которые в шестнадцатеричной записи оканчиваются на A, на число, равное найденному значению. Гарантируется, что такие элементы в массиве есть. В качестве результата необходимо вывести изменённый массив в обратном порядке, каждый элемент выводится с новой строчки. Например, для исходного массива из шести элементов: 170 6 666 6126 26 66 программа должна вывести следующий массив 66 2 6126 2 6 2 Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. Паскаль const N = 100; var a: array [1..N] of longint ; i, k, x, b: longint ; begin for i := 1 to N do readln (a[i]); ... end.
Слайд 19
k:=0; while x>0 do begin if x mod 10=6 then k:=k+1; x:=x div 10; end ; Определяем количество «6» в записи числа: for i:=1 to N do begin x:=a[i]; k:=0; while x>0 do begin if x mod 10=6 then k:=k+1; x:=x div 10; end ; if k=2 then b:=b+1; end ; Определяем количество элементов массива, в записи которых две «6»:
Слайд 20
if (a[ i ] mod 16=10) Записываем условие проверки: Элемент массива в шестнадцатеричной записи оканчивается на А if (a[ i ] mod 16=10) then a[ i ]:=b; Проверка условия и замена элемента for i:=N downto 1 do begin if (a[ i ] mod 16=10) then a[ i ]:=b; writeln (a[ i ]); end ; Проверка условия, замена элементов и вывод массива в обратном порядке
Слайд 21
const N = 6; var a: array [1..N] of longint ; i, x, k, b: longint ; begin for i:=1 to N do readln (a[ i ]); k:=0; for i:=1 to N do begin x:=a[i]; k:=0; while x>0 do begin if x mod 10=6 then k:=k+1; x:=x div 10; end ; if k=2 then b:=b+1; end ; for i:=N downto 1 do begin if (a[ i ] mod 16=10) then a[ i ]:=b; writeln (a[ i ]); end ; end.
Слайд 22
Дан целочисленный массив из 100 элементов. Элементы массива могут принимать неотрицательные целые значения до 10 000 включительно. Необходимо найти элемент c максимальной суммой цифр в десятичной записи (если таких элементов несколько, то берётся первый из них), а затем увеличить элементы, которые в восьмеричной записи состоят из двух цифр на число, равное найденному значению. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки. Например, для исходного массива из шести элементов: 170 16 1777 61 26 55 программа должна вывести следующий массив 170 1793 1777 1838 1803 1832 Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. Паскаль const N = 100; var a: array [1..N] of longint ; i, m, ma, x, b: longint ; begin for i := 1 to N do readln (a[ i ]); ... end. Задача 25
Слайд 23
const N = 100 ; var a: array [1..N] of longint ; i, m, ma, x, b: longint; begin for i:=1 to N do readln (a[ i ]); ma:=-1;m:=-1; for i:=1 to N do begin x:=a[i]; b:=0; while x>0 do begin b:=b+x mod 10; x:=x div 10; end ; if b>m then begin m:=b;ma:=a[i]; end ; end ; for i:=1 to N do begin if (a[ i ]>8) and (a[ i ]<64) then a[ i ]:=a[ i ]+ma; writeln (a[ i ]); end ; end.
Слайд 24
Дан целочисленный массив из 100 элементов. Элементы массива могут принимать неотрицательные целые значения до 10 000 включительно. Необходимо найти минимальный из тех элементов массива, которые в двоичной записи содержат не менее пяти единиц. Затем нужно заменить элементы, у которых в десятичной записи сумма цифр не превышает 12, на число, равное найденному значению. Гарантируется, что такие элементы в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки. Например, для исходного массива из шести элементов: 158 31 123 61 97 55 программа должна вывести следующий массив 158 31 31 31 97 31 Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. Паскаль const N = 100; var a: array [1..N] of longint ; i, m, ma, x, b: longint ; begin for i := 1 to N do readln (a[ i ]); ... end. Задача 25
Слайд 25
const N = 100 ; var a: array [1..N] of longint ; i, m, ma, x, b: longint; begin for i:=1 to N do readln (a[ i ]); m:=10001; for i:=1 to N do begin x:=a[i]; b:=0; while x>0 do begin if x mod 2 <>0 then b:=b+1; x:=x div 2; end ; if (b>=5) and (a[ i ]<m) then m:=a[i]; end ; for i:=1 to N do begin x:=a[i]; b:=0; while x>0 do begin b:=b+x mod 10; x:=x div 10; end ; if b<=12 then a[ i ]:=m; writeln (a[ i ]); end ; end.
Слайд 26
Дан целочисленный массив из 100 элементов. Элементы массива могут принимать неотрицательные целые значения до 10 000 включительно. Необходимо определить количество четных и нечетных чисел. Если количество чётных чисел больше, чем количество нечётных, заменить каждое нечетное число на произведение нечетных цифр в его десятичной записи. Если количество нечётных чисел больше, заменить каждое чётное число на произведение чётных цифр в его десятичной записи. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки. Например, для исходного массива из семи элементов: 48 31 20 61 97 12 18 программа должна вывести следующий массив 48 3 20 1 63 12 18 Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. Паскаль const N = 100; var a: array [1..N] of longint ; i, k, sp : longint ; begin for i := 1 to N do readln (a[ i ]); ... end. Задача 25