Способы задания одномерных массивов. Программирование

Урок из серии: «Язык программирования Паскаль »

После объявления массива с ним можно работать. Например, присваивать значения элементам массива и вообще обращаться с ними как с обычными переменными. Для обращения к конкретному элементу необходимо указать идентификатор (имя) массива и индекс элемента в квадратных скобках.

Например, запись Mas, A позволяет обратиться ко второму элементу массива MAS и десятому элементу массива A. При работе с двумерным массивом указывается два индекса, с n-мерным массивом — n индексов.

Например, запись Matr делает доступным для обработки значение элемента, находящегося в четвертой строке четвертого столбца массива M.

Индексированные элементы массива называются индексированными переменными. За границы массива выходить нельзя. То есть, если в массиве Mas пять элементов, то обращение к шестому или восьмому элементу приведет к ошибке.

Рассмотрим типичные операции, возникающие при работе с одномерными массивами.

Заполнение одномерного массива значениями

Заполнение и вывод массива можно осуществить только поэлементно, то есть можно сначала присвоить значение первому элементу, затем второму и так далее, то же самое и с выводом на экран — выводим первый, второй, третий и так до последнего.

Паскаль не имеет средств ввода-вывода элементов массива сразу, поэтому ввод и значений производится поэлементно. Значения элементу массива можно присвоить с помощью оператора присваивания, или ввести с клавиатуры с помощью операторов Read или Readln. Очень удобно перебирать все элементы массива в цикле типа for.

Способы заполнения одномерных массивов:

  1. Ввод значения с клавиатуры.
  2. Задание значений в операторе присваивания с помощью генератора случайных чисел. Этот способ более удобен, когда много элементов в массиве (ввод их значений с клавиатуры занимает много времени).
  3. Задание значений по формуле.
  4. Ввод элементов массива из файла

1. Ввод значений элементов массива с клавиатуры. В связи с тем, что использовался оператор Readln, каждое значение будет вводиться с новой строки.

2. Заполнение массива числами, сгенерированными случайным образом из интервала . Подключаем датчик случайных чисел — функцию random.

3. Заполнение массива по формуле. Каждому элементу массива присваивается значение, вычисленное по формуле. Если каждый элемент массива равен утроенному значению его порядкового номера (индекса), то процедура будет иметь вид:

4. Чтение чисел из файла. Нужно заранее создать текстовый файл, в который запишите несколько строк, в каждой из которых по 30 чисел.

Вывод значений элементов массива на экран

Вывод значений элементов массива на экран выполняется, как и ввод, поэлементно в цикле. Для вывода будем использовать операторы Write или Writeln. В качестве входных параметров будем передавать процедуре не только массив, но и количество элементов, которые надо вывести, начиная с первого (это понадобится нам, когда мы будем удалять и добавлять элементы в массиве).

Пример 1. Заполнить массив с клавиатуры и вывести его на экран.

Решение.

В программе будет использоваться две процедуры: процедура Init1 (заполнение массива с клавиатуры) и процедура Print (вывод массива на экран).

Пример 2. Заполнить массив из текстового файла и вывести на экран. В текстовом файте несколько строк, в каждой строке по 30 чисел.

Вы научились заполнять одномерный массив и выводить его на экран.

На следующем уроке продолжим знакомиться с алгоритмами обработки одномерных массивов.

Разделы: Информатика

Тема : Двумерные массивы. Заполнение двумерного массива по заданному правилу.

Цели: отработать навыки работы с элементами двумерного массива, научиться заполнять двумерные массивы по заданному правилу, научиться выводить зависимость между номером строки и номером столбца; развитие логического мышления учащихся.

ХОД ЗАНЯТИЯ

1. Актуализация знаний

Массивы, положение элементов в которых описывается двумя индексами, называются двумерными. Структура такого массива может быть представлена прямоугольной матрицей. Каждый элемент матрицы однозначно определяется указанием номера строки и столбца, номер строки – i, номер столбца – j.
Рассмотрим матрицу А размером n*m:

