Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Тема- Массивы Выполнил студент гр

Работа добавлена на сайт samzan.net: 2016-06-09

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 19.5.2024

Федеральное агентство по образованию Российской Федерации

Томский государственный университет систем управления  и радиоэлектроники (ТУСУР)

Кафедра   ИИТ

Отчет

По лабораторной работе №3

Тема: «Массивы»

Выполнил студент гр.537

Шипина Анастасия Николаевна

Принял старший преподаватель кафедры КСУП

Потапова Евгения Михайловна

2008


Содержание

Введение………………………………………………………………………….......3

Основная часть……………………………………………………………………….5

Первая задача……………………………………………………………….………..5

Вторая задача…………………………………………………………….……..…....7

Заключение……………………………………………………………………..….....9


Введение

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

Одномерные массивы

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

<имя>: array [<н_индекс>..<в_индекс>] of <тип>;

Здесь <имя> - имя переменной-массива, array – зарезервированное слово языка Паскаль, обозначающее, что переменная является массивом,  <н_индекс> и <в_индекс> - соответственно, нижний и верхний индексы, которыми  являются целые константы, определяющие диапазон изменения индексов элементов одномерного массива (то есть размер массива), <тип> - тип элементов массива.

Под выводом массива понимается вывод всех значений элементов массива.

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

Массив можно задать, используя константы и счетчик случайных чисел, а также вычислять элементы массива по заданным формулам или просто вводить их последовательно.

Для ввода больших массивов удобно использовать специальную функцию-генератор случайных чисел. В языке Паскаль это функция random(x). вызов ее без аргумента возвращает случайное вещественное число из интервала [0;1), а вызов с аргументом x, где x – случайное целое число (типа integer) из промежутка [0;n). Случайные целые числа, принадлежащие отрезку [a,b], вычисляют по формуле a + random(ba + 1). Например, если необходимо случайное число на отрезке [10;99], функцию random можно записать следующим образом: otr  :=10 + random(90);. Эта функция в Паскале обычно используется совместно с процедурой randomize, переустанавливающей базу генерации случайных чисел, то есть позволяющей при последовательных запусках программы получать разные случайные последовательности.

Двухмерные массивы

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

Формат записи двухмерного массива в языке Паскаль:

<имя>:array [<н_индекс_1>..<в_индекс_1>,

                      <н_индекс_2>..<в_индекс_2>]

 of <тип>;

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

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

Аналогом массивов языка Паскаль в математике являются матрицы. Матрицы, у которых число строк равно числу столбцов, называется квадратными. А(n,n) – квадратная матрица.

Процедуры

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

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

Описание процедуры состоит из заголовка и тела. Заголовок процедуры записывается следующим образом:

procedure <имя> [(<список>)];

Здесь <имя> - имя процедуры, <список> - список формальных параметров (определенных в заголовке).

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

В заголовках вместо формальных параметров можно использовать константы, массивы, типы, строки и т.д.

Функции

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

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

Все функции, как и процедуры, делятся на встроенные (стандартные) и пользовательские (определенные пользователем).

Описание функции состоит из заголовка и тела. Заголовок функции:

function <имя> [(<список>)]: <тип>;

Здесь <имя> - имя функции, <список> - список формальных параметров (определенных в заголовке), <тип> - тип возвращаемого функцией результата.

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

В заголовках вместо формальных параметров можно использовать константы, массивы, типы, строки и т.д.
Основная часть

Первая задача

Элемент  матрицы  назовем  седловой точкой, если он является  наименьшим  в своей  строке  и  одновременно наибольшим в своем столбце или,  наоборот, является наибольшим  в своей строке  и наименьшим в  своем столбце.   Для заданной  целой матрицы  размером 10x10 напечатать индексы всех ее седловых точек.

uses crt;

const n=10;m=10;

var a:array[1..n,1..m] of integer;

i,j,k,l:integer;

min,max,c,p:real;

begin

clrscr;

randomize;

for i:=1 to n do

begin

for j:=1 to m do

begin

a[i,j]:=random(30)-3;

write(a[i,j]:3);

end;

writeln;

end;

for i:=1 to n do

begin

min:=a[i,1];

for j:=1 to m do

begin

min:=a[i,1];

for j:=1 to m do

if a[i,j]<=min then

begin

min:=a[i,j];

k:=j;

end;

max:=a[1,k];

for l:=1 to n do

if a[l,k]>=max then max:=a[l,k];

if max=min then

begin

writeln('stroka- ',i,'  stolbec- ',k);

break;

end;

end;

writeln('takix tochek ne syshectbyet!');

end.

Вторая задача

Даны  две последовательности  по n  целых чисел  в каждой.  Найти наименьшее  среди  тех  чисел  первой последовательности, которые не входят во вторую последовательность (считая, что хотя бы одно  число есть).


var

   k:integer;

   n,m:integer;

type massiv=array[1..1000] of integer;

procedure sort(var mas:massiv;n:integer);

   var

       a:boolean;

       i:integer;

begin

   a:=true;

   while a do

       begin

           a:=false;

           for i:=1 to n-1 do

               begin

                   if mas[i]>mas[i+1] then

                   k:=mas[i+1];

                   mas[i+1]:=mas[i];

                   mas[i]:=k;

               end;

       end;

end;

function poisk(var mas:massiv; n:integer; m:integer):integer;

   var

       b:boolean;

       i:integer;

begin

   b:=false;

   for i:=1 to n do

       begin

           if mas[i]=n then b:=true;■

       end;

   poisk:=b;

end;

   var

       i:integer;

begin

writeln(n);

readln(n);

   for i:=1 to n do

       begin

           mas:=random(100);

           mas1:=random(100);

       end;

       i:=0;

       while not poisk(mas,n,mas1[i]) do

           i:=i+1;

           writeln(i);

end.




1. Приветствующий Кот
2. цифрами та словами виданий р
3. Проблемы архаического права в теории государства и права
4. тема С течением времени возросло наше чувство ответственности перед экологией.
5. Химически опасные объекты РФ, аварии на них
6. Портрет в творчестве венецианских мастеров XV XVI веков
7. это стратегия которая описывает общее направление роста предприятия развития его производственносбытово
8. Введение В настоящее время практически во всех организациях используются компьютеры для хранения и обра
9. Сведения об источниках необходимо располагать в алфавитном порядке и нумеровать арабскими цифрами с точкой
10. Об одном кулисно-рычажном механизме
11. Трансперсональная психология специфика направления и подготовка специалистов
12. Тема- Космическая Вид- Бег по этапам Помещения- Столовая Корпус Беседка Спортплощадка Сначала вожаты.
13. о вольных хлебопашцах; Г
14. Лабораторная работа 1 Информационно ~ образовательная среда вуза 2 часа Цель- усвоение понятия инфо
15. Управління потенціалом будівельного підприємства
16. Застосування бульдозерів
17. Задание 4 1
18. Тадж-Махал - чудо света в Индии
19. Учебное пособие- Організаційно-економічний механізм управління процесами інноваційного розвитку
20. . Теоретические аспекты использования персонажей в рекламной деятельности