Решение
Основная идея решения заключается в упорядочивании сторон кирпича и отверстия по возрастанию. Если меньшая сторона кирпича меньше меньшей стороны отверстия, а вторая по размеру сторона кирпича меньше большей стороны отверстия, то кирпич пройдет, иначе — нет. Таким образом, требуется решить подзадачи упорядочивания сторон кирпича и сторон отверстия. Поскольку цель задачи — дать ответ "пройдет" или "не пройдет", будем выполнять упорядочивание, не вводя новых переменных. Для сторон отверстия задача решается просто: если X>Y, то обменять значения X и Y. Упорядочить стороны кирпича можно за три обмена: A и B, B и C и вновь A и B. Блок-схема алгоритма решения задачи показана на рис. 1.
 Задача 4
Последовательность значений Xi, Yi вычисляется по формулам:
Вычислить
Решение
В данной задаче не следует применять массивы — лучше использовать простые переменные. Поэтому для численного эксперимента введем следующие обозначения: X2, X1, X0, Y2, Y1, Y0 – соответственно для Xi, Xi-1, Xi-2, Yi, Yi-1, Yi-2. Результаты численного эксперимента показаны в таблице.
|   i  |    0  |    1  |    2  |    3  |    4  |  
|   X0  |    1  |    1  |    1,1  |  ||
|   X1  |    1  |    1  |    1,1  |    1,01  |  |
|   X2  |    1  |    1  |    1,1  |    1,01  |    1,007  |  
|   Y0  |    2  |    2  |    1,4  |  ||
|   Y1  |    2  |    2  |    1,4  |    1,32  |  |
|   Y2  |    2  |    2  |    1,4  |    1,32  |    0,987  |  
|   Сумма  |    3  |    6  |    8,5  |    10,83  |    12,925  |  
Таким образом, в задаче 4 в качестве контрольного примера можно использовать следующий: при N=4 должны получить сумму S=12.925.
Из таблицы видно, что после вычисления очередных значений X2 и Y2 и добавления их к сумме, необходимо изменить значения X1, Y1, X0, Y0 для подготовки очередного цикла. При этом следует начинать с X0 и Y0: X0=X1; Y0=Y1, а затем изменить X1 и Y1: X1=X2: Y1=Y2. Следует также учесть, что для вычисления суммы может быть задано любое целое N>=0, но применение формул начинается только c N=2. Блок-схема алгоритма решения показана на рис. 4.
Лекция 4 Программирование на алгоритмическом языке
 История создания языка. 
 Первая версия языка Паскаль была разработана в 1968 году. Ее разработчиком является швейцарский ученый Никлаус Вирт. Свое название язык получил в честь создателя первой механической вычислительной машины француза Блеза Паскаля. На основе языка Паскаль в 1985 г. фирма Borland выпустила версию Turbo Pascal версии 3.0. С этого времени язык Паскаль используется во всем мире в учебных заведениях в качестве первого изучаемого языка программирования. 
 В пакете Turbo Pascal 4.0 были устранены ошибки и ограничения компилятора предыдущей версии. Наиболее важным нововведением была unit-концепция, позаимствованная из языка МОДУЛА-2. Это позволило разрабатывать крупные программные продукты. В версии 5.0 появился интегрированный отладчик. Был реализован аппарат перекрытий overlays. В этой версии были исправлены и улучшены библиотеки графических процедур, которым была обеспечена совместимость с графическими адаптерами класса VGA. Появились новые возможности справочной системы Help. 
 В версии 6.0 была реализована концепция объектно-ориентированного программирования с полным набором прикладных задач для пользователя. В оболочку был встроен интегрированный текстовый редактор. В этой версии впервые использовалась мышь для управления работой. 
 В 1992 г. появилась последняя на сегодняшний день версия языка Turbo Pascal - 7.0. В ней сохранились все достоинства предыдущих версий:
К улучшениям этой версии относятся:
 Алфавит и программа на Паскале(Турбо Паскаль -ТП). 
 Алфавит языка состоит из нескольких разделов:
Программа записанная на языке TP может содержать следующие разделы:
Все программы обязательно имеют раздел заголовок и раздел операторов. Остальные составляющие могут отсутствовать. При отсутствии некоторых частей программы общий порядок их следования сохраняется. 
 Разделы между собой разделяются знаком ";" 
 Раздел операторов заключается в операторные скобки. Это зарезервированные слова begin, end. Раздел операторов заканчивается точкой. Запись внутри операторных скобок ведется с отступом в три знака. 
 Раздел "заголовок" начинается с зарезервированного слова, за которым указывается имя программы. В качестве имени может использоваться любой набор символов алфавита с несколькими исключениями:
 Простые типы данных. 
 Любые данные ТП характеризуются своими типами. Тип определяет:
Тип переменной определяется при ее декларации. Одна из базовых концепций Паскаля заключается в жесткой проверке соответствия типов в операциях присваивания. 
 Типы данных в языке ТП делятся на 5 основных классов:
К простым типам относятся: целочисленные типы, логический тип, символьный тип, перечисляемый тип, интервальный тип, вещественные типы. 
 Среди этих видов выделяют подмножества типов, отличных от вещественного, называемых порядковым типом. 
 Порядковые типы обладают четырьмя характеристиками:
К данным любого порядкового типа можно применить любую из пяти операций:
В TP имеется 5 предопределенных, целочисленных типов. Каждый тип обозначает определенное подмножество целых чисел:
| Тип | Диапазон | Формат | 
| Короткое целое shortint | -128..127 | 8 бит со знаком | 
| Целое integer | -32768..32767 | 16 бит со знаком | 
| Длинное целое longint | -2147483648..2147483647 | 32 бита со знаком | 
| Длиной в байт byte | 0..255 | 8 бит без знака | 
| Длиной в слово word | 0..65535 | 16 бит без знака | 
 Верхнее граничное значение и нижнее граничное значение целочисленных типов задаются как константы и имеют соответствующее имя. 
 В тексте программы данные целочисленных типов записываются в десятичном или шестнадцатеричном формате и не должны содержать десятичные точки. 
 Пример: 
 1 - целый тип 
 1.0 - не целый тип 
 100 - десятичный формат (100) 
 #100 - шестнадцатеричный формат (256) 
 Над целочисленными данными возможно выполнение операций сложения, вычитания и умножения, а также операций сравнения. Арифметические действия над операндами целочисленного типа предполагают восьмибитовую, 16-битовую или 32-битовую точность вычислений, в соответствии со следующими правилами: