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

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

Примеры использования

Читайте также:
  1. VIII. Приемы использования фразеологизмов в публицистике и художественной литературе
  2. АВТОМОБИЛЬНЫЙ ТРАНСПОРТ, ЕГО РОЛЬ И ТЕХНИКО-ЭКОНОМИЧЕСКИЕ ОСОБЕННОСТИ, СФЕРЫ ИСПОЛЬЗОВАНИЯ
  3. Алгоритм. Свойства алгоритмов. Способы записи алгоритмов. Базовые структуры алгоритмов. Примеры.
  4. Алюминий и его сплавы. Классификация алюминиевых сплавов. Деформируемые алюминиевые сплавы. Дуралюмины, термическая обработка дуралюминов. Примеры, маркировка.
  5. Ампутация и экзаргикуляция. Виды ампутаций в зависимости от использования различных тканей для формирования культи. Особенности ампутаций конечностей в детском возрасте.
  6. Анализ использования межбанковских кредитов
  7. Анализ использования основных производственных фондов.
  8. Анализ использования основных средств предприятия
  9. Анализ использования основных фондов. Анализ влияния факторов средств труда на объем продукции
  10. Анализ использования трудовых ресурсов на предприятии

Селектор интервального типа:

case I of 1..10: writeln('число ', I:4, ' в диапазоне 1 - 10'); 11..20: writeln('число ', I:4, ' в диапазоне 11 - 20'); 21..30: writeln('число ', I:4, ' в диапазоне 21 - 30')else writeln('число ', I:4, ' вне пределов контроля')end;

Селектор целочисленного типа:

case I of 1: Z:= I + 10; 2: Z:= I + 100; 3: Z:= I + 1000end;

 

38.

Операторы цикла в Pascal

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

Счетный оператор цикла или оператор цикла с параметром

Оператор цикла с параметром используется в программе в случае, когда заранее известно количество повторений в цикле.

Этот оператор имеет следующую структуру:

For <пар_цик>: = <нач_знач> to <кон_знач> do <оператор>;

Здесь: For, to, do - зарезервированные слова;

<пар_цик> - параметр цикла - переменная типа Integer (точнее любого порядкового типа);

<нач_знач> - начальное значение - выражение того же типа;

<кон_знач> - конечное значение - выражение того же типа;

<оператор> - произвольный оператор Turbo Pascal.

При выполнении оператора For вначале вычисляется начальное значение и осуществляется его присваивание параметру цикла. Затем производится проверка условия <пар_цик> <= <кон_знач>, если условие имеет значение ИСТИНА, то выполняется оператор следующий за словом do, в противном случае оператор For прекращает свою работу.

Отметим два обстоятельства. Во-первых, условие, управляющее работой оператора For, проверяется перед выполнением оператора <оператор>: если условие не выполняется в самом начале работы циклического оператора, исполняемый оператор не будет выполнен ни разу. Другое обстоятельство - шаг наращивания параметр строго постоянен и равен +1. Существует другая форма оператора:

For <пар_цик>: = <нач_знач> downto <кон_знач> do <оператор>;

Замена зарезервированного слова to на downto означает, что шаг наращивания параметра цикла равен -1.

В случае использования в цикле не одного, а нескольких операторов, то принято заключать эти группы операторов в логические скобки begin и end.

Пример 1.

Дана последовательность целых чисел, состоящая из 25 элементов. Вычислить сумму элементов последовательности.

.... .... Program primer1; Var i, a, s: integer; Begin x:= 0; For i:= 1 to 25 do begin Read (a); x:= x + a; end; Write ('Сумма элементов равна ', x); End.

Пример 2.

Решим задание из примера 1 используя конструкцию оператора For, в которой шаг наращивания будет равен -1.

.... .... Program primer2; Var i, a, s: integer; Begin x:= 0; For i:= 25 downto 1 do begin Read (a); x:= x + a; end; Write ('Сумма элементов равна ', x); End.

 

