пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ


Язык программирования Pascal. Составные типы данных. Массивы. Классификация массивов: одномерные и многомерные, статические и динамические. Объявление массивного типа, основные операции над массивами: заполнение массива, поиск наибольшего/наименьшего элемента, суммы, среднего значения в массиве.

 

Паскаль (Pascal) разрабатывался, как учебный язык выского уровня, структурного программирования. Относится к 3-му поколению языков программирования.  На основе ALGOL.

 

Составные типы данных – типы данных базирующиеся на простых. Важна однотипность элементов и способ доступа, позволяющие выделить главные представители сложных типов.

 

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

Массивы могут быть одномерными и многомерными

Описание при помощи слова array в разделе описания типов

Одномерный:имя_типа = array [диапазон] of тип;

Диапазон - диапазон поряд эл-тов(любой тип, кроме longInt);

Type atype = array [1..10] of real;

mass = array [byte] of char;

Var a,b:atype;  c:mass; // 1 вариант

Var а,b : array [0..100] of byte; // 2 вариант

Для доступа к эл-ту массива необходимо указать имя массива и номер эл-та в []: a[4], b[3].

Для однотипных массивов можно испол операцию присваивания: a:=b;

Генерация случ массива

type mass=array [1..10] of integer;

var a:mass;

    i:integer;

 begin

  randomize;

  for i:=1 to 10 do a[i]:=random(10);

  for i:=1 to 10 do write(a[i],'  ');

  readln; end.

Многомерный: Type  matrix = array [1..5] of array [1..3] of real; //1 вариант

Type matrix = array [1..5,1..3] of real; // 2 вариант

Var m:matrix;

Доступ к элементу m[2][3] или m[2,3]

Аналогично для массивов большей размерности

Генерация случ матрицы

type matrix=array [1..5,1..3] of integer;

var a:matrix; i,j:integer;

 begin

  randomize;

  for i:=1 to 5 do

    for j:=1 to 3 do

      a[i,j]:=random(10);

  for i:=1 to m do begin

    for j:=1 to n do write(a[i,j],' ');

    writeln; end;

  readln; end.

Сумма и среднее ариф эл-тов массива

type mass=array [1..10] of integer;

var a:mass; nn,i,s:integer; sa:real;

 Begin

{см пример генерация массива}

   nn:=10; s:=0;  

   for i:=1 to nn do s:=s+m[i];

  sa:=sumarray(m,nn)/nn;

  writeln('Summa elementov=',s);

  writeln('Srednee=',sa:1:3); readln; end.

Нахождение макс и мин эл-тов

type mass=array [1..10] of integer;

var a:mass;

    i,nn,s,min,max:integer;

    sa:real;

            //подпрограммы из предыдущих примеров

function maxarray(m:mass; nn:integer):integer;

 var i,x:integer;

  begin

   x:=m[1];

   for i:=2 to nn do

    if m[i]>x then x:=m[i];

   maxarray:=x;

  end;

function minarray(m:mass; nn:integer):integer;

 var i,x:integer;

  begin

   x:=m[1];

   for i:=2 to nn do

    if m[i]<x then x:=m[i];

   minarray:=x;

  end;

begin

  nn:=10;  a:=setarr(nn,-10,10);

  max:=maxarray(a,nn);    min:=minarray(a,nn);

  writeln('Min=',min);  writeln('Max=',max);

  readln;end.

9.


22.01.2015; 17:41
хиты: 931
рейтинг:0
Точные науки
информатика
Языки программирования
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь