Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Логический тип данных. Логические операции.Стр 1 из 4Следующая ⇒
Символьный тип данных Символьный тип (Char) Переменная типа char может принимать значения из определенной упорядоченной последовательности символов. Переменная этого типа занимает 1 байт и принимает одно из 256 значений кода ASCII (американский стандартный код для обмена информацией). Символы упорядочены в соответствии с их кодом, поэтому к данным символьного типа применимы операции отношения. В программе вместо символа можно использовать его код, состоящий из # и номера кодируемого символа (например, #51). Обычно символы, имеющие экранное представление, записывают в явном виде, заключив в апострофы (например, 'A', 'b', '*'). Эти функции называются функциями преобразования: ord(ch) – выдает номер символа (нумерация с нуля), Пример. ord(H) выдает номер символа Н в последовательности всех символов, используемых транслятором. chr(15) выдает 15-ый символ этой последовательности. Кроме того, для символьных переменных применяются такие функции: pred(ch) – возвращает предыдущий символ; Также можно использовать процедуры inc и dec.
Логический тип данных. Логические операции. Булевский тип (Boolean) Переменная булевского типа принимает значения true (истина) или false (ложь). Эти величины упорядочены следующим образом: Операции and, or, not (применяемые к булевским операндам) дают булевские значения. Операция and (логическое умножение, пересечение, операция И) true and true = true true and false = false false and false = false Операция or (логическое сложение, объединение, операция ИЛИ) true or true = true true or false = true false or false = false Операция not (отрицание, операция НЕ)
not true = false not false = true Стандартные булевские функции
13)Тип данных "массив". МАССИВЫ Массиывыв Турбо Паскале во многом схожи с аналогичными типами данных в других языках програмирования. Отличительная особенность массивов заключается в том, что все их компоненты суть данные одного типа (возможно структурированного). Эти компоненты можно легко упорядочить и обеспечить доступ к любому из них простым указанием порядкового номера. Описание массива задаётся следующим образом: <имя типа> = array [<сп.инд.типов>] of <тип> Здесь <имя типа> - правильный индификатор; Array, of – зарезирвированые слова (массив, из); <спюиндютипов> - список из одного или нескольких индексных типов, разделённых запятыми; квадратные скобки, обрамляющие список, - требование синтаксиса; <тип> - любой тип Турбо Паскаля. В качестве индексных типов в Турбо Паскале можно использовать любые порядковые типы, кроме LongInt и типов-диапазонов с базовым типом LongInt. Глубина вложенности структурированных типов вообще, а следовательно, и массивов – произвольная, поэтому количество элементов в списке индексов типов (размерность массива) не ограничено, однако суммарная длина внутреннего представления любого массива не может быть больше 65520 байт. Массив
15) Тип данных "множество". Операции над множествами.
МНОЖЕСТВА Множества – это набор однотипных логическх связанных друг с другом объектов. Характер связей между объектами лишь подразумевается програмистом и никак не контролируется Турбо Паскалем.количество элементов, входящих в множество, может менятся в пределах от 0до 256 (множество, не содержащее элементов, называется пустым).именно непостоянством количества своих элементов множества отличаются от массивов и записей. Два множества считаются эквивалентными тогда и только тогда, когда все их элементы одинаковы, причём порядок следования элементов множества безразличен. Если все элементы одного множества входят также и в другое, говорят о включении первого множества во второе. Описание типа множества имеет вид: <имя типа> = SET OF <баз.тип> Здесь <имя типа> - правильный индификатор; SET, OF – зарезирвированные слова (множество, из); <баз.тип> - базовый тип элементов множества, в качестве которого может использоваться любой порядковый тип, кроме WORD,INTEGER и LONGINT. Для задания множества используется так называемый конструктор множества: список спецификаций элементов множества, отделяемых друг от друга запятыми; список обрамляется квадратными скобками. Спецификациями элементов могут быть константы или выражения базового типа, а также – тип-диапазон того же базового типа. Операции над множествами К переменным типа set применимы следующие операции: =, <>, >=, <=, in, +, -, *. Операции = и <> используются для проверки эквивалентности: два значения переменной типа set считаются равными, если они состоят из одних и тех же элементов. Операции >= и <= используются для проверки принадлежности одного множества другому: так, если множество a содержится во множестве b, то a <= b дает true. Пустое множество [ ] содержится во всех множествах, т.е. всегда [ ] <= [b] дает true. Операция in используется для установления наличия определенного элемента в величине типа set. Так, если x есть элемент множества b, то(x in b) дает true. К переменным типа set, относящимся к одному и тому же конкретному типу, применимы операции: Пусть a и b – операнды, имеющие один и тот же конкретный тип. Тогда Операция a:= a + x добавляет элемент x к множеству a. Если x уже имелся в a, то множество a не меняется. a:= a – x исключает x из a. Если x отсутствовал в a, то множество a не меняется.
Чтение из текстового файла.
Чтение из текстового файла осуществляется процедурами ReadLn или Read. Если перед списком ввода стоит имя файловой переменной, то данные читаются не с клавиатуры, а из файла, связанного с этой переменной: program read_text; var FIL: text; S: String; {s - имя вспомогательной переменной списка ввода} begin Assign(FIL, '<Название файла>.TXT); Reset(FIL); {Открыли файл для чтения} while not EOF(FIL) do {Чтение продолжается, пока не будет достигнут конец файла} begin ReadLn(FIL, S); {Чтение из файла <Название файла>.TXT в S построчно} WriteLn(S); {Вывод прочитанного на экран} end; Close(FIL); {Закрыли файл} end. Текстовый файл <Название файла>.TXT должен находиться в том же каталоге, что и программа.
Условный оператор If. Если условие выполняется, то будет выполнена инструкция "1", если нет, то - инструкция "2". Несмотря на то, что в схеме присутствуют два действия, выполнено будет только одно, так как условие либо ложно, либо истинно. Третьего не дано. Такая схема позволяет решать задачи, в которых в зависимости от сложившихся обстоятельств требуется совершить то или иное действие. Если <усл.> {Если выполняется условие} Формат условного оператора на языке Паскаль: Обратите внимание на то, что в Then - и Else - части стоит только один оператор. Но что делать, чтобы решить задачу, в которой по выполнению или невыполнению условия нужно совершить не одно, а несколько действий? Здесь приходит на помощь уже известный вам составной оператор. В операторные скобки можно заключить любое количество операторов.
Вариант условного оператора в этом случае: Знак "точка с запятой" не ставится перед служебным словом Else, но операторы в группах, естественно, отделяются друг от друга этим знаком. Теперь поговорим об условиях. В программах на языке Паскаль условия представляют собой выражения, значением которых является величина логического (Boolean) типа. Это может быть как просто переменная указанного типа, так и сложная последовательность высказываний, связанных логическими операциями. В простых условиях могут применяться знаки операций сравнения: >(больше), <(меньше), =(равно), <>(не равно), >=(больше или равно), <=(меньше или равно). Примеры простых условий: A=5 {Значение переменной А равно 5} Приведем пример решения еще одной задачи: "Из двух чисел выбрать наибольшее". На первый взгляд решение очевидно, но оно не столь тривиально, как кажется. Program Example; Writeln ('Введите два числа'); End.
Оператор цикла For. Цикл for Часто цикл for называют циклом со счетчиком. Этот цикл используется, когда число повторений не связано с тем, что происходит в теле цикла. Т.е. количество повторений может быть вычислено заранее (хотя оно не вычисляется). В заголовке цикла указываются два значения. Первое значение присваивается так называемой переменной-счетчику, от этого значения начинается отсчет количества итераций (повторений). Отсчет идет всегда с шагом равным единице. Второе значение указывает, при каком значении счетчика цикл должен остановиться. Другими словами, количество итераций цикла определяется разностью между вторым и первым значением плюс единица. В Pascal тело цикла не должно содержать выражений, изменяющих счетчик. Цикл for существует в двух формах: for счетчик:=значение to конечное_значение do тело_цикла;
for счетчик:=значение downto конечное_значение do тело_цикла; Счетчик – это переменная любого из перечисляемых типов (целого, булевого, символьного, диапазонного, перечисления). Начальные и конечные значения могут быть представлены не только значениями, но и выражениями, возвращающими совместимые с типом счетчика типы данных. Если между начальным и конечным выражением указано служебное слово to, то на каждом шаге цикла значение параметра будет увеличиваться на единицу. Если же указано downto, то значение параметра будет уменьшаться на единицу. Количество итераций цикла for известно именно до его выполнения, но не до выполнения всей программы. Так в примере ниже, количество выполнений цикла определяется пользователем. Значение присваивается переменной, а затем используется в заголовке цикла. Но когда оно используется, циклу уже точно известно, сколько раз надо выполниться.
Var i, n: integer;
Begin write ('Количество знаков: '); readln (n);
for i:= 1 to n do write ('(*) ');
readln end.
Оператор цикла Repeat. Цикл repeat Цикл while может не выполниться ни разу, если логическое выражение в заголовке сразу вернуло false. Однако такая ситуация не всегда может быть приемлемой. Бывает, что тело цикла должно выполниться хотя бы один раз, не зависимо оттого, что вернет логическое выражение. В таком случае используется цикл repeat – цикл с постусловием. В цикле repeat логическое выражение стоит после тела цикла. Причем, в отличие от цикла while, здесь всё наоборот: в случае true происходит выход из цикла, в случае false – его повторение. var i, n: integer;
begin write ('Количество знаков: '); readln (n);
i:= 1; repeat write ('(*) '); i:= i + 1 until i > n;
readln end.
Вызов функции Вызовом функции является записанное в вызывающей программе имя функции со списком фактических параметров в круглых скобках. В отличие от вызова процедуры вызов функции возвращает одно значение (скалярную величину), следовательно, вызывающая программа должна с ним что-нибудь сделать (сохранить в переменной, вывести на экран и т.д.). Вызов функции с присвоением возвращаемого значения некоторой переменной имеет следующий вид:
Фактические параметры - это значения, передаваемые в функцию при её вызове.
Оператор присваивания. Оператор присваивания - основной оператор любого языка программирования. Общая форма записи оператора: Например, V:=A; или V:=A+1; Если в процессе выполнения программы встречается пере присваивание (т.е. та же самая переменная принимает другое значение), то старое значение переменной стирается, на свободное место записывается новое значение. Команда присваивания позволяет лучше понять смысл слова переменная (т.е. меняющая своё значение по ходу программы). Выражение может быть арифметическим, логическим или литерным. Важно, чтобы тип величины был согласован с видом выражения. Арифметические выражения должны быть записаны в так называемой линейной записи согласно следующим правилам: выражение должно быть записано в виде линейной цепочки символов; используемые операции приведены в таблице: нельзя опускать знаки операций, например писать 5b. Для записи произведения чисел 5 и b надо писать 5*b; аргументы функций (sin, cos и др.) как и аргументы вспомогательных алгоритмов, записываются в круглых скобках, например sin(x), cos(4*x).
Begin write ('Введите класс школы: '); readln (n);
case n of 1..4: writeln ('Младшие классы.'); 5..8: writeln ('Средняя школа.'); 9,11: writeln ('Старшие классы. Выпускной.'); 10: writeln ('Старшие классы.'); else writeln ('Error') end;
readln end. На использование оператора выбора накладываются следующие ограничения: селектор должен иметь какой-либо порядковый тип; каждая альтернатива должна быть константой, диапазоном, списком диапазонов, но не переменной или выражением.
Оператор цикла While. Цикл while Цикл while является циклом с предусловием. В заголовке цикла находится логическое выражение. Если оно возвращает true, то тело цикла выполняется, если false – то нет. Когда тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение вернет true. Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала ситуация false. Иначе произойдет так называемое зацикливание, одна из самых неприятных ошибок в программировании. Var i, n: integer;
Begin write ('Количество знаков: '); readln (n);
i:= 1; while i <= n do begin write ('(*) '); i:= i + 1 end;
readln end.
Вызов процедуры Процедура не может выполнится сама, ее необходимо вызвать. Чтобы вызвать процедуру, нужно указать ее имя и список фактические параметров. Общий вид вызова процедуры:
Фактические параметры - это параметры, которые передаются процедуре при обращении к ней. При вызове процедуры ее формальные параметры заменяются фактическими. Число и тип формальных и фактических параметров должны совпадать с точностью до их следования. Имя фактического параметра никак не связано с именем соответствующего формального параметра.
Символьный тип данных Символьный тип (Char) Переменная типа char может принимать значения из определенной упорядоченной последовательности символов. Переменная этого типа занимает 1 байт и принимает одно из 256 значений кода ASCII (американский стандартный код для обмена информацией). Символы упорядочены в соответствии с их кодом, поэтому к данным символьного типа применимы операции отношения. В программе вместо символа можно использовать его код, состоящий из # и номера кодируемого символа (например, #51). Обычно символы, имеющие экранное представление, записывают в явном виде, заключив в апострофы (например, 'A', 'b', '*'). Эти функции называются функциями преобразования: ord(ch) – выдает номер символа (нумерация с нуля), Пример. ord(H) выдает номер символа Н в последовательности всех символов, используемых транслятором. chr(15) выдает 15-ый символ этой последовательности. Кроме того, для символьных переменных применяются такие функции: pred(ch) – возвращает предыдущий символ; Также можно использовать процедуры inc и dec.
Логический тип данных. Логические операции. Булевский тип (Boolean) Переменная булевского типа принимает значения true (истина) или false (ложь). Эти величины упорядочены следующим образом: Операции and, or, not (применяемые к булевским операндам) дают булевские значения. Операция and (логическое умножение, пересечение, операция И) true and true = true true and false = false false and false = false Операция or (логическое сложение, объединение, операция ИЛИ) true or true = true true or false = true false or false = false Операция not (отрицание, операция НЕ) not true = false not false = true Стандартные булевские функции
13)Тип данных "массив". МАССИВЫ Массиывыв Турбо Паскале во многом схожи с аналогичными типами данных в других языках програмирования. Отличительная особенность массивов заключается в том, что все их компоненты суть данные одного типа (возможно структурированного). Эти компоненты можно легко упорядочить и обеспечить доступ к любому из них простым указанием порядкового номера. Описание массива задаётся следующим образом: <имя типа> = array [<сп.инд.типов>] of <тип> Здесь <имя типа> - правильный индификатор; Array, of – зарезирвированые слова (массив, из); <спюиндютипов> - список из одного или нескольких индексных типов, разделённых запятыми; квадратные скобки, обрамляющие список, - требование синтаксиса; <тип> - любой тип Турбо Паскаля. В качестве индексных типов в Турбо Паскале можно использовать любые порядковые типы, кроме LongInt и типов-диапазонов с базовым типом LongInt. Глубина вложенности структурированных типов вообще, а следовательно, и массивов – произвольная, поэтому количество элементов в списке индексов типов (размерность массива) не ограничено, однако суммарная длина внутреннего представления любого массива не может быть больше 65520 байт. Массив
15) Тип данных "множество". Операции над множествами.
МНОЖЕСТВА Множества – это набор однотипных логическх связанных друг с другом объектов. Характер связей между объектами лишь подразумевается програмистом и никак не контролируется Турбо Паскалем.количество элементов, входящих в множество, может менятся в пределах от 0до 256 (множество, не содержащее элементов, называется пустым).именно непостоянством количества своих элементов множества отличаются от массивов и записей. Два множества считаются эквивалентными тогда и только тогда, когда все их элементы одинаковы, причём порядок следования элементов множества безразличен. Если все элементы одного множества входят также и в другое, говорят о включении первого множества во второе. Описание типа множества имеет вид: <имя типа> = SET OF <баз.тип> Здесь <имя типа> - правильный индификатор; SET, OF – зарезирвированные слова (множество, из); <баз.тип> - базовый тип элементов множества, в качестве которого может использоваться любой порядковый тип, кроме WORD,INTEGER и LONGINT. Для задания множества используется так называемый конструктор множества: список спецификаций элементов множества, отделяемых друг от друга запятыми; список обрамляется квадратными скобками. Спецификациями элементов могут быть константы или выражения базового типа, а также – тип-диапазон того же базового типа. Операции над множествами К переменным типа set применимы следующие операции: =, <>, >=, <=, in, +, -, *. Операции = и <> используются для проверки эквивалентности: два значения переменной типа set считаются равными, если они состоят из одних и тех же элементов. Операции >= и <= используются для проверки принадлежности одного множества другому: так, если множество a содержится во множестве b, то a <= b дает true. Пустое множество [ ] содержится во всех множествах, т.е. всегда [ ] <= [b] дает true. Операция in используется для установления наличия определенного элемента в величине типа set. Так, если x есть элемент множества b, то(x in b) дает true. К переменным типа set, относящимся к одному и тому же конкретному типу, применимы операции: Пусть a и b – операнды, имеющие один и тот же конкретный тип. Тогда Операция a:= a + x добавляет элемент x к множеству a. Если x уже имелся в a, то множество a не меняется. a:= a – x исключает x из a. Если x отсутствовал в a, то множество a не меняется.
Чтение из текстового файла. Чтение из текстового файла осуществляется процедурами ReadLn или Read. Если перед списком ввода стоит имя файловой переменной, то данные читаются не с клавиатуры, а из файла, связанного с этой переменной: program read_text; var FIL: text; S: String; {s - имя вспомогательной переменной списка ввода} begin Assign(FIL, '<Название файла>.TXT); Reset(FIL); {Открыли файл для чтения} while not EOF(FIL) do {Чтение продолжается, пока не будет достигнут конец файла} begin ReadLn(FIL, S); {Чтение из файла <Название файла>.TXT в S построчно} WriteLn(S); {Вывод прочитанного на экран} end; Close(FIL); {Закрыли файл} end. Текстовый файл <Название файла>.TXT должен находиться в том же каталоге, что и программа.
|
|||||||||||
Последнее изменение этой страницы: 2016-09-13; просмотров: 1377; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.127.141 (0.173 с.) |