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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 28.12.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. Фінансова система України
7. Учебник под редакцией профессора М
8. Голубой Огонёк ведущие- Басков и Галкин- Силавев и Коротков Григорий Лепс- Одиноков Ирония Судьбы гл
9. Управление торговлей 11 и 1СБитрикс- Управление сайтом [2] Типовые сценарии работы пользователей.html
10. Тема роботи - Порівняння обсягів і структури забруднення міст України Мета- провести порівняння обсягі
11. РЕФЕРАТА Данный реферат наибольшее внимание уделяет лингвострановедческим факторам в процессе обуче
12. тематическую модель открытой задачи о назначениях на минимум суммарных затрат времени на все операции;.html
13. распустятся и печень посадишь
14. Динамические ряды основных техникоэкономических показателей и их характеристики Полученный первичный
15. СТРОИТЕЛЬНАЯ АКАДЕМИЯ УТВЕРЖДАЮ
16. Ожирение и метаболический синдром
17. Вариант 1 Долгое царствование Екатерины II 1762 1796 наполнено значительными и весьма противоречивыми соб
18. Сікорський Ігор Іванович (1889-1972) український авіаконструктор
19. Тема 9 Правовые основы таможенного контроля Вопросы- Понятие и принципы таможенного контроля
20. Пестициды