39. Оператор цикла с предусловием (начинающийся с ключевого сло- ва while) содержит в себе выражение, которое управляет повторным выполнением оператора (который может быть составным оператором). ┌─────┐ ┌─────────┐ ┌──┐ ┌────────┐ оператор ───>│while├──>│выражение├──>│do├──>│оператор├──> while └─────┘ └─────────┘ └──┘ └────────┘ Выражение, с помощью которого осуществляется управление пов- торением оператора, должно иметь булевский тип. Вычисление его производится до того, как внутренний оператор будет выполнен. Внутренний оператор выполнятся повторно до тех пор, пока выраже- ние принимает значение Тruе. Если выражение с самого начала при- нимает значение False, то оператор, содержащийся внутри оператора цикла с предусловием, не выполняется. Примерами операторов цикла с предусловием могут служить сле- дующие операторы: while Data[I] <> X do I:= I + 1; While I > 0 do begin if Odd(I) then Z:= Z * X; I:= I div 2; X:= Sqr(X); end; while not Eof(InFile) do begin Readln(InFile,Line); 40. В операторе цикла с постусловием (начинающимся со слова

repeat) выражение, которое управляет повторным выполнением после-

довательности операторов содержится внутри оператора repeat.

 

┌──────┐ ┌────────┐ ┌─────┐ ┌─────────┐

оператор ─>│repeat├────>│оператор├──┬─>│until├──>│выражение├──>

repeat └──────┘ ^ └────────┘ │ └─────┘ └─────────┘

│ ┌───┐ │

└────┤; │<────┘

└───┘

 

Результат выражения должен быть булевского типа. Операторы,

заключенные между ключевыми словами repeat и until, выполняются

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

значение True. Последовательность операторов выполнится по край-

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

после каждого выполнения последовательности операторов.

 

 

Приведем примеры оператора цикла с постусловием:

 

repeat

K:= I mod J;

I:= J;

J:= K;

until J = 0;

 

repeat

Write('Введите значение (0..9):');

Readln(I);

until (I >= 0) and (I <= 9);

 

v 41. Одномерный массив.Он имеет индивидуальное имя, а для обозначения отдельной компоненты к имени массива добавляется индекс, который и выделяет нужную компоненту

v Компоненты массива называются переменными с индексами

v Наименьший индекс называется нижней границей, наибольший индекс – верхней границей, а число элементов – размером массива

v Количество индексов называют размерностью массива

Описываем массив в блоке описаний:

VAR <имя_массива>: array [n..k] of <тип_элементов>;

Типизированное описание массива:

TYPE <имя_типа>= array [n..k] of <тип_элементов>;

VAR <имя_массива>: <имя_типа>;

Примеры:

• Var a: array[ 1..3 ] of integer; a [ 1 ]
Var b: array [‘a’..’c’ ] of integer; b[‘a’ ]
Var c: array[red,green,blue] of integer; c [red]

• Var d: array[byte] of real;

• Однако, размер массива в байтах не может превышать 65520!

42. Массивы, положение элементов в которых описывается двумя индексами, называются двумерными. Их можно представить в виде прямоугольной таблицы или матрицы.

Рассмотрим матрицу А размерностью 2*3, то есть в ней будет две строки, а в каждой строке по три элемента:

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

Существуют несколько способов объявления двумерного массива.

Способ 1. В Паскале двумерный массив можно описать как одномерный, элементами которого являются одномерные массивы. Например, для матрицы А, приведённой выше:

Const n = 2; m = 3;
Type omyarray = Array[1..m] Of <тип элементов >;
dmyarray = Array[1..n] Of omyarray;
Var v: omyarray;
a: dmyarray;

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

Способ 2. Описание массива А можно сократить, исключив определение типа omyarray в определении типа dmyarray:

Const n = 2; m = 3;
Type dmyarray = Array[1..n, 1..m] Of <тип элементов>;
Var a: dmyarray.

Способ 3. Ещё более краткое описание массива А можно получить, указывая имя массива и диапазоны изменения индексов для каждой размерности массива:

Const n = 2; m = 3;
Type dmyarray = Array[1..n, 1..m] Of <тип элементов >;

Var a: dmyarray.

Если указанный тип используется для определения одного массива в программе, то удобно объявление массива в разделе описания переменных:

Var a: Array [1..n, 1..m] Of < тип элементов >.

Рассмотренные выше методы решения задач обработки одномерных массивов могут применяться для обработки двумерных массивов. Поскольку положение элемента в двумерном массиве описывается двумя индексами [первый - номер строки, второй - номер столбца], программы большинства матричных задач строятся на основе вложенных циклов. Обычно внешний цикл работает по строкам матрицы, то есть с его помощью выбирается требуемая строка матрицы, а внутренний цикл - по столбцам матрицы, то есть здесь выбирается нужный элемент из выбранной уже строки. Для задания значений элементам массива могут быть использованы операторы присваивания и операторы ввода данных.




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




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