Студопедия Главная Случайная страница Обратная связь

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

Логические выражения





Условное выражение - совокупность переменных и констант простых типов, объединенных знаками операций сравнения. Результат вычисления условного выражение - одно из двух логических значений типа Boolean: True (истина) или False (ложь).

В языке определены 6 операций сравнения (все они относятся к четвертому приоритету):

< меньше
> больше
<= меньше или равно
>= больше или равно
= равно
<> не равно

Типы операндов должны быть совместимыми по присваиванию.

В Паскале предусмотрены четыре логические операции:

Приоритет Операция Название
I-й NOT логическое отрицание
II-й AND логическое умножение
III-й OR логическое сложение
III-й XOR логическое исключающее сложение

 

8. Структурированные типы данных. Назначение и способы реализации.

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

В Турбо Паскале пять структурированных типов:

· массивы;

· строки;

· множества;

· записи;

· файлы;

Тип является структурированным, если одному идентификатору (переменной или константе) соответствует структура (совокупность) даннных. Например, массив:
var BB: array [1..10] of double;
Здесь одному имени - BB - соответствует 10 чисел и чтобы обратиться к одному из них, используется индекс, например: BB[5]:= 3.6; Все компоненты массива имеют одинаковый тип данных (здесь - double).

Массив - это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем. Элементы массива располагаются в последовательных ячейках памяти, обозначаются именем массива и индексом. Каждое из значений, составляющих массив, называется его компонентой (или элементом массива).

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

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

Пример: числовая последовательность четных натуральных чисел 2, 4, 6,..., N представляет собой линейный массив, элементы которого можно обозначить А[1]=2, А[2]=4, А[3]=6,..., А[К]=2*(К+1), где К — номер элемента, а 2, 4, 6,..., N — значения.

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

var s: string[n];

var s: string;

n - максимально возможная длина строки - целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается равным 255.

Допускается формирование строк с использованием записи символов по десятичному коду (в виде комбинации # и кода символа) и управляющих символов (комбинации ^ и некоторых заглавных латинских букв).

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

Множественный тип описывается с помощью служебных слов Set of, например:

type M = Set of B;

Здесь М - множественный тип, В - базовый тип.

Пример описания переменной множественного типа:

var C: Set of 0..7;

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

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

Описание записи в языке Паскаль осуществляется с помощью служебного слова record, вслед за которым описываются компоненты записи. Завершается описание записи служебным словом end.

Например, телефонный справочник содержит фамилии и номера телефонов, поэтому отдельную строку в таком справочнике удобно представить в виде следующей записи:

type TRec = Record FIO: String[20]; TEL: String[7] end;var rec: TRec;

 

Введение файлового типа в язык Паскаль вызвано необходимостью обеспечить возможность работы с периферийными (внешними) устройствами ЭВМ, предназначенными для ввода, вывода и хранения данных.

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

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

Турбо Паскаль поддерживает три файловых типа:

· текстовые файлы;

· типизированные файлы;

· нетипизированные файлы.

Доступ к файлу в программе происходит с помощью переменных файлового типа. Переменную файлового типа описывают одним из трех способов:

file of тип - типизированный файл (указан тип компоненты);
text - текстовый файл;
file - нетипизированный файл.

 

9. Алгоритм, его свойства и формы представления. Типовые структуры алгоритма.

АЛГОРИТМ (algorithm). Содержание и последовательность операций, точно определяющие решение задачи путем вычислительного процесса, преобразующего исходные данные в конечный результат.

Основные свойства алгоритмов следующие:

· Понятность для исполнителя — т.е. исполнитель алгоритма должен знать, как его выполнять.

· Дискpетность (прерывность, раздельность) — т.е. алгоритм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых (или pанее опpеделенных) шагов (этапов).

· Определённость— т.е. каждое пpавилоалгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола. Благодаpя этому свойству выполнение алгоpитма носит механический хаpактеp и не тpебует никаких дополнительных указаний или сведений о pешаемой задаче.

· Результативность (или конечность). Это свойство состоит в том, что алгоpитм должен пpиводить к pешению задачи за конечное число шагов.

Массовость. Это означает, что алгоpитмpешения задачи pазpабатывается в общем виде, т.е. он должен быть пpименим для некотоpого класса задач, pазличающихся лишь исходными данными

Формы представления алгоритмов:

· словесная (записи на естественном языке);

· графическая (изображения из графических символов, является более компактным и наглядным);

· псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);

· программная (тексты на языках программирования).

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

К основным структурам относятся следующие:

· линейные

· разветвляющиеся

· циклические

Линейными называются алгоритмы, в которых действия осуществляются последовательно друг за другом. Стандартная блок-схема линейного алгоритма приводится ниже:

Разветвляющимся называется алгоритм, в котором действие выполняется по одной из возможных ветвей решения задачи, в зависимости от выполнения условий. В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в разветвляющиеся алгоритмы входит условие, в зависимости от выполнения или невыполнения которого выполняется та или иная последовательность команд (действий). алгоритм ветвления состоит из условия и двух последовательностей команд

