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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


реферат Работа в Интернете

Информация:

Тип работы: реферат. Добавлен: 05.06.13. Сдан: 2013. Страниц: 17. Уникальность по antiplagiat.ru: < 30%

Описание (план):


МИНОБРНАУКИ РОССИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ  БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ  УНИВЕРСИТЕТ ПРИБОРОСТРОЕНИЯ И  ИНФОРМАТИКИ»
(МГУПИ)
 
 
ИНСТИТУТ НЕПРЕРЫВНОГО ОБРАЗОВАНИЯ
 
 
 
Отчёт по дисциплине «Практические навыки работы в интернете»
 
 
 
 
 
 
Выполнил:
Студент 1 курса ИНПР7-1204з
Захаров Антон  Сергеевич
 
Приняла:
Микаева Анжела Сергеевна
 
 
 
 
 
 
 
 
 
МГУПИ, 2013 г.
 
Содержание
 
    Алгоритм ……………………………………………………………….
    Свойства…………………………………………………………………
    Форма записи алгоритма……………………………………………….
    Построение блок схем………………………………………………….
    Классификация алгоритмов…………………………………………….
    Типы данных …………………………………………………………...
    Массивы …………………………………………………………………
      Обработка массивов……………………………………………….
      Сортировка массивов………………………………………………
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1) Алгоритм.
Понятие алгоритма является одним из главных понятий программирования. Алгоритм – это последовательность команд, в результате выполнения которых исполнителем решается поставленная задача.
Понимая, что единого «истинного» определения понятия «алгоритм» нет, приведем еще два определения:
«Алгоритм — это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность». (Д. Э. Кнут)
«Алгоритм — это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи». (А. Колмогоров)
Запись алгоритма на формальном языке называется программой (program). В некоторых случаях само понятие алгоритма заменяется его записью. То есть слова «алгоритм» и «программа» практически являются синонимами. Небольшая, но главная, разница в использовании слова «алгоритм» в том, что под этим словом подразумевают основную идею формирования последовательности команд. И эта идея является общей для всех языков программирования. Слово «программа» относится к записи алгоритма на каком-либо конкретном языке программирования.
В математике рассматриваются различные виды алгоритмов – программы для машин Тьюринга, алгоритмы Маркова, рекурсивные функции и т.д. В программировании предполагается, что все языки программирования являются одинаково мощными. То есть любую задачу, имеющую алгоритм решения, можно решить посредством любого языка программирования. Выбор языка в конкретной ситуации зависит от удобства инструментов этого языка для данной задачи. Например, объектно-ориентированные языки удобны для программирования оконных сред, а язык Фортран с успехом используется для выполнения научных и инженерных расчетов.
Многие алгоритмические языки, используемые в программировании, имеют сходства. Но при изложении идеи алгоритма не всегда целесообразно оформлять его на каком-нибудь языке программирования, так как идея алгоритма может быть искажена второстепенными деталями. В таких случаях пользуются близким к человеческому алгоритмическим языком. Такой язык еще называют псевдокодом. Специалисту не трудно перевести алгоритм, описанный на псевдокоде, в программу на конкретном языке программирования.
Запись алгоритма в псевдокоде во многих ситуациях яснее и понятней. Псевдокод дает возможность выбора способа изложения алгоритма: от приведения общего чертежа алгоритма до описания деталей каждой части алгоритма. Псевдокод включает в себя сущность большинства языков программирования.
Виды  алгоритмов.
 
 
Алгоритм, в  котором есть структура СЛЕДОВАНИЕ называется ЛИНЕЙНЫМ. Следование - это расположение действий друг за другом.  
Примерная схема:
 

 
Алгоритм, в  котором есть структура ВЕТВЛЕНИЕ называется РАЗВЕТВЛЯЮЩИМСЯ. Ветвление - это выбор действия в зависимости от выполнения какого-нибудь условия  
Примерная схема:
 

 
Алгоритм, в  котором есть структура ЦИКЛ называется ЦИКЛИЧЕСКИМ. Цикл - это неоднократное повторение каких-либо действий. 
Примерная схема:

2) Свойство.
 
Не всякая последовательность команд может называться алгоритмом. Алгоритмом является только такая последовательность, которая удовлетворяет перечисленным ниже свойствам:
 
Обязательные  свойства алгоритмов
 
1. Дискретность алгоритма-поочередное выполнение команд алгоритма за конечное число шагов приводящее к решению задачи. Запись алгоритма распадается на отдельные указания исполнителю выполнить некоторое законченное действие. Каждое такое указание называется командой. Команды алгоритма выполняются одна за другой. После каждого шага исполнения алгоритма точно известно, какая команда должна выполняться следующей. Алгоритм представляет собой последовательность команд (также инструкций, директив), определяющих действия исполнителя (субъекта или управляемого объекта).Таким образом, выполняя алгоритм, исполнитель может не вникать в смысл того, что он делает, и вместе с тем получать нужный результат. В этом случае говорят, что исполнитель действует формально, т.е. отвлекается от содержания поставленной задачи и только строго выполняет некоторые правила, инструкции. Это очень важная особенность алгоритмов. создание алгоритма дает возможность решать задачу формально, механически исполняя команды алгоритма в указанной последовательности.
 
2. Определенность (или точность) алгоритма - каждая команда алгоритма должна однозначно определять действие исполнителя.
 
3. Понятность алгоритма - алгоритм, составленный для конкретного исполнителя, должен включать только те команды, которые входят в его систему команд. У каждого исполнителя имеется свой перечень команд, которые он может исполнить. Совокупность команд, которые могут быть выполнены исполнителем, называется системой команд исполнителя.
 
4. Результативность (конечность) алгоритма - исполнение алгоритма должно закончиться за конечное число шагов.

Не обязательное свойство алгоритмов

5. Массовость алгоритма - обеспечивающие решения всего класса задач данного типа.

Свойство  массовости не является необходимым  свойством алгоритма. Оно скорее определяет качество алгоритма.

 
3) Форма записи алгоритма.
 
Алгоритмы можно записывать разными способами, называемыми формой представления алгоритма. На практике наиболее распространены следующие формы представления алгоритмов:
      словесная (записи на естественном языке);
      графическая (изображения из графических символов);
      псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
      программная (тексты на языках программирования).
 
Словесная форма представления алгоритмов
Словесная форма  записи не так широко распространена в литературе из-за ее многословности и отсутствия наглядности.
Рассмотрим  запись алгоритма в словесной  форме на примере алгоритма нахождения максимального из двух значений:
Определим форматы  переменных X, Y, M, где X и Y – значения для сравнения, M – переменная для  хранения максимального значения.
      Получим два значения чисел X и Y для сравнения;
      сравним X и Y;
      если X меньше Y, значит большее число Y;
      поместим в переменную M значение Y;
      если X не меньше (больше) Y, значит большее число X;
      поместим в переменную M значение X.
Как видно из данного примера словесный способ описания обладает следующими недостатками:
      описание строго не формализуемо;
      запись получилась многословной;
      отдельные предписания (действия) допускают неоднозначность толкования.
Именно эти  три причины не позволили получить широкое распространение словесной  форме записи.
 
 
 
 
Графический способ представления алгоритмов
Графический способ оказался очень удобным средством изображения алгоритмов и получил широкое распространение в научной и учебной литературе.
Структурная (блок-) схема алгоритма – графическое  изображение алгоритма в виде схемы связанных между собой  с помощью стрелок (линий перехода) блоков – графических символов, каждый из которых соответствует одному шагу алгоритма. Внутри каждого блока дается описание соответствующего действия.
Графическое изображение  алгоритма широко используется перед  программированием задачи вследствие его наглядности, т.к. зрительное восприятие обычно облегчает процесс написания программы, ее корректировки при возможных ошибках, осмысливание процесса обработки информации.
Можно встретить  даже такое утверждение: «Внешне  алгоритм представляет собой схему  – набор прямоугольников и других символов, внутри которых записывается, что вычисляется, что вводится в машину и что выдается на печать и другие средства отображения информации». Здесь форма представления алгоритма смешивается с самим алгоритмом.
Принцип программирования «сверху вниз» требует, чтобы блок-схема поэтапно конкретизировалась и каждый блок «расписывался» до элементарных операций. Но такой подход можно осуществить при решении несложных задач. При решении сколько-нибудь серьезной задачи блок-схема «расползется» до такой степени, что ее невозможно будет охватить одним взглядом.
Блок-схемы алгоритмов удобно использовать для объяснения работы уже готового алгоритма, при  этом в качестве блоков берутся действительно  блоки алгоритма, работа которых  не требует пояснений. Блок-схема алгоритма должна служить для упрощения изображения алгоритма, а не для усложнения.
 
 
 
 
В таблице приведены  наиболее часто употребляемые символы.
 Название символа
Обозначение и пример заполнения
Пояснение
Процесс

Вычислительное  действие или последовательность действий
Решение

Проверка условий
Модификация

Начало цикла
Предопределенный  процесс

Вычисления  по подпрограмме, стандартной подпрограмме
Ввод-вывод

Ввод-вывод в  общем виде
Пуск-останов

Начало, конец  алгоритма, вход и выход в подпрограмму
Документ

Вывод результатов на печать

 
Блок «процесс»  применяется для обозначения  действия или последовательности действий, изменяющих значение, форму представления  или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединять в один блок. Представление отдельных операций достаточно свободно.
Блок «решение»  используется для обозначения переходов  управления по условию. В каждом блоке  «решение» должны быть указаны вопрос, условие или сравнение, которые  он определяет.
Блок «модификация» используется для организации циклических конструкций. (Слово модификация означает видоизменение, преобразование). Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения.
Блок «предопределенный  процесс» используется для указания обращений к вспомогательным  алгоритмам, существующим автономно  в виде некоторых самостоятельных  модулей, и для обращений к библиотечным подпрограммам.
(См. рисунок 1.)
Псевдокод


Псевдокод представляет собой  систему обозначений и правил, предназначенную для единообразной  записи алгоритмов. Он занимает промежуточное  место между естественным и формальным языками. С одной стороны, псевдокод  близок к обычному естественному языку, поэтому алгоритмы могут на нем записываться и читаться как обычный текст. С другой стороны, в псевдокоде используются некоторые формальные
 
 
конструкции и математическая символика, что приближает запись алгоритма к общепринятой математической записи. В псевдокоде не приняты строгие синтаксические правила для записи команд, присущие формальным языкам, что облегчает запись алгоритма на стадии его проектирования и дает возможность использовать более широкий набор команд, рассчитанный на абстрактного исполнителя. Однако в псевдокоде обычно имеются некоторые конструкции, присущие формальным языкам, что облегчает переход от записи на псевдокоде к записи алгоритма на формальном языке. В частности, в псевдокоде, так же, как и в формальных языках, есть служебные слова, смысл которых определен раз и навсегда. Они выделяются в печатном тексте жирным шрифтом, а в рукописном тексте подчеркиваются. Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором служебных слов и основных (базовых) конструкций. К таким конструкциям обычно относят ветвления (если …то … иначе …) и циклы (цикл от … до …, цикл пока, цикл до...).
При записи алгоритма в  словесной форме, в виде блок-схемы  или на псевдокоде допускается определенный произвол при изображении команд. Вместе с тем такая запись точна настолько, что позволяет человеку понять суть дела и исполнить алгоритм.
Однако на практике в качестве исполнителей алгоритмов используются специальные автоматы — компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на «понятном» ему языке. И здесь на первый план выдвигается необходимость точной записи команд, не оставляющей места для произвольного толкования их исполнителем.
Следовательно, язык для  записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма  на этом языке — программой для  компьютера.
 
 
 
 
 
 
 
4) Построение блок схем.
Блок схема - графическое представление алгоритма. Она состоит из функциональных блоков, которые выполняют различные назначения (ввод/вывод, начало/конец, вызов функции и т.д.).
Каждое  действие в блок схеме графически изображается в виде геометрической фигуры:
 

Эта фигура означает либо начало программы, либо ее конец. В функции ею обозначаются вызов или возврат из функции.

Этой  фигурой выполняются различные  арифметические операции.

В этой фигуре выполняются различные операторы  ветвления и, соответственно, проверяемые условия.

Здесь описывают вызов подпрограммы и  параметры, которые передаются в  нее.