а 11 а 12 а 13 а 14
а 21 а 22 а 23 а 24
а 31 а 32 а 33 а 34

Матрица из 3 строк и 4 столбцов, количество строк n=3, количество столбцов m=4. Каждый элемент имеет свой номер, который состоит из двух чисел – номера строки, в которой находится элемент, и номера столбца. Например, а23 – это элемент, стоящий во второй строке и в третьем столбце.
Двумерный массив на языке Турбо Паскаль можно описать по-разному. Чтобы описать двумерный массив, надо определить какого типа его элементы, и каким образом они пронумерованы (какого типа его индекс). Существует несколько способов описания двумерного массива.

Const maxN=…; {Максимальные значения количества строк}
maxM=…; {Максимальные значения количества столбцов}

1 способ

Type Mas = array of <тип элементов>; {Одномерный массив}
Type TMas = array of Mas; {Одномерный массив, элементами которого являются одномерные массивы}

2 способ

Type TMas = array of array of <тип элементов>;
{Одномерный массив, элементами которого являются одномерные массивы}

3 способ

Type <имя типа>= array of <тип элементов>; {Двумерный массив}

Предпочтение отдается третьему способу описания двумерного массива.

Например:

Const N=3; M=4;
Type TMas= array of integer; {Двумерный массив из целых чисел}

Формирование двумерного массива можно осуществлять четырьмя способами: ввод с клавиатуры, через генератор случайных чисел, по заданному правилу или с помощью файла.

1) Формирование двумерного массива при помощи ввода с клавиатуры и алгоритм построчного вывода элементов матрицы.

Const N=10;M=10;
Type Tmas= array of integer;
Var A:Tmas; i,j:integer;
Begin
{Ввод элементов матрицы}
For i:=1 to N do
For j:=1 to M do
Read(A);
{Вывод элементов матрицы}
For i:=1 to N do begin
For j:=1 to M do
Write(A:4); {Печатается первая строка}
Writeln {Переход на новую строку}
end;
End.

2) Фрагмент программы формирования двумерного массива через генератор случайных чисел.

Begin
Randomize; {Инициализация генератора случайных чисел}
{Ввод элементов матрицы}
For i:=1 to N do
For j:=1 to M do
A:=random(45)-22;

2. Изучение нового материала. Заполнение массива по правилу

Рассмотрим несколько фрагментов программ заполнения двумерного массива по некоторому закону. Для этого необходимо вывести правило заполнения.

1. Заполнить массив А размером n*m следующим образом, например

1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
17 18 19 20 21 22 23 24
32 31 30 29 28 27 26 25
33 34 35 36 37 38 39 40
48 47 46 45 44 43 42 41

Массив заполняется по принципу «змейки». Правило заполнения: если номер строки – нечетное число, то A=(i-1)*m+j, иначе A=i*m-j+1.

program M1А;

n,m,i,j: integer;
begin
readln(n,m);
for i:=1 to n do begin
for j:=1 to m do
begin
if i mod 2 = 1 then
A=(i-1)*m+j
else
A=i*m-j+1;
write(A:3);
end;
writeln;
end;
readln;
end.

Приведем пример программы другого способа заполнения по заданному правилу:

program M1В;
var A:array of integer;
n,m,i,j: integer;
c: integer;
begin
readln(n,m);
c:=1;
for i:=1 to n do
begin
for j:=1 to m do
begin
A:=c;
if (i mod 2 = 0) and (j<>m) then
dec(c)
else
inc(c);
write(A:3);
end;
c:=c+m-1;
writeln;
end;
readln;
end.

2. Заполнить массив A по следующему принципу:

1 0 2 0 3 0 4
0 5 0 6 0 7 0
8 0 9 0 10 0 11
0 12 0 13 0 14 0

program M2;
var A:array of integer;
n,m,i,j: integer;
c: integer;
begin
readln(n,m);
c:=0;
for i:=1 to n do
begin
for j:=1 to m do
begin
if (i-1+j) mod 2 = 0 then
A:=0
else
begin
inc(c);
A:=c;
end;
write(A:5);
end;
writeln;
end;
readln;
end.

3. Заполнить массив A по следующему принципу:

1 12 13 24 25 36
2 11 14 23 26 35
3 10 15 22 27 34
4 9 16 21 28 33
5 8 17 20 29 32
6 7 18 19 30 31

var A:array of integer;
n,m,i,j: integer;
c: integer;
begin
readln(n,m);
c:=1;
for j:=1 to m do
begin
for i:=1 to n do
begin
A:=c;
if (j mod 2 = 0) and (i<>n) then
dec(c)
else
inc(c);
end;
c:=c+n-1;
end;
for i:=1 to n do
begin
for j:=1 to m do
write(A:5);
writeln;
end;
readln;
end.

4. Заполнить массив A по следующему принципу:

1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4

var i,j,m,c,d: integer;

begin
c:=1;
readln(m);
for j:=1 to m do
begin
i:=c;
d:=1;
repeat
A:=d;
inc(i);
if i>m then
i:=1;
inc(d);
until i=c;
dec(c);
if c <= 0 then
c:=m-c;
end;
for i:=1 to m do
begin
for j:=1 to m do
write(A:2);
writeln;
end;
end.

5. Заполнить массив A по следующему принципу:

1 0 0 0 1
0 1 0 1 0
0 0 1 0 0
0 1 0 1 0
1 0 0 0 1

var m,i,j: integer;
A:array of integer;
begin
readln(m);
for i:=1 to m do
begin
for j:=1 to m do
begin
if (i=j) or (m-i+1=j) then
A:=1
else
A:=0;
write(A:2);
end;
writeln;
end;
end.

3. Задачи для самостоятельного решения

6 5 4 3 2 1
7 8 9 10 11 12
18 17 16 15 14 13
19 20 21 22 23 24
30 29 28 27 26 25
31 32 33 34 35 36

36 25 24 13 12 1
35 26 23 14 11 2
34 27 22 15 10 3
33 28 21 16 9 4
32 29 20 17 8 5
31 30 19 18 7 6

0 1 1 1 0
1 0 1 0 1
1 1 0 1 1
1 0 1 0 1
0 1 1 1 0

4) Заполнить массив по следующему принципу:

31 32 33 34 35 36
25 26 27 28 29 30
19 20 21 22 23 24
13 14 15 16 17 18
7 8 9 10 11 12
1 2 3 4 5 6

5) Заполнить массив по следующему принципу:

31 25 19 13 7 1
32 26 20 14 8 2
33 27 21 15 9 3
34 28 22 16 10 4
35 29 23 17 11 5
36 30 24 18 12 6

Домашние задание:

1) Заполнить массив по следующему принципу:

6 7 18 19 30 31
5 8 17 20 29 32
4 9 16 21 28 33
3 10 15 22 27 34
2 11 14 23 26 35
1 12 13 24 25 36

2) Заполнить массив по следующему принципу:

31 32 33 34 35 36
30 29 28 27 26 25
19 20 21 22 23 24
18 17 16 15 14 13
7 8 9 10 11 12
6 5 4 3 2 1

3) Заполнить массив по следующему принципу:

0 1 1 1 0
1 0 1 0 1
1 1 0 1 1
1 0 1 0 1
0 1 1 1 0

Разделы: Информатика

Цели:

  1. Познакомить учащихся с возможностью заполнения и обработки массива.
  2. Создать графический интерфейс проекта по заполнению массива и подсчета суммы элементов в заданном массиве.
  3. Развивать познавательный интерес к предмету
  4. Воспитывать ответственное отношение к обучению

ХОД УРОКА

1. Актуализация урока

Организационный момент

Фронтальный опрос по предыдущей теме “Понятие массива. Одномерный массив”

2. Формирование умений и навыков

Объяснение нового материала

Объявление массива

