Шпаргалка по "Алгоритмические языки"

Автор: Пользователь скрыл имя, 22 Января 2011 в 20:59, шпаргалка

Описание работы

Язык программирования. Алгоритмические языки.
Понятие алгоритма, виды алгоритмов.
Основные свойства алгоритмов.
Операторы языка программирования Pascal.
Оператор присваивания.
Оператор ветвления (условный оператор).
Операторы цикла.
Типы данных языка Pascal, операторы преобразования типов.
Арифметические операции и выражения в языке Pascal. Правила записи арифметических выражений.
Функции для работы со строками.
Массивы в языке Pascal. Статические и динамические массивы.
Функции работы с датой и временем.
Логические выражения в языке Pascal.
Локальные и глобальные переменные.
Понятие подпрограммы. Виды подпрограмм.
Понятие процедуры, формальные, фактические параметры.
Понятие функции, формальные, фактические параметры.
Рекурсия.
Работа с файлами.
Компоненты среды программирования Delphi.
Отладка, пошаговая троссировка программ в среде Delphi.

Работа содержит 1 файл

ответы.doc

— 278.50 Кб (Скачать)

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

    begin

    end.

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

    Пример  программы, выводящей строку «Hello, World!»:

    Program HelloWorld(output);

    begin

      writeln('Hello, World!');  { оператор вывода строки }

    end.

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

    while a <> b do  { цикл с предусловием }

      writeln('Ожидание');

     if a > b then  { условный оператор }

      writeln('Условие выполнилось')

    else           { else-секция - может отсутствовать}

      writeln('Условие не выполнилось');

     for i := 1 to 10 do  { итерационный цикл }

      writeln('Итерация №', i:1);

     repeat  { цикл с постусловием }

      a := a + 1

    until a = 10;

     case i of  { условный оператор множественного выбора }

      0: write('ноль');

      1: write('один');

      2: write('два')

      else write('неизвестное число') { else-секция - может отсутствовать}

    end;

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

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

      assign(inp,'text.txt');

      {$I-} { отключение режима IO checking- генерации кода завершения программы в случае ошибки ввода-вывода }

            { (для случая, если файл не найден)}

      reset(inp);

      {$I+} { включение режима  IO checking }

      if IOresult=0 then begin { проверяем значение переменой ioresult(<>0 в случае ошибки ввода-вывода) }

        ...

        close(inp);

      end else writeln('file not found')

   Оператор присваивания - основной оператор любого языка программирования. Общая форма записи оператора: 

     имя величины := выражение

   Например, V:=A; или V:=A+1;

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

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

   Как только в программе встречается  переменная, для неё в памяти отводится  место. Оператор присваивания помещает значение выражения в место, отведённое переменной.

   Если  в процессе выполнения программы  встречается переприсваивание (т.е. та же самая переменная принимает другое значение), то старое значение переменной стирается, на свободное место записывается новое значение. Команда присваивания позволяет лучше понять смысл слова переменная (т.е. меняющая своё значение по ходу программы).

   Выражение может быть арифметическим, логическим или литерным. Важно, чтобы тип  величины был согласован с видом  выражения.

   оператор  ветвления

   В языке  Паскаль имеется оператор ветвления. Другое его название - условный оператор. Формат полного оператора ветвления следующий:

   if <логическое выражение> then <оператор1> 
else <оператор2>

   Здесь if - "если", then - "то", else - "иначе".

   Обратите  внимание на то, что перед else точка с запятой не ставится. Вся ветвящаяся часть структуры алгоритма заканчивается на точке с запятой после оператора. если на какой-то из ветвей оператора ветвления находится несколько последовательных операторов, то их нужно записывать между служебными словами begin и end. Конструкция такого вида:

   begin <Последовательность операторов> end

   называется  составным оператором. Следовательно, в описанной выше общей форме ветвления <оператор1> и <опера-тор2> могут быть простыми (один) и составными операторами.

   Оператор  цикла while...do...

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

   while  expression  do   statement;

   При выполнении этого оператора вначале вычисляется  значение логического выражения expression. Если это значение истинно, выполняется  оператор statement, затем значение выражения  проверяется вновь и т. д., до тех пор, пока выражение не примет значение «ложь». Если выражение принимает значение «ложь» при первой же проверке, то оператор statement не выполняется вообще. Особо отмечу частный случай:

   while True do statement;

   Здесь оператор statement будет выполняться бесконечно.

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

   while Counter < 10 do  
