Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Операторы алгоритмического языка. Типы. Стандартные функции. Оператор присваивания. Выражение. Тип выражения

Читайте также:
  1. Case <ключ_выбора> of <список_выбора> [else <оператор_иначе>] end
  2. I. Намеренное изобретение и Божественное создание языка.
  3. III. Проблема реконструкции индоевропейского праязыка.
  4. While (выражение) оператор
  5. Акцентологические нормы современного русского языка.
  6. Анализ производственной функции. Закон убывающей предельной производительности факторов производства.
  7. Аналитические выражения второго закона термодинамики.
  8. АНАЛИТИЧЕСКИЙ УМ И СТАНДАРТНЫЕ БАНКИ ПАМЯТИ
  9. Арабского языка.
  10. Арбитражные заседатели и их функции. Требования, предъявляемые к арбитражным заседателям. Формирование и утверждение списков арбитражных заседателей.

Оператор — это элемент языка, задающий полное описание действия, которое необходимо выполнить. Каждый оператор представляет собой законченную фразу языка программирования и определяет некоторый вполне законченный этап обработки данных. В состав операторов могут входить служебные слова, данные, выражения и другие операторы. В английском языке данное понятие обозначается словом “statement”, означающим также “предложение” Все операторы языка Паскаль можно разбить на две группы: простые и структурированные. Оператор присваивания

С помощью этого оператора переменной или функции присваивается значение выражения.Для этого используется знак присваивания:=, слева от которого записывается имя переменной или функции, которой присваивается значение, а справа - выражение, значение которого вычисляется перед присваиванием.

Особенности программирования задач, включающих действия со структурами данных Структурированные типы данных. Массивы Структура данных (англ. data structure) — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данныхв вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс. Структуры данных формируются с помощью типов данных, ссылок и операций над ними в выбранном языке программирования.

Проектировать структуры данных для функциональных языков более сложно, чем для императивных, как минимум по двум причинам[1]:

1Почти все структуры данных интенсивно используют присваивание, которое в чисто функциональном стиле не используется;

2Функциональные структуры данных являются более гибкими, и поэтому там, где в императивном программировании старая версия теряется, просто заменяясь новой, в функциональном она автоматически продолжает существовать. Другими словами, в императивном программировании (если не принять особых мер, которые могут серьёзно усложнить программу) структуры данных являются эфемерными (англ. ephemeral), а в функциональных программах они как правило постоянные (англ. persistent)

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

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

{Одномерный массив целых чисел.

Нумерация элементов от 1 до 15}

a: array [1..15] of Integer;

{Двумерный массив символов.

Нумерация по столбцам по типу Byte (от 0 до 255)

по строкам от 1 до 5}

multiArray: array [Byte, 1..5] of Char;

{Одномерный массив из строк.

Нумерация по типу word (от 0 до 65536)}

rangeArray: array [Word] of String;

Пример фиксированного массива на С/С++

int Array[10]; // Одномерный массив целых чисел размера 10

// Нумерация элементов от 0 до 9

double Array[12][15]; // Двумерный массив вещественных чисел двойной точности

// размера 12 на 15.

// Нумерация по строкам от 0 до 11, по столбцам от 0 до 14

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

Самый простой вариант этого метода сортировки массива основан на принципе сравнения и обмена пары соседних элементов. Процесс перестановок пар повторяется просмотром массива с начала до тех пор, пока не будут отсортированы все элементы, т. е. во время очередного просмотра не произойдет ни одной перестановки. Для подсчетаколичества перестановок целесообразно использовать счетчик –специальную переменную В.Если при просмотре элементов массива значение счетчикаперестановок осталось равным нулю, то это означает, что все элементыотсортированы (см. рис. 21). НАЧАЛО ВВОД N, A(N) B:= 0 K:= 1 K=0 ВЫВОД А + £A(K) A(K+1)£ КОНЕЦ Q:= A(K), A(K):= A(K+1), B:= B + 1K:= K + 1 + N£K

Структуры и алгоритмы компьютерной обработки данных

Двумерные массивы: задачи сортировок и перестановок в двумерных массивах

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

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

Цель лекции: изучить особенности применения алгоритмов сортировок и перестановок в двумерных массивах, научиться решать задачи сортировок и перестановок в двумерных массивах на языке C++.В виде двумерных массивов удобно представлять объекты, элементы которых принадлежат одному типу и расположены в виде таблицы. Например, матрицы коэффициентов систем линейных уравнений, функциональные зависимости, линейные операторы, матрицу системы ограничений в задачах минимизации или максимизации, экспериментальные данные и т.д. При решении прикладных задач над элементами двумерных массивов бывает необходимо выполнить однотипные действия. Например, при решении систем линейных уравнений методом Гаусса требуется производить многократные перестановки строк. Для выполнения поиска в двумерных массивах данные бывает удобно упорядочить по определенному ключу, что также предполагает перестановки.Однако, по сравнению с одномерными массивами, в матрицах перестановки и сортировки имеют немного другой смысл и алгоритм выполнения.

В силу особенности представления двумерных массивов в виде таблиц смысл сортировки такого массива сводится к упорядочиванию элементов, объединенных в столбцы или строки. Например, сортировка по убыванию элементов столбцов означает, что элементы следует расположить по убыванию сверху вниз в каждом столбце отдельно. При этом, рассматривая строку или столбец как одномерный массив, к ним применяют алгоритмы сортировок одномерных массивов.

Пример 1. Сортировка в двумерном целочисленном массиве элементов k-той строки по невозрастанию.

void sort_dn(int k,int slb, int m[max][max]) {

int i,j,buf;

for (i=0;i<slb;i++)

for (j=slb-1;j>i;j--)

if (m[k][j]>m[k][j-1]){

//фиксированная строка с номером k

buf= m[k][j];

m[k][j]= m[k][j-1];

m[k][j-1]=buf; }

ля поиска максимальных (минимальных) элементов с целью их дальнейшего упорядочивания удобно выделять отдельно одномерный массив, в котором хранить не значения элементов, а номера столбцов или строк, в которых они располагаются. Например, чтобы найти минимальные элементы в каждом столбце массива n x m отдельно, удобно выделить одномерный массив min[m], в котором число элементов равно числу столбцов. Значениями элементов такого массива будут номера строк, в которых располагаются минимальные элементы каждого столбца. Если же минимальных элементов в столбце несколько, то будет найден первый (или последний) минимальный, что не скажется на значении.

Пример 2. Поиск номеров минимальных элементов в каждом столбце двумерного массива.

void minimum(int str,int slb, int m[max][max],int min[max_y]){

int i,j;

for (j=0;j<slb;j++){//фиксируем номер столбца

min[j]=0;

for (i=1;i<str;i++)

//пробег по столбцу, меняется номер строки

if (m[i][j]<m[min[j]][j]) min[j]=i;




Дата добавления: 2015-02-22; просмотров: 117 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.013 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав