Приложение 2. Домашние задания для 11 класса Домашнее задание: РАБОТА С ЭЛЕМЕНТАМИ ОДНОМЕРНОГО МАССИВА №1. В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется: for i:=0 to 10 do A[i]:= i + 1; for i:=0 to 10 do A[i]:= A[10-i]; Чему будут равны элементы этого массива? №2. Значения элементов двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы: for n:=1 to 100 do A[n] := n – 50; for n:=1 to 100 do B[101-n]:=A[n]*A[n]; Какой элемент массива B будет наименьшим? №3. В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k, i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется: for i:=0 to 10 do A[i]:=i; for i:=0 to 4 do begin k:=A[i]; A[i]:=A[i+5]; A[i+5]:=k; end; Чему будут равны элементы этого массива? №4. В программе используется одномерный целочисленный массив A с индексами от 1 до 25. Ниже представлен фрагмент программы, в котором задаются значения элементов: n:= 25; A[1]:= 2; for i:= 2 to n do begin A[i]:= 2*A[i–1] mod 10; end; Чему будет равно значение A[25] после выполнения фрагмента программы? №5. В программе описан одномерный целочисленный массив A, в представленном фрагменте программы обрабатываются элементы массива с индексами от 1 до 21. s:=0; n:=21; for i:= 2 to n do begin s:=s+2*(A[i]-A[i-1]); end; В начале выполнения этого фрагмента в элементе массива с индексом i находилось число i (i = 1, …, 21), т. е. A[1] = 1, A[2] = 2 и т. д. Чему будет равно значение переменной s после выполнения данной программы? №6. В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен фрагмент программы, обрабатывающей данный массив: n := 10; for i:=0 to n do begin K := A[i]; A[K] := 0; end; В начале выполнения этого фрагмента в массиве находились числа 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, т. е. A[0] = 10, A[1] = 9 и т. д. Сколько элементов массива после выполнения программы будут иметь ненулевые значения? №7. В программе описан одномерный целочисленный массив с индексами от 0 до 12. Ниже представлен фрагмент программы, обрабатывающей данный массив: s := 0; n := 12; for i:=0 to n do begin if A[n–i]–A[i] = A[i] then s:=s+2*A[i]; end; В начале выполнения этого фрагмента в массиве находились числа 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, т. е. A[0] = 0, A[1] = 10 и т. д. Чему будет равно значение переменной s после выполнения данной программы? №8. В программе описан одномерный целочисленный массив A, в представленном фрагменте программы обрабатываются элементы массива с индексами от 1 до 27. n:=27; A[1]:=3; for i:= 2 to n do begin A[i] := 3*A[i–1] mod 10; end; Чему будет равен элемент массива A[27] после выполнения данной программы? Домашнее задание ОДНОМЕРНЫЕ МАССИВЫ № 1. Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди элементов массива, которые имеют чётное значение и не делятся на пять. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого чётно и не кратно пяти. const N=20; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); … end. № 2. Дан целочисленный массив из 30 элементов. Элементы могут принимать значения от 0 до 100 – баллы, полученные на ЕГЭ. Опишите на русском языке или на одном из языков программирования алгоритм, который подсчитывает и выводит средний балл учащихся, сдавших экзамен (получивших оценку более 20 баллов). Гарантируется, что хотя бы один ученик в классе успешно сдал экзамен. Исходные данные объявлены так, как показано ниже. Использовать другие переменные запрещается. const N = 30; var A: array[1..N] of integer; i, x, y: integer; s: real; begin for i:=1 to N do readln(A[i]); ... end. № 3. Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные целые значения. С клавиатуры вводится целое число X. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит наименьший номер элемента, равного X, или сообщение, что такого элемента нет. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. const N=30; var a: array [1..N] of integer; i, j, x: integer; begin for i:=1 to N do readln(a[i]); readln(x); ... end. № 4. Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти и вывести сумму элементов массива, кратных тринадцати. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого делится на тринадцать. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. const N=30; var a: array [l..N] of integer; i,j,s: integer; begin for i:=l to N do readln(a[i]); ... end. № 5. Дан целочисленный массив из 40 элементов, все элементы которого – целые числа в интервале от -500 до 500. Опишите на русском языке или на одном из языков программирования алгоритм, который находит среднее арифметическое всех положительных элементов массива, которые кратны первому элементу (делятся нацело на первый элемент). Гарантируется, что первый элемент массива отличен от нуля. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них const N=40; var a: array [l..N] of integer; i,x,y: integer; s: real; begin for i:=l to N do readln(a[i]); ... end. № 6. Дан массив, содержащий 70 целых чисел. Опишите на одном из языков программирования эффективный алгоритм, позволяющий найти и вывести наибольшую разность двух чисел, содержащихся в массиве. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных переменных. const N=70; var a: array [1..N] of integer; i, j, x, y: integer; begin for i:=1 to N do readln(a[i]); … end. № 7. Дан массив, содержащий 2014 положительных целых чисел. Симметричной парой называются два элемента, которые находятся на равном расстоянии от концов массива. Например, 1-й и 2014-й элементы, 2-й и 2013-й и т. д. Порядок элементов в симметричной паре не учитывается: элементы на 1 и 2014 местах – это та же самая пара, что и элементы на 2014 и 1 местах. Напишите на одном из языков программирования программу, которая подсчитывает в массиве количество симметричных пар, у которых сумма элементов больше 20. Программа должна вывести одно число – количество отобранных симметричных пар. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных переменных. const N=2014; var a: array [1..N] of integer; i, j, k: integer; begin for i:=1 to N do readln(a[i]); … end. № 8. Дан массив, содержащий 70 неотрицательных целых чисел. Опишите на одном из языков программирования алгоритм, позволяющий найти и вывести наименьшую нечётную сумму двух соседних элементов массива. Гарантируется, что в массиве есть соседние элементы с нечётной суммой. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. const N=70; var a: array [1..N] of integer; i, j, x, y: integer; begin for i:=1 to N do readln(a[i]); … end.