Объявление массива производится аналогично объявлению переменных, необходимо только указать диапазон изменения индекса. Например, объявление одномерного целочисленного массива, содержащего 10 элементов, производится следующим образом:

A: array of integer;

Основные задачи при работе с массивами

1. Формирование (заполнение) массива

1.1. по формулам For i:=1 to 10 do a[i]:= i*i;

1.2. сгенерировать случайным образом For i:=1 to 10 do a[i]:= random(20):

Встроенная функция RANDOM(MAX), возвращает случайное целое число, равномерно распределенное в диапазоне от 0 до МАХ – 1(МАХ – параметр обращения)

1.3. ввести с клавиатуры For i:=1 to 10 do read(a[i]);

2. Сортировка массива (по возрастанию, по убыванию);

3. Поиск элементов в массиве;

4. Выбор элементов из массива по условию;

Заполнение массива случайным образом.

Для начала работы с массивом его необходимо заполнить, т.е. присвоить элементам массива определенные значения. Для генерации последовательности случайных чисел используем функцию Random(100). При запуске программы данная функция выведет псевдослучайную последовательность целых чисел в интервале от 0 до 100.

Для генерации различающихся между собой последовательностей случайных чисел рекомендуется использовать оператор Randomize

Действия с одномерными массивами

1. Вычисление суммы элементов

For I:= 1 To 10 Do s:=s+ a[i]; (обычное накопление суммы в s)

2. Вычисление произведения

For I:= 1 To 10 Do р:=р* a[i]; (обычное накопление произведения в р)

3. Поиск элемента с заданным значением

3. Прим енение умений и навыков на практике

Проект “Сумма элементов в массиве”. Разработаем проект “Сумма элементов в массиве”, который будет производить заполнение массива случайными числами и вычислять сумму этих чисел

Для начала создадим процедуру заполнения массива

1.Запустить систему программирования Delphi.

2. Работа над проектом начинается с создания графического интерфейса, для этого в окне Конструктор форм на форму помещаются управляющие элементы. Для создания графического интерфейса проекта разместим на форме два текстовых поля для вывода числовых данных (одно – заполнение массива, другое – вывод суммы) и две кнопки для реализации событийных процедур: заполнение массива и сумма

3. С помощью Панели инструментов поместить на форму Forml текстовое поле Editl и командную кнопку Buttonl

Следующим шагом является создание программного кода событийных процедур. Двойной щелчок мышью по кнопке, для которой надо создать программный код, вызывает окно Программный код с пустой заготовкой событийной процедуры.

4. Осуществить двойной щелчок по кнопке Buttonl, появится заготовка событийной процедуры TForml.ButtonlClick: Произвести объявление массива A и описание переменных I, S в разделе описания переменных var

A:array of integer;

procedure TForm1.Button1Click(Sender: TObject);

For I:= 1 To 10 Do

A[I] := Random(10);

Edit1.Text:= Edit1.Text +" " + IntToStr(a[i]);

5. Сохранение проекта (Save Project As)

6. Компиляция проекта (Project - Compile)

Теперь создадим процедуру для вычисления суммы элементов в заполненном массиве

С помощью Панели инструментов п оместим на форму Forml кнопку Button2 и текстовое поле Edit2. Двойной щелчок мышью по кнопке Button2, для которой надо создать программный код, вызывает окно Программный код с пустой заготовкой событийной процедуры.

procedure TForm1.Button2Click(Sender: TObject);

For I:= 1 To 10 Do

Edit2.Text:= Edit2.Text +" " + IntToStr(s)

Сохранение проекта всего проекта (Save Project).

Произведем компиляцию проекта (нажатием клавиши F9).

Щелкнуть по кнопкам Заполнить массив и Сумма.

В текстовое поле будут выведены результаты сумм при различных вариантах заполнения

4. Подведение итогов

5. Домашнее задание: Создать проект “Произведение элементов массива”, предусматривающий заполнение массива случайными числами и возможность вывода в текстовое поле произведение всех элементов в массиве.

Заполнить элементы одномерного массива значениями мы можем: вводя значения с клавиатуры; случайным образом; по формуле. Способы задания одномерных массивов Для ввода и вывода числовых значений массива используются циклы. Процедура принимает параметр по ссылке массив Mssiv заданного типа и целую переменную n отвечающую за количество заполняемых ячеек массива. Формирование одномерного массива случайным образом.


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


Заполнение.

Заполнить элементы одномерного массива значениями мы можем:

Вводя значения с клавиатуры;

Случайным образом;

По формуле.

Способы задания одномерных массивов

Для ввода и вывода числовых значений массива используются циклы.

Рассмотрим процедуры, которые бы формировали одномерный массив двумя способами

1) случайным образом,

2) вводом элементов с клавиатуры

Предположим, что мы будем работать с массивом целых чисел. Пусть нам достаточно иметь максимальное количество элементов равное 50. Процедура принимает параметр по ссылке массив Massiv заданного типа и целую переменную n , отвечающую за количество заполняемых ячеек массива. Также нам нужна будет локальная переменная i , которая будет выполнять функции параметра цикла и использоваться для указания номера, определяющего местоположение элемента в массиве.

1. Формирование одномерного массива случайным образом. Зададим значение каждого элемента результатом случайной функции Random(10). Заполнение массива зададим циклическим оператором for, в теле которого выполняется вычисление случайного числа функцией Random(10), после чего это значение присваивается очередному i -му элементу массива.

Procedure InsertMas1(Var massiv:mas; n:integer);

I: integer;

Begin

Randomize;

For i:=1 to n do

Massiv[i] := Random(10);

End ;

2. Формирование одномерного массива вводом элементов с клавиатуры.

Procedure InsertMas2(Var massiv:mas; n:integer);

I: integer;

Begin

For i:=1 to n do

Begin

write ("Введите ", i ,"-ый элемент массива ");

readln(massiv[i]);

End;

End;

Вывод массива на экран осуществляется следующим образом:

Procedure PrintMas(massiv:mas; n:integer);

I: integer;

Begin

For i:=1 to n

Write(Massiv[i]:5);

End .

Надо помнить, что во всех трех случаях нам не обойтись без организации цикла.

Поиск максимального (минимального) элемента массива.

Пусть мы имеем одномерный массив:

20,-2, 4, 10,7, 21,-12, 0, 4, 17.

Подумаем, какие операции нужно выполнить, если требуется найти максимальный элемент. Естественно, операцию сравнения Мы не задумываемся над тем, что сравниваем всегда пару, "пробегая" глазами все элементы массива. Алгоритм поиска максимального (минимального) элемента мы построим таким образом чтобы сравнивать пару чисел, повторяя действие сравнения нужное количество раз.

Итак, нам необходимо ответить на два вопроса:

1) какие числа входят в пару, составляющую операцию отношения;

2) сколько раз необходимо повторить операцию сравнения. Введем дополнительную переменную с именем mах. Она и будет одним из чисел, второе число — это очередной элемент массива. Для того, чтобы провести первую операцию сравнения необходимо переменной mах присвоить некоторое начальное значение. Здесь могут быть два варианта:

1) присвоить переменной mах первый элемент массива;

2) присвоить число заведомо меньшее всех элементов массива.

Массив содержит сведения о количестве студентов каждой группы I курса. Определить группу с максимальным количеством студентов, считая, что номер группы соответствует порядковому номеру числа в массиве (считаем, что такая группа единственная).

Другими словами, мы должны найти максимальный элемент и его номер.

program max_num;

type mas=array[ 1.. 10] of byte;

var a: mas;

num, i: byte;

max: byte;

begin

{ блок заполнения }

for i:=l to 7 do

readln(a[i]);

{поиск максимального и его номера}

max:==0;

{вводим самое маленькое число для данного массива}

for i:=l to n do

if a[i]>max then begin

num:=i;

max:=a[i]

end;

writeln("максимальное число студентов=",mах);

writeln("номер группы=",num);

end.

3) Найти минимальный элемент среди четных элементов массива.

Пояснение: мы не можем переменной min присвоить первый элемент массива, т.к. он может быть нечетным. Следовательно мы должны выбрать какое-то очень большое число для данного типа данных.

Если мы объявим элементы массива integer, то таким числом будет +32767.

program min_even;

a:array of integer;

i: integer;

min:integer;

begin

for i:=l to 10 do beein

writeln("введите очередной элемент массива ");

readln(a[i]) ;

end;

min:=32767;

for i:=l to 10 do

if (a[i]

if min=32767 then writeln ("в массиве нет четных элементов") else writein ("минимальный элемент среди четных элементов массива=",min)

end.

Обратите внимание: необходимо проверить, изменилось ли значение переменной min, т.к. четных элементов могло и не быть.

Другие похожие работы, которые могут вас заинтересовать.вшм>

8729. ОПРЕДЕЛЕНИЕ И СПОСОБЫ ЗАДАНИЯ КОНЕЧНОГО АВТОМАТА. ЗАДАЧА СИНТЕЗА. ЭЛЕМЕНТАРНЫЕ АВТОМАТЫ 189.1 KB
Определение и способы задания конечного автомата. ОПРЕДЕЛЕНИЕ И СПОСОБЫ ЗАДАНИЯ КОНЕЧНОГО АВТОМАТА. Определение конечного автомата. Способы задания конечного автомата.
3552. Индивидуальные домашние задания по химии. Химия домашние задания 475.47 KB
Методические указания включают индивидуальные домашние задания по следующим темам: классы неорганических соединений, химический эквивалент, строение атома, химическая связь, химическая термодинамика, химическая кинетика, концентрация растворов, ионные реакции и гидролиз солей, окислительно-восстановительные реакции, электрохимические процессы, свойства металлов.
12127. Стратегические полезные ископаемые (МПГ, Ni, Co, Cr, Cu) палеопротерозойских расслоенных базитовых массивов северо-востока Фенноскандинавского щита 17.77 KB
Краткое описание разработки. Преимущества разработки в сравнении с аналогами. Важным аспектом разработки является возможность минимизировать негативное техногенное воздействие на окружающую среду за счёт резкого сокращения экстенсивного применения тяжёлой горной и буровой техники на рекогносцировочнопоисковых стадиях. Области коммерческого использования разработки.
9554. МАТЕМАТИКА. МЕТОДИЧЕСКОЕ ПОСОБИЕ И ЗАДАНИЯ 268.34 KB
Учебная дисциплина «Математика» предназначена для реализации государственных требований к минимуму содержания и уровню подготовки выпускников среднего профессионального образования.
18129. Творческие задания как средство развития воображения 91.06 KB
Названные исследования отражают многообразие научных идей и практических подходов к организации творческой деятельности учащихся в образовательном процессе однако аспект целенаправленного обеспечения творческими заданиями младших школьников в процессе обучения как средства развития воображения изучен еще не достаточно. На основании выделенных противоречий анализа философской психолого-педагогической литературы а также в результате изучения опыта работы начальной школы была сформулирована проблема исследования заключающаяся в теоретическом...
19517. Разработка технического задания для автоматизации магазина «Буква» 155.63 KB
Грамотная продажа товара исходя из требований клиента то есть консультация специалистов. Поэтому необходимо чтобы магазин получал информацию о состоянии рынка и сам предоставлял на рынок информацию об имеющихся товарах и услугах. Взаимодействие со средствами массовой информации заключается в предоставлении магазином данных о себе своих товарах и услугах – в последствии из этих данных будет сформирована реклама ноутбук-салона которая воспринимается рынком товаров и услуг. Расширение видов товара Преимущества магазина: Большой опыт...
3548. Домашние задания по химии и методические указания по их выполнению 229.61 KB
Настоящие домашние задания предназначены для систематической работы студентов всех специальностей над курсом химии в соответствии с учебной программой. Выполнение заданий способствует выработке у студентов навыков самостоятельной работы.
19091. АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ И ОСНОВНЫЕ ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ К РАЗРАБАТЫВАЕМОЙ КОНСТРУКЦИИ 911.42 KB
Серверная комната (серверное помещение или просто серверная) - выделенное технологическое помещение со специально созданными и поддерживаемыми условиями для размещения и функционирования серверного и телекоммуникационного оборудования. Допустимая температура в серверном помещении должна быть
1763. Реализация задания в виде класса, используя для хранения информации контейнер стандартной библиотеки шаблонов (STL) языка С++ 190.6 KB
Синтаксис C++ унаследован от языка C. Одним из принципов разработки было сохранение совместимости с C. Тем не менее, C++ не является в строгом смысле надмножеством C; множество программ, которые могут одинаково успешно транслироваться как компиляторами C...
10124. Разработка технического задания на оказание рекламных услуг, услуг по уборке, охране, обеспечения персоналом 31.88 KB
Разработка технического задания на рекламные услуги: правовое регулирование рекламных услуг. Разработка технического задания на услуги по уборке: основные понятия и виды услуг. Разработка технического задания на услуги по охране: правовое регулирование. Разработка технического задания на услуги по обеспечению персоналом: основные понятия.

Узнаем понятие массива, способы организации массивов в алгоритмах и программах, способы заполнения массивов, типы и размеры массивов. Учимся решать простейшие задачи, задачи на поиск элементов, отвечающих условию.

Цель урока : дать понятие массива, способов организации массивов в алгоритмах и программах, способы заполнения массивов, типы и размеры массивов, научиться решать простейшие задачи, задачи на поиск элементов, отвечающих условию, показать решение задач на сортировку массивов.

Ход урока:

1. Объяснение нового материала:

Для решения задач накопления и обработки данных в ЭВМ важную роль играют массивы и последовательности данных, размещаемые в оперативной памяти или на магнитных носителях информации.

Массив- это область памяти, в которой могут размещаться совокупности данных определенного типа.

Для обозначения отдельных элементов в массивах необходимо указывать индексы.

Описание массивов:

  • Тип (повторение типов переменных, аналогия с массивами: вещественный, целочисленный %, символьный $, логический)
  • Размеры массивов (одномерный- линейный, двумерный- прямоугольный и т. д.)

Поскольку в массивах хранятся совокупности данных, то их обработка производится с помощью циклов.

алг «Таблица умножения»
нач
от K=1 до 9 цикл
от L=1 до 9 цикл
T=K*L
кцикл
кцикл
кон

T- двумерный массив (цикл в цикле)
L-формирует строки- внутренний цикл
К-изменяет индекс строк

алг «вывод таблицы умножения»
нач
от K=1 до 9 цикл
от L=1 до 9 цикл
Вывод T
Кцикл
Вывод (новая строка)
кцикл
кон

внутренний цикл организует вывод строк
внешний- формирует таблицу (столбцы)

Способы заполнения массивов

  1. с клавиатуры
  2. переписывание информации, хранящейся на МГД
  3. формулой
  4. датчиком случайных чисел
  5. data, read

Табличные величины

Одномерный массив соответствует списку, двумерный- таблице. Прежде, чем их использовать в программе необходимо указать машине, чтобы она заранее отвела место

Dim (dimension-размер)

Dim(8) Dim(8, 15)

Отсчет размерности идет с нуля.

Dim ставится в начале программы.

Способы заполнения массивов

1. с клавиатуры

dim A(3,4)
for I=1 to 3
for j=1 to 4
input A(I,J)
next J,I

2. формулой

dim A(3)
for I=1 to 3
A(I)=cos(I)
next I

3. датчиком случайных чисел

dim B(7)
for I=0 to 7
A(I)=int(rnd(1)*100+1)
next I

4. data, read

dim A$(4)
for I=1 to 4
read A$(I)
? A$(I)
next I
data Лена, Оля, Катя, Коля

д/з: конспекты

2024 bioaquansk.ru. Школа компьютерной грамотности.