begin 
    write('Значение счетчика равно ', Counter); 
    Writeln; 
    Counter := Counter + 2;  
end:

Типы данных

Примитивные типы данных Паскаля: числа с плавающей запятой (real), целые (integer), символьный (char), логический (boolean) и перечисления (конструктор нового типа, введённый в Паскале):

ar { секция объявления переменных }

  r: Real;  { переменная вещественного типа }

  i: Integer;  { переменная целого типа }

  c: Char;  { переменная-символ }

  b: Boolean;  { логическая переменная }

  s: String; { переменная строки }

  t: Text; { переменная для обьявления текстового файла }

  e: (apple, pear, banana, orange, lemon);  { переменная типа-перечисления } 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

   Арифметические  операции и выражения  в языке Pascal. Правила записи арифметических выражений.

   Запись  арифметических выражений на Паскале  похожа на обычную математическую запись. В отличие от математики, где часто пропускается знак умножения (например, пишут 2А), в Паскале этот знак пишется обязательно: 2*А. Например, математическое выражение

   А2 + В2 - 12С

   на  Паскале записывается так:

   А*А + В*В - 12*С

   Это же выражение можно записать иначе:

   SQR(A) + SQR(B) - 12*С

   Здесь использована функция возведения в  квадрат - SQR. Аргументы функций всегда пишутся в круглых скобках.

   Последовательность  выполнения операций определяется по их приоритетам (старшинству). К старшим операциям относятся умножение (*) и деление (/). Операции сложения и вычитания - младшие. В первую очередь выполняются старшие операции. Несколько операций одинакового старшинства, записанные подряд, выполняются в порядке их записи слева направо. Приведенное выше арифметическое выражение будет вычисляться в следующем порядке (порядок вычислений указан цифрами сверху):

   Круглые скобки в арифметических выражениях влияют на порядок выполнения операций. Как и в математике, в первую очередь выполняются операции в  скобках. Если имеются несколько  пар вложенных скобок, то сначала выполняются операции в самых внутренних скобках. Например:

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

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

   Запятая (,) является разделителем элементов  во всевозможных списках: списке переменных в разделе описания, списке вводимых и выводимых величин.

   В программу  на Паскале можно вставлять комментарии. Комментарий - это пояснение к  программе, которое записывается в  фигурных скобках. В комментариях можно  использовать русские буквы. На исполнение программы комментарий никак не влияет.

   Заметим, что в Паскале нет различия между строчными и прописными буквами. Например, для Паскаля тождественны следующие варианты записи: begin, Begin, BEGIN, BeGiN. Использование строчных или  прописных букв - дело вкуса программиста.

   С целыми числовыми типами данных Паскаля можно выполнять следующие операции:

  • Арифметические: 
    сложение(+); 
    вычитание(-); 
    умножение(*); 
    остаток от деления (mod); 
    возведение в степень; 
    унарный плюс (+); 
    унарный минус (-).
  • Операции отношения: 
    отношение равенства (=); 
    отношение неравенства (<>); 
    отношение меньше (<); 
    отношение больше (>); 
    отношение не меньше (>=); 
    отношение не больше (<=).

 

   Функции работы со строками

   В Delphi вынужденно уживаются два стандарта  работы со строковыми данными. Первый из них, когда длина строки записывается в ее первом байте, традиционен для Паскаля. Ему соответствует тип данных string.

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

   Первая таблица содержит функции для работы с типом string.

   Работа со строками Delphi позволяет извлечь из строки необходимую информацию и представить её в нужном виде. Система предоставляет весь спектр необходимых функций для работы со строками Delphi и преобразования строк Delphi в необходимые форматы:

  • числовой формат, целый и дробный с плавающей точкой;
  • формат времени, даты, даты-времени;
  • преобразование символов к верхнему или нижнему регистру;
  • сравнение строк, поиск в строке и копирование подстроки; 
    и многие другие...

Информация о работе Шпаргалка по "Алгоритмические языки"