- Каким способом можно заполнить массив с помощью оператора присваивания по формуле вводом каждого
- 1. Выберите правильные варианты вывода элементов массива на печать в строку. 1)for i:=1 to n do write (a[i], ` ` ) 2)for i:=1 to n do writeln (a[i]) 3)for i:=1 to n do write (`a[`, i, `]=`) 4)for i:=1 to n do write (`a`, i, `=`, a[i]) 2. Каким способом можно заполнить массив? 1)С помощью оператора присваивания по формуле 2)Все варианты ответов верны 3)С помощью оператора присваивания случайными числами 4)Вводом каждого элемента с клавиатуры 3. var a: array [1..59] of real;Здесь oписан массив a из … вещественных чисел. 1)58 2)60 3)59 4)50 4. Упорядоченное множество однотипных данных, имеющих общее имя и различающихся номерами, называют… 1)структурированием 2)множеством 3)последовательностью 4)массивом 5. Какой оператор необходимо вставить вместо многоточия в следующий фрагмент программы на языке Паскаль, чтобы верно решалась задача нахождения произведения элементов массива А, содержащего N элементов? … for i:=1 to N do S:=S*A[i]
- Массивы
- Оглавление
- Массивы
- 1. Одномерные массивы
- 1.1. Заполнение массива
- 1.2. Вывод массива на экран
- 1.3. Работа с массивами
- 2. Двумерные массивы
- 2.1. Заполнение матрицы
- 2.2. Вывод матрицы на экран
- 2.3. Работа с матрицами
Каким способом можно заполнить массив с помощью оператора присваивания по формуле вводом каждого
Ввод значений элементов массива можно осуществить несколькими способами (рис. 4.3).
Рис. 4.3. Способы ввода значений элементов массива
а) Ввод элементов массива с помощью оператора присваивания
Это самый нерациональный способ ввода.
var a: array [1..4] of word;
б ). Ввод элементов массива с клавиатуры
Этот способ и спользуется, когда значения элементов массива вполне определенные, но могут быть разные при каждом запуске программы.
var a: array [1..10] of integer;
for i:=1 to 10 do read(a[i]);
Здесь цикл перебирает все значения индекса массива. А чтобы было более наглядно и удобно можно использовать и такую запись операторов в цикле.
for i:=1 to 10 do
write(‘ введите ‘,i, ‘ элемент : ’);
в ). Ввод элементов массива с помощью генератора случайных чисел
Этот способ используется, когда не важно, какие значения имеют элементы массива.
var a: array [1..10] of real;
for i:=1 to 10 do
В этом случае, функция random генерирует псевдослучайные действительные числа в интервале от 0 до 1. Для генерации положительных и отрицательных действительных чисел в произвольном диапазоне, отрезок [0,1] растягивают и сдвигают, например, так a[i]:=10*random-5 присваивает элементам массива действительные числа от -5 до 5.
Для генерации значений элементов целочисленного массива из определенного диапазона (0…N-1) используют функцию random(N):
var b: array [1..10] of integer;
for i:=1 to 10 do
В этом случае значениями элементов массива b будут целые числа от 0 до 9.
г). Ввод с помощью описания массива как типизированной константы
Этот способ используется, когда значения элементов массива постоянны при каждом запуске программы. Такой способ задания начальных значений элементов массива очень удобен при отладке программы.
const a: array [1..5] of integer = (5,4,9,1,2);
Далее в программе типизированные константы используются как переменные, в том числе заданные значения элементов массива могут изменяться.
Источник
1. Выберите правильные варианты вывода элементов массива на печать в строку.
1)for i:=1 to n do write (a[i], ` ` )
2)for i:=1 to n do writeln (a[i])
3)for i:=1 to n do write (`a[`, i, `]=`)
4)for i:=1 to n do write (`a`, i, `=`, a[i])
2. Каким способом можно заполнить массив?
1)С помощью оператора присваивания по формуле
2)Все варианты ответов верны
3)С помощью оператора присваивания случайными числами
4)Вводом каждого элемента с клавиатуры
3. var a: array [1..59] of real;Здесь oписан массив a из … вещественных чисел.
1)58
2)60
3)59
4)50
4. Упорядоченное множество однотипных данных, имеющих общее имя и различающихся номерами, называют…
1)структурированием
2)множеством
3)последовательностью
4)массивом
5. Какой оператор необходимо вставить вместо многоточия в следующий фрагмент программы на языке Паскаль, чтобы верно решалась задача нахождения произведения элементов массива А, содержащего N элементов?
…
for i:=1 to N do S:=S*A[i]
1)S:=A[1]
2)S:=0
3)S:=A[N]
4)S:=1
6. Задан одномерный массив А, содержащий N элементов. Укажите, что будет определено в результате работы следующего фрагмента программы:
S:=0;
for i:=1 to N do
if A[i]>0 then S:=S+A[i];
1)Максимальный элемент массива
2)Сумма неотрицательных элементов массива
3)Количество положительных элементов массива
4)Сумма положительных элементов массива
7. Выберите правильное описание массива А, состоящего из нескольких переменных целого типа .
1)A : array [1..25] of byte
2)A : [1..25] of integer
3)A : array [1..25] of integer
4)A : array [1..25] of real
8. Задан одномерный массив А, содержащий N элементов. Значения всех элементов массива различны. Укажите, что будет определено в результате работы следующего фрагмента программы:
m:=1;
for i:=1 to N do
if A[i]>=A[m] then m:=i
1)Индекс максимального элемента массива
2)Значение максимального элемента массива
3)Индекс минимального элемента массива
4)Значение минимального элемента массива
9.Дан фрагмент программы, определяющий количество отрицательных элементов массива A[1..10]. Восстановите пропущенное условие.
k:=0;
for i:=1 to 10 do
if ________ then k:=10 – 1;
write (p)
Источник
Массивы
Сайт: | Электронные курсы ТПУ |
Курс: | Информационные технологии 1 |
Книга: | Массивы |
Напечатано:: | Гость |
Дата: | Суббота, 20 Ноябрь 2021, 01:35 |
Оглавление
Массивы
Все простые типы данных, рассматриваемые ранее, имеют два характерных свойства: неделимость и упорядоченность их значений. Составные, или структурированные типы данных задают множество сложных значений с одним общим именем. Существует несколько методов структурирования, каждый из которых отличается способом обращения к отдельным компонентам. В данном учебном пособии будут рассмотрены только два структурированных типа данных: регулярный тип (массивы) и строковый тип.
С понятием «массив» приходится встречаться при решении научно-технических, экономических задач обработки большого количества однотипных значений.
Таким образом, массив – это упорядоченная последовательность данных, состоящая из фиксированного числа элементов, имеющих один и тот же тип, и обозначаемая одним именем.
Название регулярный тип массивы получили за то, что в них объединены однородные элементы, упорядоченные (урегулированные) по индексам, определяющим положение каждого элемента в массиве.
Массиву присваивается имя, посредством которого можно ссылаться на него как на единое целое. Элементы, образующие массив, упорядочены так, что каждому элементу соответствует совокупность номеров (индексов), определяющих его место в общей последовательности. Индексы представляют собой выражения простого типа. Доступ к каждому отдельному элементу осуществляется обращением к имени массива с указанием индекса нужного элемента:
Чтобы использовать массивы в программах, нужно их описать в разделе описаний. Тип массива не является стандартным, поэтому его необходимо описать в части описания типов. Описание типа массива определяет его имя, размер массива и тип данных:
type =array[ ] of ;
Далее, в перечне переменных указывается имя массива и через двоеточие указывается имя нового типа данных:
Массив может быть описан и без представления типа в разделе описания типов данных:
var :array[ ] of ;
Этот вариант описания короче, но в некоторых случаях, когда описание переменных типа массив встречается несколько раз в различных частях программы, необходимо описание этого типа отдельно, как приведено в первом варианте.
Чаще всего в качестве типа индекса используется интервальный целый тип.
1. Одномерные массивы
Линейный (одномерный) массив – массив, у которого в описании задан только один индекс; если два индекса, то это двумерный массив и т. д. Одномерные массивы часто называют векторами, т. е. они представляют собой конечную последовательность пронумерованных элементов. Пример описания одномерного массива:
type vec=array[1..5] of real;
var x:vec;
var x: array[1..5] of real;
Оба из вариантов описывают одномерный массив x, состоящий из 5 вещественных элементов.
Присваивание начальных значений (заполнение массива) заключается в присваивании каждому элементу массива некоторого значения заданного типа. Наиболее эффективно эта операция осуществляется при помощи оператора for. Ввод данных может осуществляться: с клавиатуры, из файла данных, при помощи различных формул, в том числе и датчика случайных чисел.
Индексированные элементы массива называются индексированными переменными и могут быть использованы так же, как и простые переменные. Например, они могут находиться в выражениях в качестве операндов, им можно присваивать любые значения, соответствующие их типу, и т. д.
Алгоритм решения задач с использованием массивов:
- описание массива;
- заполнение массива;
- вывод (распечатка) массива;
- выполнение условий задачи;
- вывод результата.
1.1. Заполнение массива
Рассмотрим типичные варианты заполнения массива х, описанного выше.
Заполнение всех элементов массива числом 1 :
for i:=1 to 5 do x[i]:=1;
Заполнение всех элементов массива случайными числами из диапазона 0–9 :
for i:=1 to 5 do x[i]:=random(9);
Заполнение всех элементов массива при помощи ввода с клавиатуры:
for i:=1 to 5 do
begin
readln(x[i]);
end;
1.2. Вывод массива на экран
Вывод массива на экран в одну строку без пояснений:
for i:=1 to 5 do writeln(x[i]:6:1);
Вывод массива на экран в столбец с пояснениями. Этот вариант гораздо нагляднее. Старайтесь использовать его:
for i:=1 to 5 do writeln(‘x[’,i,‘]=’,x[i]:6:1);
1.3. Работа с массивами
Пример 6.1. Определить самую высокую температуру и самый теплый день в мае.
program massiv;
uses crt;
var t:array[1..31] of integer;
i,max,n:integer;
begin
Clrscr;
for i:=1 to 31 do
begin
t[i]:=random(20);
write(t[i],‘ ’);
end;
writeln;
max:=t[1]; n:=1;
for i:=2 to 31 do
begin
if t[i]>max then
begin max:=t[i]; n:=i; end;
end;
writeln(‘t-макс.= ’,max,‘ в ’,n, ‘день’);
end.
2. Двумерные массивы
Двумерный массив – структура данных, хранящая прямоугольную матрицу. В матрице каждый элемент определяется номером строки и номером столбца, на пересечении которых он расположен. В Паскале двумерный массив представляется массивом, элементами которого являются одномерные массивы. Два следующих описания двумерных массивов тождественны:
var a:array [1..5] of array [1..6] of real;
var a:array [1..5,1..6] of real;
Чаще всего при описании двумерного массива используют второй способ. Так же как и для одномерных массивов, для двумерных можно использовать отдельно описание нового типа массива, а затем описывать переменную, используя этот тип:
type matr=array [1..5,1..6] of integer;
var a:matr;
Доступ к каждому отдельному элементу осуществляется обращением к имени массива с указанием индексов (первый индекс – номер строки, второй индекс – номер столбца). Все действия над элементами двумерного массива идентичны действиям над элементами линейного массива. Только для инициализации двумерного массива используется конструкция, когда один цикл for вложен в другой. Например:
for i:=1 to 5 do
for j:=1 to 6 do
a[i,j]:=0;
При организации вложенных (сложных) циклов необходимо учитывать:
- Все правила, присущие простому циклу, должны соблюдаться.
- Имена параметров для циклов, вложенных один в другой, должны быть различными.
- Внутренний цикл должен полностью входить в тело внешнего цикла. Пересечение циклов недопустимо.
2.1. Заполнение матрицы
Рассмотрим типичные варианты заполнения матрицы a, описанной выше.
Заполнение всех элементов матрицы случайными числами из диапазона 1 – 9 :
for i:=1 to 5 do
for j:=1 to 6 do
a[i,j]:=random(9);
Заполнение всех элементов матрицы при помощи ввода с клавиатуры:
for i:=1 to 5 do
for j:=1 to 6 do
begin
readln(a[i,j]);
end;
2.2. Вывод матрицы на экран
Вывести на экран матрицу 5 ´ 6 можно следующим образом:
for i:=1 to 5 do
begin
for j:=1 to 6 do
end;
2.3. Работа с матрицами
Работа с матрицами осуществляется также поэлементно.
Пример 6.2. Сформировать таблицу Пифагора (таблица умножения) и вывести ее на экран.
program pifagor;
uses crt;
var p:array [1..9,1..9] of integer;
i,j:integer;
begin
Clrscr;
for i:=1 to 9 do
for j:=1 to 9 do
p[i,j]:=i*j;
for i:=1 to 9 do
begin
for j:=1 to 9 do
write(p[i,j]:4);
writeln;
end;
end.
Пример 6.3. Задан двумерный массив В(10, 10), заполненный случайными числами из диапазона -10 – 10. Найти и вывести на экран произведение элементов побочной диагонали.
program massiv;
uses crt;
var b:array[1..10,1..10] of integer;
i,j,s:integer;
begin
Clrscr;
for i:=1 to 10 do
begin
for j:= 1 to 10 do
begin
b[i,j]:=random(20)-10;
write(b[i,j]:4);
end;
writeln;
end;
s:=1;
for i:=1 to 10 do
s:=s*b[i,11-i];
writeln(‘Произведение = ’,s);
end.
Пример 6.4. Ввести с клавиатуры матрицу В(5, 5) и поменять местами первый и последний столбец.
program mest;
var b:array[1..5,1..5] of integer;
i,j,s:integer;
begin
for i:=1 to 5 do
for j:=1 to 5 do
begin
readln(b[i,j]);
end;
for i:=1 to 5 do
begin
for j:=1 to 5 do
write(b[i,j]:4);
writeln;
end;
for i:=1 to 5 do
begin
s:=b[i,1]; b[i,1]:=b[i,5]; b[i,5]:=s;
end;
writeln;
writeln(‘Изменённая матрица’);
Источник