русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-02-04; просмотров: 1776; Нарушение авторских прав


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

VAR

A,B:ARRAY[1..20] OF Integer;

C,D:ARRAY [1..4,1..5] OF Integer;

BEGIN

 

A=B – результатом вычисления этого выражения будет истина, если значение каждого элемента массива А равно соответствующему значению элемента массива В.

 

A<>B – результатом вычисления этого выражения будет истина, если хотя бы одно значение элемента массива А не равно значению соответствующего элемента массива В.

 

 

A:=B – все значения элементов массива В присваиваются соответствующим элементам массива А. Значение элементов массива В остаются неизменными (копирование).

 

 

Инициализация массива заключается в присваивании каждому элементу массива одного и того же значения соответствующего его базовому типу.

Для одномерного массива можно написать:

1)Операторы присваивания;

2)Fillchar (P,DL,Z);

3)FOR I:=1 TO 20 DO А[I]:=0;

Для двумерного массива могут быть так же использованы операторы присваивания:

FOR I:=1 TO 4 DO

FOR J:=1 TO 5 DO C[I,J]:=0;

 

 

Копированием массивов называется присваивание значений всех элементов одного массива всем соответствующим элементам другого массива. Копирование можно выполнить:

1)Одним оператором присваивания C:=D.

2)FOR I:=1 TO 4 DO

FOR J:=1 TO 5 DO C[I,J]:=D[I,J];

Оба массива должны быть идентичны по структуре.

 

 

Чтобы перемножить матрицы:

 

PROGRAM UMN;

CONST Gran=3;

TYPE

Mаtr=ARRAY [1..Gran,1..Gran] OF REAL;



VAR

Matr1,Matr2,Matr3:Matr;

PROCEDURE MU(M1,M2:Matr;VAR M3:Matr);

VAR

I,J,K:Integer;

S:Real;

BEGIN

FOR I:=1 TO Gran DO

FOR J:=1 TO Gran DO BEGIN

S:=0;

FOR K:=1 TO Gran DO S:=S+M1[I,K]*M2[K,J];

M3[I,J]:=S

END

END;

BEGIN

<Ввод значений исходной матрицы Matr1,Matr2>;

MU(Matr1,Matr2,Matr3);

<Вывод результатов>

END.

MU- оператор вызова процедуры MU.

(Matr1,Matr2,Matr3)- список фактических параметров.

Matr- имя типа.

M1,M2:Matr- принимающие параметры.

VAR M3:Matr- возвращающие параметры.

 

PROGRAM S1;

VAR

I,KN,KP,KO:Integer;

A:ARRAY [1..40] OF Real;

BEGIN

KP:=0;

KN:=0;

KO:=0;

FOR I:=1 TO 40 DO BEGIN

Read(A[I]);

IF A[I]=0 THEN KN:=KN+1

ELSE IF A[I]<0 THEN KO:=KO+1

ELSE KP:=KP+1

END;

Writeln(KP,KO,KN)

END.

 

PROGRAM S2;

USES DOS, CRT, PRINTER;

VAR

D:ARRAY [1..100] OF Real;

Max:Real;

I,PN:Integer;

BEGIN

CLRSCR;

Writeln(‘Введи D(100)’);

Max:=2E-19;

FOR I:=1 TO 100 DO BEGIN

Read(D[I]);

IF D[I]>Max THEN BEGIN

Max:=D[I];

PN:=I

END

END;

Writeln(‘Max=’,Max:5:2,’PN=’,PN);

Readkey

END.

 

PROGRAM S3;

USES DOS,CRT,PRINTER;

VAR

I,J,KN,KP,KO:Integer;

A:ARRAY [1..3,1..4] OF Real;

BEGIN

CLRSCR;

Writeln(‘Введи A(3*4)’);

I:=1;

KP:=0;

KN:=0;

KO:=0;

FOR I:=1 TO 3 DO

FOR J:=1 TO 4 DO BEGIN

Read(A[I,J]);

IF A[I,J]>0 THEN KP:=KP+1

ELSE IF A[I,J]=0 THEN KN:=KN+1

ELSE KO:=KO+1

END;

Writeln(‘KO=’,KO,’KN=’,kn,’KP=’,KP);

Readkey

END.



<== предыдущая лекция | следующая лекция ==>
Описание массивов | Двумерный массив


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 5.02 сек.