Данные  нужно куда-то выводить или вводить. Вот для этих целей используют эту фигуру.

Эта фигура нужна, если у нас есть цикл. Тут прописывается начальное  значение цикла, его шаг и ,конечно  же, условие окончания цикла.

 
       Пример:
int main(int argc, char* argv[]) 

    int count = 0; 
 
    for (int i=0; i<5; i++){ 
       if (i%2 == 0) cout << i; 
       else cout << i+1;  
    } 
 
    getch(); 
return 0; 
}
Блок схема:

Заметьте, что по этой блок схеме можно написать программу на любом языке, так как синтаксис тут стандартный и удовлетворяет практически любому языку программирования. 
Блок схемы нужны, что бы облегчить процесс программирования.
 
 
5) Классификация алгоритмов.
Алгоритмы машинной графики  можно разделить на два уровня : нижний и верхний. Группа алгоритмов нижнего уровня предназначена для реализации графических примитивов (линий, окружностей, заполнений и т.п.). Эти алгоритмы или подобные им воспроизведены в графических библиотеках языков высокого уровня (BGI в Турбо - Паскале) или реализованы аппаратно в графических процессорах рабочих станций (Silicon Graphics и др.).
Среди алгоритмов нижнего  уровня можно выделить следующие  группы :
Простейшие в смысле используемых математических методов  и отличающиеся простотой реализации. Как правило, такие алгоритмы не являются наилучшими по объему выполняемых вычислений или требуемым ресурсам памяти.
Поэтому можно выделить вторую группу алгоритмов, использующих более сложные математические предпосылки (но часто и эвристические) и отличающихся большей эффективностью.
К третьей группе следует  отнести алгоритмы, которые могут  быть без больших затруднений  реализованы аппаратно (допускающие  распараллеливание, рекурсивные, реализуемые  в простейших командах). В эту  группу могут попасть и алгоритмы, представленные в первых двух группах.
Наконец, к четвертой  группе можно отнести алгоритмы  со специальным назначением (например, для устранения лестничного эффекта).
К алгоритмам верхнего уровня относятся в первую очередь алгоритмы  удаления невидимых линий и поверхностей. Задача удаления невидимых линий и поверхностей продолжает оставаться центральной в машинной графике. От эффективности алгоритмов, позволяющих решить эту задачу, зависят качество и скорость построения трехмерного изображения.
К задаче удаления невидимых  линий и поверхностей примыкает  задача построения (закрашивания) полутоновых (реалистических) изображений, т.е. учета  явлений, связанных с количеством  и характером источников света, учета  свойств поверхности тела (прозрачность, преломление, отражение света).
 
 
 
Однако при этом не следует забывать, что вывод объектов в алгоритмах верхнего уровня обеспечивается примитивами, реализующими алгоритмы  нижнего уровня, поэтому нельзя игнорировать проблему выбора и разработки эффективных алгоритмов нижнего уровня.
Для разных областей применения машинной графики на первый план могут  выдвигаться разные свойства алгоритмов. Для научной графики большое  значение имеет универсальность  алгоритма, быстродействие может отходить на второй план. Для систем моделирования, воспроизводящих движущиеся объекты, быстродействие становится главным критерием, поскольку требуется генерировать изображение практически в реальном масштабе времени.
Особенности растровой  графики связаны с тем, что  обычные изображения, с которыми сталкивается человек в своей деятельности (чертежи, графики, карты, художественные картины и т.п.), реализованы на плоскости, состоящей из бесконечного набора точек. Экран же растрового дисплея представляется матрицей дискретных элементов, имеющих конкретные физические размеры. При этом число их существенно ограничено. Поэтому нельзя провести точную линию из одной точки в другую, а можно выполнить только аппроксимацию этой линии с отображением ее на дискретной матрице (плоскости). Такую плоскость также называют целочисленной решеткой, растровой плоскостью или растром. Эта решетка представляется квадратной сеткой с шагом 1. Отображение любого объекта на целочисленную решетку называется разложением его в растр или просто растровым представлением.
 
 
 
 
 
 
 
 
 
 
 
 
 
6) Типы данных.
 
Тип данных определяет:
    Формат представления в памяти компьютера
    Множество допустимых значений, которые может принимать принадлежащая к выбранному типу переменная или константа
    Множество допустимых операций, применимых к этому типу.
Основные (интересующие нас) типы данных в BP:
    Простые типы
      Целочисленные типы
      Логический тип
      Символьный тип
      Перечисляемый тип
      Интервальный тип
      Вещественный тип
    Структурированные типы
      Массив
      Множество
      Запись
 

1. Простые типы

1.1 Целочисленные типы

В Borland Pascal имеется пять предопределенных целочисленных типов: Shortint, Integer, Longint, Byte и Word. Каждый тип обозначает определенное подмножество целых чисел.

Предопределенные  целочисленные типы

Тип
Диапазон
Формат
ShortInt
-128...127
1 байт со  знаком
Integer
-32768...32767
2 байта со  знаком
LongInt
-2147483648...214748367
4 байта со  знаком
Byte
0...255
1 байт без  знака
Word
0...65535
2 байта без  знака

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

1.2 Логический  тип

Существует 4 предопределенных логических (булевских) типа: Boolean, ByteBool, WordBool и LongBool. Значения булевского типа обозначаются встроенными идентификаторами констант False и True. Логические переменные могут использоваться для хранения результатов каких - либо логических вычислений. Для булевых переменных разрешены только 2 операции сравнения "="(равно) и "<>"(неравно).

1.3 Символьный  тип (char)

Множеством значений этого типа являются символы, упорядоченные в соответствии с расширенным набором символов кода ASCII. Это буквы ['A'...'Z', 'a'...'z'], цифры ['0'...'9'], знаки препинания и специальные символы. Переменная типа Char в памяти занимает один байт.

1.4 Перечисляемый  тип

Перечислимые типы определяют упорядоченные множества значений через перечисление идентификаторов, которые обозначают эти значения. Упорядочение множеств выполняется  в соответствии с последовательностью, в которой перечисляются идентификаторы.
Program Week; 
Type 
    Week = (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday); 
Var 
    Day: Week; 
Begin 
    Day:=Thursday; 
If (Day = Sunday) Or (Day = Saturday) then  
    Writeln('Выходной') 
Else 
    Writeln('Рабочий день'); 
End.

1.5 Интервальный  тип

Интервальный тип представляет собой диапазон значений из порядкового  типа. Определение интервального  типа включает наименьшее и наибольшее значение в поддиапазоне.
const 
X = 50; 
Y = 10; 
Type 
    Interval = 0 ... 1000; 
Scale = 2 * (X - Y)..(X + Y);
 
Такая декларация типа указывает компилятору, что для переменных этого типа допустимы только числа из указанного диапазона. Тем самым в программе могут быть автоматически организованы проверки корректности операций присвоения для этих переменных. При выполнении программы попытка присвоить такой переменной значение, не входящее в интервал допустимых значений, квалифицируется как ошибка и приводит к прекращению работы программы и выдаче соответствующего сообщения.

1.6 Вещественный  тип.

К вещественному типу относится подмножество вещественных чисел, которые могут быть представлены в формате с плавающей точкой с фиксированным числом цифр. Запись значения в формате с плавающей запятой обычно включает три значения - m, b и e - таким образом, что m * b ^ e = n, где b всегда равен 2, а m и e являются целочисленными значениями в диапазоне вещественного типа. Эти значения m и e далее определяют диапазон представления и точность вещественного типа. 
Пример: 
0.143E+22, где m - 0.143; b=2(подразумевается), e=22 
Имеется пять видов вещественных типов: вещественное (Real), с одинарной точностью (Single), с двойной точностью (Double), с повышенной точностью (Extended) и сложное (Comp).

Диапазон представления  для вещественных типов

Допустимые  значения
Real
2.9*10^-39...1.7*10^+38
11-12 знаков
6 байт
Single
1.5*10^-45...3.4*10^+38
7-8 знаков
4 байта
Double
5.0*10^-324...1.7*10^+308
15-16 знаков
8 байт
Extended
3,4*10^-4932...1.1*10^4932
19-20 знаков
10 байт
Comp
-9,2*10^+18...9.2*10^18
19-20 знаков
8 байт

 

7) Массив.

Массив - это фиксированное количество элементов данных, которые хранятся последовательно и доступны по индексу.
Пример: 
Type  
    Arr1= array[1..100] of Real; 
    Arr2 = array[boolean,1..10,Size] of Real; 
    Arr3 = array[1..10,1..8] of Boolean; 

К i-му элементу массива a, идет обращение как к a[i].
На совести программиста остается обязанность побеспокоиться о том, чтобы перед первым чтением  любого элемента массива в нем  находилось что-либо имеющее смысл.
Процесс предварительного предания переменным "значащего" значения называется инициализацией.
Пренебрежение инициализацией является наиболее распространенной ошибкой  при написании программ.
Напишем программу, которая выводит  простые числа меньшие 1000. 
Метод использованный в этой программе называется "решето Эратосфена" и был впервые применен уже 300 лет до рождества Христова:
program Eratosfen; 
const     
N=1000; 
var     
a : array [1..N] of boolean; 
    i, j : integer; 
begin 
a[1] := false;  
for i:=2 to N do  
a[i] := true; 
    for i:= 2 to N div 2 do  
        for j:= 2 to N div i do  
a[i*j] := false; 
    for i:= 1 to N do  
        if a[i] then  
writeln(i); 
end.
 
Программа использует массив состоящий  из элементов самого простого типа, логического. Цель программы - присвоить  элементу массива a[i] значение true если i простое и false в противном случае. Это достигается посредством того, что для любого i, мы устанавливаем элементы массива с индексами кратными i в значение false потому, что любое число кратное какому либо целому не может быть простым. Затем программа еще раз проходит по массиву распечатывая простые числа.
Заметьте, что массив был изначально проинициализирован, чтобы показать, что ни одно из чисел  более 1 не известно как "непростое": алгоритм устанавливает в false лишь те элементы массива a, индексы которых были опознаны как непростые числа.
Решето Эратосфена является типичным алгоритмом использующим факт, что  любой элемент массива можно  эффективно использовать. Кроме того, алгоритм использует элементы массива  последовательно, один за другим. Во многих задачах, последовательный порядок доступа очень важен;
 
 
 
В некоторых других задачах последовательный доступ используется потому, что он столь же хорош, как и другие. Но самое главное свойство массивов состоит в том, что если индекс известен, то обращение к любому элементу массива производится за постоянное время.
Размер массива должен быть известен заранее; в Паскале, он должен быть известен уже во время компиляции. Чтобы  запускать вышеприведенную программу  при разных значениях N, необходимо сперва изменить N, затем снова откомпилировать ее и запустить. В некоторых программных оболочках есть возможность объявлять размеры массива во время выполнения программы (чтобы, например, дать пользователю ввести значение N, а затем вывести все простые числа меньшие либо равные N без дополнительных затрат памяти на хранение максимально большого массива), но и в этом случае размер массива постоянен и должен быть известен до того, как он первый раз использован.
Массивы относят к одним из фундаментальных  структур данных еще и потому, что существует прямое соответствие между массивами и памятью на практически всех типах компьютеров. Для получения содержимого из памяти компьютера мы должны знать адрес. Таким образом можно думать о памяти компьютера как о массиве, с адресами соответствующими индексам. Большинство языков программирования преобразуют программы в высокоэффективные программы в машинных кодах которые используют память напрямую.
Другой знакомый нам всем способ структурирования информации - это  использование двухмерных таблиц чисел организованных в столбцы и колонки. Например, таблица содержащая оценки студентов за домашние задания. На компьютере такая таблица называется двухмерным массивом. У нее два индекса, один для столбца, другой для колонки. Алгоритмы определенные на таких структурах очень просты: например, чтобы подсчитать средний бал, мы суммируем все числа в этом массиве и делим на количество элементов в этом массиве, а чтобы подсчитать средний бал одного студента, мы суммируем все его оценки и делим на количество заданий. Двухмерные массивы широко используются в задачах такого рода. На самом же деле, на компьютере довольно удобно использовать и более чем двухмерные массивы: можно, например, использовать третье измерение для обозначения года за который эта таблица успеваемости.
Массивы также являются прямым прообразом векторов. Аналогично, двухмерные массивы  соответствуют матрицам.
 


и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.