Решение задач с использованием одномерных массивов
Основные определения МАССИВ – последовательность однотипных элементов, число которых фиксировано и которым присвоено одно имя. Положение элемента в массиве однозначно определяется его ИНДЕКСАМИ (одним – в случае одномерного массива и несколькими – если массив многомерный). МАССИВ – последовательность однотипных элементов, число которых фиксировано и которым присвоено одно имя. Положение элемента в массиве однозначно определяется его ИНДЕКСАМИ (одним – в случае одномерного массива и несколькими – если массив многомерный).
Задание Дан одномерный массив А[1..8]. Чему будет равно значение переменной b=a[(a[1]+a[3]+a[5]) div 7] mod 2 при следующих исходных данных: Дан одномерный массив А[1..8]. Чему будет равно значение переменной b=a[(a[1]+a[3]+a[5]) div 7] mod 2 при следующих исходных данных:
Описание одномерного массива в программе 1 способ const n=20; type mas=array [1..n] of integer; var a, b: mas; 2 способ var a, b: array[1..20] of integer; 1 способ const n=20; type mas=array [1..n] of integer; var a, b: mas; 2 способ var a, b: array[1..20] of integer;
Заполнение одномерного массива 1 способ (по формуле) 1 способ (по формуле)
Заполнение одномерного массива На языке Паскаль... For i:=1 to n do Begin write(a[,i,]=); readln(a[i]) End; … На языке Паскаль... For i:=1 to n do Begin write(a[,i,]=); readln(a[i]) End; … 2 способ (с клавиатуры) 2 способ (с клавиатуры) Как заполнить одномерный массив без комментариев?
Заполнение одномерного массива На языке Паскаль...For i:=1 to n do a[i]:=random; {a[i] из [0, 1)} For i:=1 to n do a[i]:=random(k); {a[i] из [0, k-1]} тип целый For i:=1 to n do a[i]:=c+random(d-c+1); {a[i] из [c, d]} тип целый, где k-натуральное число, c,d –целые числа На языке Паскаль...For i:=1 to n do a[i]:=random; {a[i] из [0, 1)} For i:=1 to n do a[i]:=random(k); {a[i] из [0, k-1]} тип целый For i:=1 to n do a[i]:=c+random(d-c+1); {a[i] из [c, d]} тип целый, где k-натуральное число, c,d –целые числа 3 способ (с помощью генератора случайных чисел) 3 способ (с помощью генератора случайных чисел)
Формирование базы случайных чисел Для получения значений переменных с помощью генератора случайных чисел в языке Паскаль используется функция random. Для обновления базы случайных чисел необходимо использовать процедуру randomize до обращения к функции random. Для получения значений переменных с помощью генератора случайных чисел в языке Паскаль используется функция random. Для обновления базы случайных чисел необходимо использовать процедуру randomize до обращения к функции random.
Примеры заполнения массива генератором случайных чисел Напишите фрагмент программы для заполнения элементов массива генератором случайных чисел на интервале: [-115, 250] [-115, -90] Напишите фрагмент программы для заполнения элементов массива генератором случайных чисел на интервале: [-115, 250] [-115, -90]
Примеры заполнения массива генератором случайных чисел Заполните массив случайными числами по заданному фрагменту алгоритма: … For i:=1 to 5 do a[i]:=-15+random(46); … For i:=1 to 5 do a[i]:=random(77); … For i:=1 to 3 do a[i]:=random; Заполните массив случайными числами по заданному фрагменту алгоритма: … For i:=1 to 5 do a[i]:=-15+random(46); … For i:=1 to 5 do a[i]:=random(77); … For i:=1 to 3 do a[i]:=random;
Нахождение суммы и произведения элементов массива … S:=0; P:=1; For i:=1 to n do Begin S:=S+a[i]; P:=P*a[i] End; … S:=0; P:=1; For i:=1 to n do Begin S:=S+a[i]; P:=P*a[i] End;
Нахождение количества элементов, удовлетворяющих заданному условию K:=0; For i:=1 to 5 do If a[i] > 0 then K:=K+1; K:=0; For i:=1 to 5 do If a[i] > 0 then K:=K+1;
Поиск минимального элемента и его индекса min:=a[1]; imin:=1; For i:=2 to n do If a[i] < min then begin min:=a[1]; imin:=i end; min:=a[1]; imin:=1; For i:=2 to n do If a[i] < min then begin min:=a[1]; imin:=i end;
Задача 1. Дан одномерный целочисленный массив А[1:N]. Найти в нём максимальный и минимальный элементы и поменять их местами. Входные данные читать из файла input.txt, а выходные данные выводить в файл output.txt.
Поиск максимального элемента и его индекса max:=a[n]; imax:=n; For i:=n-1 downto 1 do If a[i] > max then begin …end; max:=a[n]; imax:=n; For i:=n-1 downto 1 do If a[i] > max then begin …end;
Задача 2. Найти количество максимальных элементов в одномерном целочисленном массиве А[1:N] за 1 проход. Входные данные читать из файла input.txt, а выходные данные выводить в файл output.txt.
Задача 3. В одномерном целочисленном массиве А[1:N] найти минимальную сумму рядом стоящих элементов: а 1+а 2; а 2+а 3; а 3+а 4 и т.д. Результатом также должен служить и индекс первого слагаемого этой суммы. Входные данные читать из файла input.txt, а выходные данные выводить в файл output.txt.
Домашнее задание: Задачник, ч.1, параграф читать, стр. 260, разобрать пример 2. Найти количество минимальных элементов в одномерном целочисленном массиве А[1:N] за 1 проход. Поменять местами первый и максимальный элементы в одномерном целочисленном массиве А[1:N]. Задачник, ч.1, параграф читать, стр. 260, разобрать пример 2. Найти количество минимальных элементов в одномерном целочисленном массиве А[1:N] за 1 проход. Поменять местами первый и максимальный элементы в одномерном целочисленном массиве А[1:N].