В зависимости от того, в обоих ветвях решения задачи находится последовательность команд или только в одной разветвляющиеся алгоритмы делятся на полные и не полные (сокращенные).
Стандартные блок-схемы разветвляющегося алгоритма приведены ниже:

тело цикла — последовательность команд) выполняется многократно. Однако слово «многократно» не значит «до бесконечности». Организация циклов, никогда не приводящая к остановке в выполнении алгоритма, является нарушением требования его результативности — получения результата за конечное число шагов.

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

§ блок проверки условия

§ блок, называемый телом цикла

Существуют три типа циклов:

§ Цикл с предусловием

§ Цикл с постусловием

§ Цикл с параметром (разновидность цикла с предусловием)

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

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

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

 

Стандартные блок-схемы циклических алгоритмов приведены ниже:

 

 

.

10. Линейная структура и ее свойства. Ввод и вывод данных. Оператор присваивания.

Линейными называются алгоритмы, в которых действия осуществляются последовательно друг за другом. Линейный алгоритм даёт программе указания выполнять все действия по порядку, без отступлений

 

Процедуры ввода – Read, ReadLn обеспечивают ввод (копирование) чисел, символов и строк в ОП переменных, определенных в списке данных оператора, с клавиатуры или из текстового файла.

Процедуры вывода – Write, WriteLn обеспечивают ввод (копирование) чисел, символов, строк и логических значений из ОП в файл или на устройство (экран или принтер).

Оператор присваивания – определяет процесс вычисления нового значения с помощью выражения и запоминание полученного значения переменной в ОП.

Операторы присваивания служат для вычисления значения выражения и присваивания его имени результата. Общий вид оператора присваивания:

X:= a;, где X – имя переменной; a – выражение.

Например:

X:= 0;

P:= 1;

N:= N + 1;

X:= N * P;

Основные свойства присваивания:

1 Значение переменной не определено, если ей не присвоено никакого значения;

2 Новое значение, присваиваемое переменной, заменяет ее старое значение;

3 Присвоенное переменной значение сохраняется в ней вплоть до нового присваивания.

 

11. Циклическая структура. Назначение и основные элементы.

Циклом называют повторение одних и тех же действий (шагов). Последовательность действий, которые повторяются в цикле, называют телом цикла. Существует несколько типов алгоритмов циклической структуры. На рис. 2.1 изображен цикл с предусловием, а на рис. 2.2 - цикл с постусловием, которые называют условными циклическими алгоритмами. Нетрудно заметить, что эти циклы взаимозаменяемы и обладают некоторыми отличиями.

· в цикле с предусловием условие проверяется до тела цикла, в цикле с постусловием - после тела цикла;

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

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

Кроме того, существует так называемый безусловный циклический алгоритм (рис. 2.3), который удобно использовать, если известно, сколько раз необходимо выполнить тело цикла.

переменную i называют параметром цикла, так как это переменная, которая изменяется внутри цикла по определенному закону и влияет на его окончание.

 

12. Цикл с явно заданным количеством повторений. Основные элементы и варианты реализации.

Линейными называются алгоритмы, в которых действия осуществляются последовательно друг за другом. Линейный алгоритм даёт программе указания выполнять все действия по порядку, без отступлений

 

Цикл со счётчиком — цикл, в котором некоторая переменная изменяет своё значение от заданного начального значения до конечного значения с некоторым шагом, и для каждого значения этой переменной тело цикла выполняется один раз. В большинстве процедурных языков программирования реализуется оператором for, в котором указывается счётчик (так называемая «переменная цикла»), требуемое количество проходов (или граничное значение счётчика) и, возможно, шаг, с которым изменяется счётчик.

Неоднозначен вопрос о значении переменной по завершении цикла, в котором эта переменная использовалась как счётчик. Например, если в программе на языке Паскаль встретится конструкция вида:

i:=100;

for i:= 0 to 9 do

Begin

... тело цикла

end;

k:=i;

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

 

13. Цикл с неявно заданным количеством повторений. Основные элементы и варианты реализации.

 

Цикл с предусловием — цикл, который выполняется пока истинно некоторое условие, указанное перед его началом. Это условие проверяется до выполнения тела цикла, поэтому тело может быть не выполнено ни разу (если условие с самого начала ложно). В большинстве процедурных языков программирования реализуется оператором while, отсюда его второе название — while-цикл. На языке Pascal цикл с предусловием имеет следующий вид:







Дата добавления: 2015-04-19; просмотров: 543. Нарушение авторских прав; Мы поможем в написании вашей работы!




Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Этические проблемы проведения экспериментов на человеке и животных В настоящее время четко определены новые подходы и требования к биомедицинским исследованиям...

Классификация потерь населения в очагах поражения в военное время Ядерное, химическое и бактериологическое (биологическое) оружие является оружием массового поражения...

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

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

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия