Язык программирования PASCAL
Блок 5.
Тема: Регулярные типы данных.
Одномерные массивы. Работа с элементами.
План.
I. Одномерные массивы.
1. Операторы массива, виды массивов.
а) задание одномерного массива.
2. Решение задач.
3.Задание на самостоятельную работу.
В математике, экономике, информатике часто используются упорядоченные наборы данных , например, последовательность чисел, таблицы, списки фамилий и т.д. Для обработки наборов данных одного типа вводят понятие массива.
Под массивом понимается совокупность конечного числа данных одного типа.
Массив обозначается одним именем. Так совокупность действительных чисел 1.6, 5.7, 8.5, 0.45 можно считать массивом и обозначить одним именем, например, А. Каждый элемент массива обозначается именем массива с индексом. Элементы массива упорядочены по значениям индекса.
Индекс заключается в круглые или квадратные скобки.
В Turbo Pascal 7.0 индекс заключается в квадратные скобки.
A[1]=1.6, A[2]=5.7, A[3]=8.5, A[4]=0.45
Таким образом – индекс определяет положение элемента массива данных
Относительно его начала.
В программе массив должен быть описан.
Форма описания имеет вид
var имя массива: ARRAY [n1..n2] OF <тип элементов>;
Например, var a: array[1..100] of integer;
Здесь массив начинается с 1 по 100 элемент, элементы могут лежать в пределах от -32768 до 32767.
Можно одним описанием объединить несколько массивов. Это будет выглядеть так.
Var A,B,C: ARRAY[1..50] OF REAL/
Здесь объявлено списком 3 массива A,B,C действительных чисел, каждый из которых содержит 50 элементов.
Элементы массива могут стоять как в левой части оператора присваивания, так и в выражениях. Над элементами массива можно производить те же операции, которые допустимы для данных его базового типа. Если базовый тип есть INTEGER, то допустимы все операции над данными целого типа, включая и стандартные функции.
В языке Turbo Pascal помимо описания массивов в разделе переменных имеется другая форма описания, состоящая из двух этапов. Сначала в разделе описания типов TYPE указывается тип массива. Затем в разделе описания переменных VAR перечисляются массивы, относящиеся к указанному типу.
Это выглядит так.
Type massiv=aaray[n1..n2] OF<тип элементов> .
Размерность массива задается при его описании и в процессе работы программы.
Присвоение значений элементам массива может происходить с помощью:
оператора Read (readln);
Uses crt;
var i,n: integer;
a: array[1..1000] of integer;
Begin
Clrscr;
Определяем число элементов в массиве.
Write’ (Введ. Размер массива’);
Readln (n);
Ввод элементов массива.
For i:1 to n do begin
Write (‘a [‘,i,’]’); readln (a[i]);
End;
Выводим на экран полученный массив.
For i:=1 to n do
Write (a[i],’’);
read key;
End.
Описание элементов массива в разделе описания констант.
Uses crt;
Const n=5;
A: array [1..5] of integer=(4,5,7,7,0);
Var i: integer;
begin
Полученный массив
For i:=1 to n do
Write (a[i],’’);
Read key;
End.
2. Решение задач.
Пример 1 . Сформировать одномерный массив из N элементов, где элементы массива – целые случайные числа в пределах о 1 до 45. Напечатать элементы в прямом и обратном порядке.
Решение.
Для получения случайных чисел воспользуемся функцией RND[(x)]. Данная функция возвращает случайное число обычной точности в интервале от 0 до 1. Если аргумент опущен, возвращается следующее число из последовательности случайных чисел.
Для запуска генератора используйте процедуру Randomize .
Функция Random[(x)] формирует случайное число от 0 до X целого или вещественного типа.
X – параметр, указывающий диапазон случайного числа. Оно изменяется в пределах от 0 до X. Результат в этом случае имеет тип WORD (значения от 0 до 65535). Для получения массива целых случайных чисел используем запись random (B-A+I)+A
Зададим алгоритм решения задачи в виде пошагового исполнения следующих команд.
1. Имя программы.
2. Задание массива и описания всех переменных.
3. Получение случайных чисел в заданном диапазоне.
4. Вывод элементов массива в прямом и обратном порядке.
Записываем программу на языке Turbo-Pascal.
Program prim1;
Var i, n: integer;
a: array[1..100] of integer;
Begin
Randomize;
Write ('razmer='); readln (n);
For i:=1 to n do begin
A[i]:=random (46) +1;
Writeln (a[i],'');
End;
For i:=n downto 1 do
Write (a[i],'');
Readln (a[i]);
End.
Пример 2. Подсчитать количество четных элементов массива, заданного датчиком случайных чисел.
Составим блок- схему алгоритма.
![]() |
![]() |
Программа, записанная на языке Pascal/
Program prim2;
Var i, k,n: integer;
a: array[1..100] of integer;
Begin
Randomize;
Write ('chislo elem massiwa n=');readln(n);
For i:=1 to n do begin
a[i]:=random(45)-22;
Writeln (a[i],'');
if a[i] mod 2=0 then k:=k+1
end;
Writeln ('kol. chetnyx elem=',k);
readln;
Rnd.
Пример 3.
Произвести удаление элемента из одномерного массива, заданного датчиком случайных чисел.
Зададим алгоритм в виде пошагового исполнения.
1. Задаем массив датчиком случайных чисел. Подробное задание алгоритма смотри в примере 2.
2. Вводим номер удаляемого элемента.
3. Смещаем элементы массива к началу, начиная с К-го.
4. Обнуляем последний элемент.
5. Выводим на экран измененный массив.
Программа на языке Pascal.
Program prim3;
Uses CRT;
Var a: array [1..100] of integer;
I, k, n: integer;
Begin
Randomize;
Clrscr;
Write (‘chislo elem. N=’); readln(n);
For i:=1 to n do begin
A[i]:=random (45)-22;
Write (a[i],’’);
End;
Write (‘nomer udalyemogo elem. K<=n’); readln (k);
For i:=1 to n do begin;
If i>=k then a[i]:=a [i+1];
End;
A[n]:=0;
For i: =1 to n-1 do begin
Write (a[i],’’);
End;
Readln;
End.
5. Задания для самостоятельного выполнения.
1. Составить алгоритм и программу, которая подсчитывает количество отрицательных и неотрицательных элементов одномерного массива. Массив задать датчиком случайных чисел.
2. Произвести вставку элемента в одномерный массив.
3. Составить алгоритм и программу, которая определяет сумму элементов одномерного массива. Элементы массива можно задавать любым способом.
Желаю удачи.
program z34;
{ Найти сумму элементов прямоугольной таблицы размером [n:m] }
uses crt;
var a : array [1..10,1..10] of longint;
i,j,n,m,s : longint;
begin
clrscr;
write('кол-во строк : ');readln(m);
write('кол-во столбцов : ');readln(n);
for i:=1 to m do
for j:=1 to n do
begin
write('a[',i,',',i,']=');readln(a[i,j]);
end;
for i:=1 to m do
for j:=1 to n do s:=s+a[i,j];
write('Сумма:',s);
readln;
end.
program z35;
{ Найти maксимальный элемент прямоугольной
таблицы размером [n:m]. }
uses crt;
var a : array [1..10,1..10] of longint;
i,j,n,m,max : longint;
begin
clrscr;
write('кол-во строк : ');readln(m);
write('кол-во столбцов : ');readln(n);
for i:=1 to m do
for j:=1 to n do
begin
write('a[',i,',',j,']=');readln(a[i,j]);
end;
max:=a[1,1];
for i:=1 to m do
for j:=1 to n do
if max<a[i,j] then max:=a[i,j];
write('max=',max);
readln;
end.
{ Дана таблица А. Записать '+' элементы таблицы А в
таблицу В '-' элементы таблицы А в табл С. }
uses crt;
var a,b,c : array [1..10] of longint;
n,k,i,l : longint;
begin
clrscr;
write('n = ');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');readln(a[i]);
end;
for i:=1 to n do
if a[i]<0 then begin
inc(k);b[k]:=a[i];
end
else begin
inc(l);c[l]:=a[i];
end;
writeln('положительное:');
for i:=1 to l do writeln('c[',i,']=',c[i]);
writeln('отрицательное:');
for i:=1 to k do writeln('b[',i,']=',b[i]);
readln;
end.
Настоящий материал опубликован пользователем Орлов Юрий Николаевич. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалУчитель физики, информатики
Файл будет скачан в форматах:
Материал разработан автором:
Настоящая методическая разработка опубликована пользователем Паклин Андрей . Инфоурок является информационным посредником
Презентация предназначена для учеников, которые только начинают знакомиться с программированием.
В ней вы узнаете, что такое Python, чем он отличается от других языков программирования и почему его выбирают многие разработчики. Мы рассмотрим основные концепции и синтаксис Python, а также научимся писать и запускать первую простую программу.
Курс повышения квалификации
Курс профессиональной переподготовки
300/600 ч.
Курс профессиональной переподготовки
500/1000 ч.
Курс повышения квалификации
36 ч. — 180 ч.
Еще материалы по этой теме
Смотреть
Рабочие листы
к вашим урокам
Скачать
I. Одномерные массивы.
1. Операторы массива, виды массивов.
а) задание одномерного массива.
2. Решение задач.
3.Задание на самостоятельную работу.
В математике, экономике, информатике часто используются упорядоченные наборы данных , например, последовательность чисел, таблицы, списки фамилий и т.д. Для обработки наборов данных одного типа вводят понятие массива.
Под массивом понимается совокупность конечного числа данных одного типа.
Массив обозначается одним именем. Так совокупность действительных чисел 1.6, 5.7, 8.5, 0.45 можно считать массивом и обозначить одним именем, например, А. Каждый элемент массива обозначается именем массива с индексом. Элементы массива упорядочены по значениям индекса.
Индекс заключается в круглые или квадратные скобки.
В TurboPascal 7.0 индекс заключается в квадратные скобки.
A[1]=1.6, A[2]=5.7, A[3]=8.5, A[4]=0.45
Таким образом – индекс определяет положение элемента массива данных
Относительно его начала.
В программе массив должен быть описан.
Форма описания имеет вид
7 237 101 материал в базе
Вам будут доступны для скачивания все 215 370 материалов из нашего маркетплейса.
Мини-курс
5 ч.
Мини-курс
3 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.