МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Основы программирования на языке Паскаль

    |запятыми), а также и из одного имени. Тип, указываемый после двоеточия, |

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

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

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

    | Пример: |

    |Var |

    |A,B,H_22,Angle : Real; |

    |Name3 : String; |

    |Flag : Boolean; |

    |I,J,K,Count : Word; |

    |Оператор присваивания. Арифметические выражения. |

    | Самым простым действием над переменной является занесение в нее |

    |величины соответствующего типа. Иногда говорят об этом, как о присвоении |

    |переменной конкретного значения. Такая команда (оператор) в общем виде |

    |выглядит на языке Паскаль следующим образом: |

    | :=; |

    | Выражение, указанное справа от знака ":=", должно приводить к значению|

    |того же типа, какого и сама переменная, или типа, совместимого с переменной|

    |относительно команды присваивания. Например, переменной типа Real можно |

    |присвоить значение типа Integer или Word (впрочем, наоборот делать нельзя).|

    |Выражение будет сначала вычислено, затем, его результат будет положен в |

    |ячейки памяти, отведенные для переменной. |

    | Что же представляет собой выражение на языке Паскаль? Многое зависит |

    |от типа выражения. Рассмотрим сначала выражения арифметические, то есть те,|

    |результатом которых является число. |

    | В состав арифметического выражения на языке Паскаль могут входить: |

    |числовые константы; |

    |имена переменных; |

    |знаки математических операций; |

    |математические функции и функции, возвращающие число; |

    |открывающиеся и закрывающиеся круглые скобки. |

    | Правила построения выражений напоминают математические с некоторыми |

    |уточнениями. Выражение записывается в одну строку (никакой многоэтажности),|

    |между операндами обязательно должен стоять знак операции (Запись "2x" - не |

    |допускается), знаки некоторых операций и названия некоторых функций отличны|

    |от привычных вам. |

    | Операции: |

    |+ сложение; |

    |- вычитание; |

    |/ деление; |

    |* умножение; |

    |MOD остаток от деления (записывается так: A MOD B; читается: остаток от|

    |деления A на B); эта операция применима только к целым числам; |

    |DIV целочисленное деление (записывается так A DIV B; читается: |

    |результат деления A на B без дробной части); эта операция тоже применяется |

    |только для целых операндов. |

    | Аргументы функций всегда записываются в круглых скобках: |

    |SIN(X) sin x; |

    |COS(X) cos x; |

    |ARCTAN(X) arctg x; |

    |ABS(X) абсолютное значение x (в математике - |x|); |

    |SQR(X) возведение x в квадрат; |

    |SQRT(X) извлечение квадратного корня; |

    |TRUNC(X) отбрасывание дробной части х; |

    |ROUND(X) округление х до ближайшего целого числа; |

    | После выполнения второго оператора присваивания в участке памяти, |

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

    |однако, к сожалению, узнать его мы не сможем, поскольку пока не имеем |

    |возможности "заглянуть" в память машины, вывести значение переменной хотя |

    |бы на экран. |

    | |

    |Составной оператор |

    | Этот оператор, строго говоря, оператором не является. Дело в том, что |

    |также как арифметические действия иногда бывает необходимо заключать в |

    |скобки, последовательности команд (операторов) тоже иногда требуют |

    |объединения. Это позволяют сделать так называемые операторные скобки. |

    |Формат (общий вид) составного оператора таков: |

    |Begin |

    |; |

    |; |

    |...... |

    | |

    |End; |

    | Возможно, такая структура напоминает вам основную структуру программы.|

    |Действительно, отличие только в том, что после End в конце составного |

    |оператора ставится точка с запятой, а в конце программы - точка. По своей |

    |сути вся программа представляет собой большой составной оператор. |

    | Обратите внимание на то, что точка с запятой перед End может не |

    |ставиться. |

    | Составной оператор предоставляет возможность выполнить произвольное |

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

    |оператора. Как вы узнаете потом, такая необходимость встречается довольно |

    |часто. |

    | |

    |Операторы ввода и вывода информации |

    | Если вы помните, при рассмотрении примера работы оператора |

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

    |программы. Мы разобрались с тем, как информацию сохранять (в переменных), |

    |как обрабатывать (с использованием выражений), но два фундаментальнейших |

    |информационных процесса остались вне нашего внимания: получение информации |

    |и передача ее во внешний по отношению к компьютеру мир. Пока наши программы|

    |могут использовать лишь информацию, которая находится непосредственно в |

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

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

    |смысл. |

    | Взаимодействие устройств обработки и хранения информации с внешней |

    |средой (хотя бы с пользователем) является совершенно необходимым. За такой |

    |интерфейс в языке Паскаль отвечают операторы ввода-вывода информации. Эти |

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

    |выполнения программы (а не на этапе ее написания), осуществить вывод |

    |рассчитанных данных в понятном человеку виде. |

    | Сначала операторы ввода (форматы операторов): |

    |Read(); |

    |Readln(); |

    | В таком формате эти команды позволяют вводить данные в переменные во |

    |время выполнения программы с клавиатуры. Элементами списка ввода могут быть|

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

    |клавиатуры. |

    | Выполнение операторов ввода происходит так: ход программы |

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

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

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

    |в котором они требуются списком ввода, нажимает Enter. После этого |

    |набранные данные попадают в соответствующие им переменные и выполнение |

    |программы продолжается. |

    | Примечание: данные при вводе разделяются пробелами. |

    | Разница между работой процедур Read и Readln (от Read line) состоит в |

    |следующем: после выполнения Read значение следующего данного считывается с |

    |этой же строчки, а после выполнения Readln - с новой строки. |

    | Для вывода информации в Паскале также есть две команды: |

    |Write(); |

    |Writeln(); |

    | Такой формат использования Write и Writeln позволяет выводить на экран|

    |монитора данные из списка вывода. Элементами списка вывода могут являться |

    |имена переменных, выражения, константы. Прежде чем вывести на экран |

    |компьютер значения выражений сначала вычислит. Элементы списка, также как и|

    |в операторах ввода, разделяются запятыми. |

    | Различие между двумя операторами вывода таково: после выполнения |

    |оператора Writeln (от Write line) происходит переход на новую строчку, а |

    |после выполнения инструкции Write, переход на новую строчку не происходит и|

    |печать по последующим командам вывода Write или Writeln будет происходить |

    |на той же строчке. При вызове оператора Writeln без параметров просто |

    |происходит переход на новую строчку. |

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

    |Program Inteface; |

    |Var |

    | R,S : Real; |

    |Begin |

    | Write('Введите радиус круга '); {Печать на экране просьбы о вводе} |

    | Readln(R); Ввод значения в |

    | S:=4*ARCTAN(1)*SQR(R); {Вычисление площади круга (pR2)} |

    | Writeln('Площадь круга радиусом ',R,' равна ',S) |

    |End. |

    | Эта программа запрашивает у пользователя значение радиуса круга, |

    |обеспечивает возможность ввести его значение, рассчитывает и выводит на |

    |экран величину площади круга с таким радиусом. Таким образом, появляется |

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

    |значения радиуса и получать, соответствующие им значения площади круга. Для|

    |этого достаточно несколько раз запустить программу. Также эта программа |

    |демонстрирует следующее правило: выдача результатов должна быть |

    |прокомментирована так, чтобы был ясен смысл напечатанных чисел. |

    |Действительно, ведь можно было бы ограничиться Writeln(S), но значение |

    |выведенного программой числа в этом случае было бы ясно только тому, кто |

    |эту программу написал. |

    | |

    |Метки. Оператор безусловного перехода. |

    | Каждый дом на улице имеет свой номер, все люди имеют собственные |

    |имена, даже ячейки памяти компьютера имеют каждая свой адрес. Все это |

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

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

    |применяются метки. |

    | Метка в стандарте языка Паскаль представляет собой целое |

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

    |перечислены в разделе описания меток, начинающемся служебным словом Label, |

    |например: |

    | Label 1, 2, 8; |

    | Одной меткой можно пометить только один оператор. Метка от помеченного|

    |оператора отделяется двоеточием. |

    |Пример: |

    | 6: Writeln(14/2); |

    | Во всех приведенных ранее программах операторы выполнялись один за |

    |другим в том порядке, в котором они были записаны в тексте. Такая |

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

    |Паскаль изначально существует оператор, нарушающий прямолинейное выполнение|

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

    |называется безусловным переходом и имеет такой формат: |

    | Goto ; |

    | Оператор, к которому происходит переход должен быть помечен данной |

    |меткой. |

    | Использовать оператор безусловного перехода следует крайне осторожно |

    |во избежание получения ошибочных результатов или полного "зацикливания" |

    |программы. Вообще, употребление данной команды среди программистов |

    |считается дурным тоном. Как вы убедитесь, всегда существует возможность |

    |обойтись без него. |

    | |

    |Условный оператор |

    |Одной из основных алгоритмических структур является ветвление |

    |(альтернатива). |

    | Если условие выполняется, то будет выполнена инструкция "1", если нет,|

    |то - инструкция "2". Несмотря на то, что в схеме присутствуют два действия,|

    |выполнено будет только одно, так как условие либо ложно, либо истинно. |

    |Третьего не дано. Такая схема позволяет решать задачи, в которых в |

    |зависимости от сложившихся обстоятельств требуется совершить то или иное |

    |действие. Нет никакого сомнения, что число задач такого рода огромно. Более|

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

    |которого содержал бы в себе простое прямое следование команд. Даже |

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

    |быть решен без использования ветвления. Итак, необходимо вычислить значение|

    |выражения y=1/x. Вам известно, что данная функция не всегда имеет значение,|

    |то есть не для всех значений аргумента существует значение результата. Наша|

    |задача так составить алгоритм, чтобы исполнитель ни в коем случае не встал |

    |в тупик, даже при получении нуля в качестве аргумента. Сформулировать это |

    |на естественном языке не трудно: |

    |1. Получить значение x. |

    |2. Если x=0, то сообщить, что выражение значения не имеет, иначе - |

    |вычислить y как 1/x. |

    | Таким образом используется приведенная выше алгоритмическая структура.|

    |Она может быть выражена простыми словами: |

    | Если {Если выполняется условие} |

    | то {то выполнить действие № 1 } |

    | иначе {иначе - выполнить действие № 2 } |

    |все |

    | Как это записать на Паскале? Да точно так же, только по-английски. |

    | Формат условного оператора на языке Паскаль: |

    | If |

    | Then |

    | Else ; |

    | Обратите внимание на то, что в Then- и Else- части стоит только один |

    |оператор. Но что делать, чтобы решить задачу, в которой по выполнению или |

    |невыполнению условия нужно совершить не одно, а несколько действий? Здесь |

    |приходит на помощь уже известный вам составной оператор. В операторные |

    |скобки можно заключить любое количество операторов. |

    | Вариант условного оператора в этом случае: |

    |If |

    |Then Begin end |

    |Else Begin < группа операторов 2> end; |

    | Знак "точка с запятой" не ставится перед служебным словом Else, но |

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

    | Теперь поговорим об условиях. В программах на языке Паскаль условия |

    |представляют собой выражения, значением которых является величина |

    |логического (Boolean) типа. Это может быть как просто переменная указанного|

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

    |операциями. |

    | В простых условиях могут применяться знаки операций сравнения: |

    |>(больше), (не равно), >=(больше или равно), |

    Страницы: 1, 2, 3, 4, 5


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.