1. Найдите количество точек с целочисленными координатами попадающих в круг радиуса R.
2. Составить программу, которая распечатывает на экране таблицу умножения.
3. Найдите все трёхзначные числа, равные сумме кубов своих цифр. Учтите, что abc=100a+10b+c
4. Составить программу вывода всех трёхзначных чисел, сумма цифр которых равна данному целому числу. Программа должна печатать именно числа, а не набор цифр.
5. Имитировать на экране работу электронных часов.
6. Напишите программу отгадывания буквы.
7. Задано n троек чисел a,b,c. Определить, сколько из предложенных троек можно использовать для построения треугольника, если a,b,c — длины его сторон. (Известно, что a ≤ b ≤ c)
8. Найти сумму целых положительных чисел, больших 20, меньших 100 и кратных 3.
9. Укажите все целые числа, которые увеличатся на 20%, если их цифры записать в обратном порядке.
10. Составьте программу взвешивания продавцом 2,5 кг муки.
11. Составить программу, в которой среди двухзначных чисел печатаются те числа, которые равны сумме своих цифр.
Циклические программы в Паскале 8 класс
12. Замените буквы цифрами так, чтобы равенство ФАКТ+ФАКТ=НАУКА стало верным. Одинаковым буквам должны соответствовать одинаковые цифры, разным — разные.
13. Написать программу для создания на экране зигзага, бегущего снизу вверх звездочками.
14. В бригаде, работающей на уборке сена, имеется N косилок. Первая из них работала m ч., а каждай следующая на 10 мин. больше, чем предыдущая. Сколько часов проработала вся бригада?
15. В компьютер вводятся по очереди данные о росте N учащихся класса. Определить средний рост учащихся класса.
16. Составьте программу вычисления степени числа а с натуральным показателем n.
17. Каждая бактерия делится на две в течение одной минуты. В начальный момент имеется одна бактерия. Составьте программу, которая рассчитает количество бактерий на заданное Вами целое значение момента времени.
18. Дана последовательность из N целых чисел. Определить произведение максимального и минимального элементов этой последовательности.
19. Для двух последовательностей из N и M элементов соответственно найти произведение максимального элемента первой последовательности и минимального элемента второй последовательности.
20. Дано целое n>0 и последовательность из n действительных чисел, среди которых есть хотя бы одно отрицательное число. Найти величину наибольшего из отрицательных чисел этой последовательности.
Проверьте себя, ответив на вопросы:
1. Что называется циклом? Приведите пример.
2. Какой алгоритм называется циклическим? Приведите примеры.
3. Какие виды циклов Вы знаете? Почему они имеют такие названия?
4. В теле какого цикла не нужно ставить операторные скобки, даже если выполняется составной оператор?
5. Каким должно быть условие, чтобы тело цикла while ни разу не выполнилось? Почему?
6. Каким должно быть условие, чтобы тело цикла repeat выполнилось один раз? Почему?
Циклические алгоритмы
7. Каким должно быть условие, чтобы тело цикла for ни разу не выполнилось? Почему?
8. Чему равен шаг изменения параметра цикла в операторе for?
9. Укажите отличительные особенности каждой из конструкций циклов.
10. Будет ли выполняться циклическая часть программы, если логическое выражение в конструкции REPEAT истинно с самого начала?
11. Что такое стоп-код? Когда его применяют?
12. Какие условия предъявляются к переменной цикла?
13. Какого типа должна быть переменная цикла?
14. Может ли переменная цикла использоваться в вычислениях?
15. Что называется шагом? Что означает выражение “шаг равен пяти”?
16. Что происходит на каждом шаге выполнения тела цикла при выполнении оператора Summa:=Summa+Chislo?
17. Какой цикл Вы применяете чаще? Каковы его достоинства и недостатки?
18. Функция ReadKey и ее применение в программах.
19. Функция KeyPressed и ее применение в программах.
20. Какие клавиши входят в основной набор?
21. Какие клавиши входят в расширенный набор? Как обратится к этим клавишам в программе?
22. Что обозначает слово downto в операторе цикла for?
Понятие массива. Одномерные массивы. Способы задания одномерных массивов. |
Для решения многих задач удобно сначала упорядочить данные по определенному признаку, так можно ускорить поиск некоторого объекта. Например, в преферансе игроки раскладывают карты по мастям и по значению. Так легче определить, каких карт не хватает. Или возьмем любой энциклопедический словарь — статьи в нем упорядочены в алфавитном порядке.
Перегруппирование заданного множества объектов в определенном порядке называют сортировкой.
Почему сортировке уделяется большое внимание? Вы это поймете, прочитав цитаты двух великих людей.
«Даже если бы сортировка была почти бесполезна, нашлась бы масса причин заняться ею! Изобретательные методы сортировки говорят о том, что она и сама по себе интересна как объект исследования.» /Д. Кнут/
«Создается впечатление, что можно построить целый курс программирования, выбирая примеры только из задач сортировки.» /Н. Вирт/
Отличительной особенностью сортировки является то обстоятельство, что эффективность алгоритмов, реализующих ее, прямо пропорциональна сложности понимания этого алгоритма. Другими словами, чем легче для понимания метод сортировки массива, тем ниже его эффективность.
Сегодня существует множество методов сортировки, но для понимания сути сортировки рассмотрим некоторые из них.
Но прежде чем перейти к рассмотрению конкретного алгоритма той или иной сортировки немного вспомним материал, который пригодится нам в дальнейшем.
Задача. Даны две целочисленные переменные х и y. Составить фрагмент программы, после выполнения которого значения этих переменных распределяются в порядке убывания.
Задача. Составить фрагмент программы поиска максимального числа из трех введенных с клавиатуры чисел.
Пусть а, b, c — вводимые с клавиатуры числа, Max — максимальное из их значений. На первом шаге предположим, что а — максимальное из чисел и поэтому Max:=a. Затем сравним значение предполагаемого максимума со значениями переменных b и с. Если значение m окажется меньше, чем значение очередной переменной, то переопределим значение максимума.
. m:=a; if m |
Задача. Дан массив а, состоящий из 10 элементов. Составить программу поиска максимального элемента массива.
Используем идею предыдущей задачи. Перед началом поиска выберем условно в качестве максимального первый элемент массива Max:=a[1]. Затем по очереди каждый элемент массива сравним со значением переменной m. Если он окажется больше, то изменим значение Max. После анализа всех элементов массива переменная Max содержит значение максимального элемента массива.
. Max:=a[1]; for i:= 2 to 10 do if Max |
До написания программ Вам необходимо выполнить некоторую подготовительную работу — написать шаблон программы следующего содержания:
Рrogram Sorting; Сonst n =. ; Type TArray = array [1..n] of integer; Procedure FillArray (Var a: TArray); Var i: integer; Begin for i: = 1 to n do a [i]:= Random(100); End; Procedure PrintArray (a: TArray); Var i: integer; Begin for i: = 1 to n do write (a [i]: 3, ‘ ‘); writeln; End; Begin writeln(‘Сортировка МЕТОДОМ. ‘); writeln(‘Заполняем исходный массив: ‘); FillArray (a); PrintArray (a); AnySort (a, b); writeln(‘Отсортированный массив: ‘); PrintArray (b); End. |
Для реализации различных методов сортировки Вам необходимо подготовить несколько вспомогательных процедур и функций.
- Функция, которая ищет минимальный элемент правее некоторого заданного и возвращает его номер в качестве результата. Аргументами функции являются номер элемента массива и обрабатываемый массив:
- Большинство методов сортировок основаны на обмене двух чисел. Для этой цели предназначена процедура, которая в качестве параметров берет два числа и меняет их значения
- Также Вам пригодится процедура, которая берет элемент с индексом i, перемещает его на место элемента с номером j. А все элементы, которые имеют индексы от j до i-1 сдвигает на одну позицию вправо.
Задание. Подготовьте программу-шаблон, содержащую все рассмотренные выше процедуры и функции
Источник: megalektsii.ru
Общие пояснения. 1. Программы циклической структуры используются, когда необходимо несколько раз выполнить однотипные действия с различными данными
1. Программы циклической структуры используются, когда необходимо несколько раз выполнить однотипные действия с различными данными. Если количество повторений тела цикла известно перед началом цикла, он называется арифметическим, если нет – итеративным. Для организации арифметического цикла в блок-схеме алгоритма используется блок «модификатор», а в программе – соответствующий ему оператор » for. «.
Итеративный цикл строится с использованием блока «решение», в котором один из альтернативных путей представляет выход из тела цикла. В программе такой цикл может выполняться с помощью специальных операторов итеративных циклов или оператора условного перехода. В данной работе будет использоваться только » if. » оператор.
Далее идет тело цикла: простой или составной оператор (до символа «;»). Если оператор составной, он заключается в операторные скобки begin. end;
В качестве параметра цикла можно использовать любую целочисленную переменную, в которой в это время не хранится нужное в дальнейшем значение. Эта переменная изменяется в цикле автоматически. Параметр цикла – это переменная, обычно играющая роль не только счетчика количества выполненных повторений цикла, но одновременно служащая порядковым номером обрабатываемого числа или элемента массива.
Начальное и конечное значения параметра цикла могут быть выражениями, но они вычисляются только один раз – при первом входе в цикл. В теле цикла они не должны меняться. При каждом возврате к заголовку в цикле, счетчик автоматически увеличивается на единицу.
Тело цикла выполняется, пока счетчик не станет больше конечного значения (если счетчик равен конечному значению – цикл выполняется). Если требуется организовать цикл, в котором параметр уменьшается на единицу с каждым возвратом, то используют ключевое слово » downto «, вместо » to «.
Примеры написания оператора:
for i:=1 to 25 do write(‘*’);
for k:=L+1 to N-1 do
for i:=N downto 2 do S:=S+i;
Если нужно менять счетчик с другим шагом (не один), используют второй счетчик, изменяющийся в теле цикла по рекуррентной формуле, например j:=j+3; или вычисляемый через первый счетчик, например: j:= 2+(i-1)*3;
Итеративные циклы для завершения требуют проверки такого условия, результат которого может измениться в процессе выполнения тела цикла. По выполнении этого условия осуществляется переход на оператор, следующий за телом цикла. Возврат на начало тела цикла в этом случае выполняется оператором безусловного перехода. В программе при такой организации цикла требуется иметь две метки:
if A=Priznak then goto Finish;
Часто проверяют условие продолжения цикла, и по его выполнению возвращаются на начало тела цикла, иначе цикл заканчивается. В этом случае достаточно обычно одной метки:
if A<>Priznak then goto Start;
Тело итеративного цикла при таких способах построения в скобки begin. end заключать не обязательно.
2. Циклические процессы почти всегда требуют некоторых подготовительных действий, выполняемых до начала цикла. Это связано с использованием в теле цикла так называемых «рекуррентных соотношений», в которых некоторая переменная вычисляется с использованием своего старого значения, например:
Все такие переменные перед циклом должны получить определенные значения, чтобы правильно вычисляться внутри цикла. Например, при вычислении суммы последовательно вводимых слагаемых, ячейка (переменная) для суммы должна обнуляться; переменная для накопления произведения делается равной единице (или первому сомножителю).
Поиск максимумов (минимумов) или их порядковых номеров в рядах значений также выполняется по рекуррентным зависимостям (если новая величина больше максимума, сделаем максимум равным. ) – сперва используется старое значение максимума, чтобы создать новое значение.
При поисках максимума можно использовать два варианта начального задания: или в качестве максимума берется первое рассматриваемое значение (и цикл начинает выполняться начиная со второго числа), или в качестве начального задается фиктивное значение – гарантированно меньшее, чем любое число сравниваемого ряда (т.е. теоретически минимальное возможное число). При этом циклическая обработка одинаково выполняется для всех чисел, начиная с первого.
3. Если в программе требуется обрабатывать нечисловые данные, для них можно заводить переменные нечисловых типов, которые также необходимо включить в блок описаний. Для символьных переменных используется описатель char, а для логических – описатель boolean. Например:
Символьные переменные можно сравнивать с символьными константами и между собой с помощью всех операций отношений (=,, и т.д.), например:
if Sim > ‘A’ then. или
Логические переменные можно использовать в условных операторах, причем не нужно записывать if Q=TRUE then. а просто if Q then. , так как само значение Q может быть TRUE или FALSE.
Наконец несколько замечаний по контролю за вводимыми величинами. Поскольку в программе предполагается ввод исходных данных пользователем программы путем набора значений на клавиатуре, в программе должны быть предусмотрены выводы на экран запросов на ввод того или иного параметра, нужного программе. Эти запросы представляют собой операторы вывода некоторого текста, например:
Writeln(‘ Сколько чисел будет обрабатываться?’); или
Writeln(‘ Вводи очередной сомножитель’);
Такие запросы должны быть перед каждым оператором ввода данных с клавиатуры. Другой момент, который следует отметить, это необходимость контроля за вводимыми величинами. Недопустимое значение может не только привести к неправильному ответу, но и просто «подвесить» программу или привести к ее аварийному снятию операционной системой. Поэтому все данные, на которые по их смыслу (или по возможностям реализованного метода решения) накладываются ограничения, должны проверяться после их ввода на попадание в допустимый диапазон.
Обычно считается, что можно найти сумму нуля и большего количества слагаемых, произведение одного или более сомножителей, выбрать наибольшее или найти среднее значение из одного или нескольких чисел, вычислить факториал нуля или большего целого числа и т.д. Иногда ограничения накладываются не только снизу, но и сверху.
Если, например, допустимый диапазон для значений переменной A ограничен числами –0.5 и 11.0, то проверку на ошибочное значение можно осуществить оператором:
Если такая проверка даст значение TRUE (т.е. A имеет недопустимое значение), тогда нужно выдать сообщение об этом и либо закончить выполнение программы, либо (что более разумно) вернуться к оператору запроса ввода этой величины еще раз. Так как оба эти действия следует выполнять по срабатыванию одного и того же условия, операторы, задающие эти действия следует поместить в скобки begin. end, например:
Writeln(‘ Вы задали недопустимое значение’);
Наконец, следует помнить, что не при всяких наборах исходных данных задача может иметь решение. Если по каким-либо причинам ответ выдать невозможно, следует об этом сообщить в понятной форме, а не выводить неправильное или невозможное для ответа значение. Например, если в задаче требуется делить что-то на сумму нескольких чисел с разными знаками, то сумма может случайно оказаться равной нулю, после чего деление невозможно и решения у задачи не окажется.
Тогда выдача результата может выглядеть так:
Writeln(‘ Нет решения, так как сумма равна 0’)
Writeln(‘ Отношение =’, R. );
Разбор контрольного варианта
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
Циклическая структура построения программы подразумевает ответ
Внимание Скидка 50% на курсы! Спешите подать
заявку
Профессиональной переподготовки 30 курсов от 6900 руб.
Курсы для всех от 3000 руб. от 1500 руб.
Повышение квалификации 36 курсов от 1500 руб.
Лицензия №037267 от 17.03.2016 г.
выдана департаментом образования г. Москвы
Создание программы циклической структуры. Работа с массивами
Негосударственное образовательное учреждение
высшего профессионального образования
Московский технологический институт «ВТУ»
Факультет Техники и современных технологий
Кафедра Информатики и автоматизации
по дисциплине Программирование на языке высокого уровня
« Создание программы циклической структуры. Работа с массивами »
Уровень образования бакалавриат
Направление Информатика и вычислительная техника
Профиль (или магистерская программа) Сети ЭВМ и телекоммуникации
Студент (ка) __2__ курса
Форма обучения заочная
Фельзинг Владимир Александрович
- Циклические алгоритмы на языке Паскаль ____________________
- Решение циклических алгоритмов___________________________
- Работа с массивами________________________________________
- Циклические алгоритмы на языке Паскаль
Рис. 2. Циклический алгоритм
Данный цикл также называется итеративным. Блок-схема алгоритма цикла представлена на рисунке 2. Синтаксис: for := to do ; for := downto do ; Данный цикл исполняется до тех пор, пока переменная — счетчик цикла не выходит за заданные пределы.[4, c .40] При этом на каждой итерации цикла счетчик увеличивается на 1 ( to ) или уменьшается на 1 ( downto ). При этом возможно использование значения счетчика, например, для расчетов внутри цикла. За пределами цикла сохранение последнего значения счетчиком цикла не гарантируется. Выход из цикла производится, если на очередной итерации значение счетчика цикла вышло за пределы диапазона значений цикла. Таким образом, если для цикла с to указать начальное значение больше конечного, то цикл не отработает ни разу.
Рис. 3. Итеративный цикл
Данный цикл называется также циклом с предусловием. Блок-схема алгоритма цикла представлена на рисунке 3. Синтаксис: while (условие) do ; Данный цикл исполняется до тех пор, пока условие истинно. Как только условие становится ложным, выполнение цикла прерывается. Если условие ложно изначально[1], цикл не будет выполнен ни разу.
Рис. 4. Цикл с предисловием
Данный цикл называется также циклом с постусловием. Блок-схема алгоритма цикла показана на рисунке. Синтаксис: repeat until (условие); Данный цикл исполняется до тех пор, пока условие ложно. Как только условие становится истинным, выполнение цикла прерывается. Если условие истинно изначально, цикл будет выполнен один раз.
Следует обратить внимание, что конструкция repeat — until выполняет роль операторных скобок, поэтому внутри нее возможно размещение нескольких операторов.
Рис. 5. Цикл с постусловием
Операторы break и continue вызываются внутри циклов. Оператор break прерывает выполнение цикла и передает управление следующему за циклом оператору (см. рис. 6). Оператор continue прерывает текущую итерацию цикла и передает управление следующей итерации цикла (repeat-until) [7, c .25], или условию, предшествующему этой итерации (for, while-do)(см. рис. 7).
Следует заметить, что при использовании break для выхода из цикла for счетчик цикла не портится.
Рис. 6. Цикл с о ператором break
Рис. 7. Цикл с оператором continue
Иногда необходимо выполнение одного цикла внутри другого. Такая конструкция называется вложенными циклами (см. рисунок 8). Допускается вложение любых типов циклов друг в друга[2, c .10], а также можно вкладывать неограниченное количество циклов.
Рис. 8. Один цикл внутри другого
Мы рассмотрели блок-схемы и принципы циклических алгоритмов, теперь необходимо составить программы с их применением.
- Решение циклических алгоритмов
Рис. 9. Введение счетчика в программу
Проинициализируем переменную, отвечающую за произведение чисел. Для этого введем строку mult:=1; Переменная инициализируется единицей, а не нулем,[9, c .203] т.к. мы будем перемножать числа, а не складывать. Организуем цикл while-do.
Для этого создадим в программе строку while count Значение «11» в качестве граничного результата выбрано в связи с тем, что при невыполнении условия цикл больше не выполняется. Нам необходимо прекращение выполнения цикла после 10-й итерации.
Организуем операторные скобки, для чего введем дополнительную строку в программу b egin Введем окончание циклической составляющей end; Программы пишутся для пользователей, которые хорошо разбираются в своей предметной области, в которой они используют программу. Пользователи не обязаны понимать, что и как реализовал в этой программе разработчик.
Поэтому прикладные программы должны иметь удобный для пользователя интерфейс, снабжаться удобными подсказками, как о запрашиваемых данных, так и о выведенных результатах. Эти подсказки должны быть лаконичны и понятны пользователю. Необходимо показать пользователю, какие данные необходимо ввести с клавиатуры. Для этого в программу строку write (‘Введите ‘, count ,’-ое значение:’); Результат заданных строк мы видим на рисунке 10.
Рис. 10. Ввод данных с клавиатуры
Запросим переменную с клавиатуры. Для этого введем в строку ввода readln(a); Увеличим счетчик на 1 [3,c.82] . Для этого введем с клавиатуры count:=count+1; Добавим полученное значение к произведению. Для этого введем с клавиатуры mult:=mult*a; Добавим вывод на экран строки результата. Для этого необходимо в программу добавить строку writeln(‘Произведение чисел равно: ‘,mult); Дошли до пункта проверки программы. Для запуска программы выберем пункт меню «Run» смотрите рисунок 11.
Рис. 11. Запуск программы
Запустим программу, введем произвольные числа в диапазоне от 1 до 5 и посмотрим результат на рисунке 12
Рис. 12. Результат программы
Аналогично изложенной программе, давайте создадим алгоритм со вложенным циклом используя цикл for-to. Решим задачу: необходимо запросить с клавиатуры 10 чисел и найти их среднее арифметическое. Для организации цикла for-to необходимо использование переменной-счетчика.[14, c .56] Объявим такую переменную. Для этого создадим строчку и добавим её в программу var count:integer; Начало написания программы смотрите на рисунке 13
Рис. 13. Введение счетчика в программу
Для запроса целочисленных данных от пользователя необходима переменная типа integer. Для этого введем строку программы a:integer; Для подсчета результата так же необходима переменная. В этой переменной будут суммироваться данные, вводимые пользователем. sum:integer; Переменная, отвечающая за суммирование, должна быть проинициализирована перед использованием, рисунок . Установим значение переменной, равное 0. Для этого введем в программу строку, рисунок 14 sum:=0;
Рис. 14. Ввод суммирующего элемента
Организуем цикл для ввода 10-ти значений от пользователя. Для этого вводим в программу строку for count:=1 to 10 do Так как мы собираемся использовать в цикле несколько операций, то необходимо поставить операторные скобки. Вводим следующую строку b egin . введите дополнительную строку, окончания данного задания end; Водим с клавиатуры очередное значение. Для этого вводим в алгоритм следующую команду readln(a); В результате наш алгоритм выглядит следующим образом, рисунок 15. Продолжим запись программы.
Рис. 15. Ввод очередного значения
Однако пользователь должен понять, что за данные ему необходимо вводить. Write (‘Введите ‘, count , ‘-тое значение:’); Не забудем в каждой итерации цикла прибавить новое значение к сумме. Для этого введем строку в программу sum := sum + a ; В конце программы выведем результат на экран, следующей строкой Writeln (‘Среднее арифметическое:’, sum /10); Запустим программу, щелкнув пункт меню «Run», рисунок 16.
- Работа с массивами
Рис. 19. Цикл для поиска максимального значения
Проверим, больше ли очередной элемент массива, чем значение в max ? Если больше, то запишем это значение в max . Для этой операции в алгоритм программы вводим следующую строку if ( a [ i ]> max ) then max := a [ i ];[16] Выведем пользователю результат выполнения программы, рисунок 20. Write (‘максимальное значение в массиве:’, max );
Рис. 20. Готовая программа по поиску максимального значения
Запустим программу, для чего щелкнем по меню Run для открытия меню. Теперь, введя по запросу 10 чисел, в качестве результата получим наибольшее из этих значений, рисунок 21.
Рис. 21. Результат работы программы
На данный момент мы имеем программу, которая запрашивает у пользователя 10 чисел с клавиатуры и заполняет ими массив. Теперь необходимо организовать цикл обработки значений массива[10], начиная со 2-го For i :=2 to 10 Begin End . Организуем проверку двух соседних значений массива. Для этого в алгоритм добавим условие с составным оператором (рис. 22). If (a [i-1]>a[i]) then Begin End;
Рис. 22. Цикл со составным оператором
Если условие выполняется, присвоим x наименьшее из двух значений. Введите в строку ввода x:=a[i]; Присвоим переменной j номер элемента, расположенного перед рассматриваемым. Для этого введите в строку ввода j:=i-1; Организуем цикл, рисунок 23, для перемещения блока значений, больших x вперед по массиву. While (j>0 and (a[j]>x) do Begin End;
Рис. 23. Перемещение блока значений
Передвинем очередное значение вперед по массиву. Для этого введем в программу a[j+1]:=a[j]; Уменьшим j на 1 для движения к началу массива.[13, c .70] j:=j-1; Как только переберем весь блок с значениями больше x, запишем x в конце этого блока. Для этого введем строку, рисунок 24 a[j+1]:=x;
Рис. 24. Поиск значения большего х
Организуем цикл вывода упорядоченного массива в консоль.[12] Для этого введем в активную область следующий блок. For i:=1 to 10 do Begin End; Выведем очередной элемент на экран, рисунок 25 Writeln ( I ,’-ый элемент:’, a [ i ]);
Рис.25. Вывод данных на экран
Запустим программу. Для чего щелкнем меню «Run» и выберем в открывшемся меню пункт «Run».[17] Теперь необходимо пользователю ввести значения для вычисления, после этого программа вычислит искомое значение, рисунок 26
Рис. 26. Ввод данных в программу
После ввода значений программа упорядочит массив и выведет его на экран, рисунок 27
- Богатырев Р. Журнал «Мир ПК» выпуск №4/2001 от 17.04.2001, с.58
- Вылиток А.А., Матвеева Т.К. Динамические структуры данных. Задание практикума. Язык Паскаль. // Учебно-методическое пособие. – М.: Издательский отдел Факультета ВМиК МГУ им. М.В. Ломоносова, 2005. – с. 8-20.
- Грогоно П. Программирование на языке Паскаль. — М.: Мир, 1982. — с. 108
- Зверева О.М., Саблина Н.Г. Среда Турбо Паскаль 7.0. Реализация простейших алгоритмов: Конспект лекций. Часть 1. — Екатеринбург: Изд-во УМЦ-УПИ, 2004. — с.112
- Игошина Л.В. Программирование на языке высокого уровня. Рабочая программа дисциплины. — Пенза: ПГУ, 2004. — с.5
- Йенсен К., Вирт Н. Паскаль. Руководство для пользователя и описание языка.//Пер. с англ. и предисл. Д.Б.Подшивалова — М.: Финансы и статистика,1989. — с. 151
- Ключарев А.А., Матьяш В.А., Щекин С.В. Структуры и алгоритмы обработки данных: Учебное пособие — СПбГУАП. СПб,2003 – с. 21-30
- Краснов С.В. Программирование на языке высокого уровня TURBO PASCAL: Учебное пособие. — Ульяновск: УлГТУ, 2004. — с.27-31
- Моргун А. Н. Программирование на языке Паскаль (Pascal). Основы обработки структур данных. — М.: Диалектика, 2005. — с. 576
- Максимова Т.М. Программирование на языках высокого уровня: Методические указания к выполнению курсового проекта. — СПб.: ГУАП, 2005. — с.27
- Перминов О.Н. Программирование на языке Паскаль:Справочник.– М.: Радио и связь, 1998. – с.243-304
- Подвальный С.Л., Холопкина Л.В., Носачева М.П. Программирование на языке Паскаль: практикум — 2008, с.24
- Рубенкинг Н.Дж. Турбо Паскаль для Windows: в 2-х томах. Пер. с англ.. — М.: Мир, 1993. – с.78
- Сулейманов Р.Р. Методика решения учебных задач средствами программирования//Методическое пособие – М: 2010, с. 112
- Трофимов С.П. Программирование на языке высокого уровня: Рабочая программа дисциплины. — Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2005. — с.12
- Шумова Е.О., Рачева Н.В. Программирование на языке высокого уровня: Методические указания к курсовой работе. — СПб.: СЗТУ, 2002. — с.36
- Пахомова А.В. Методическое пособие «Программирование на языке Turbo Pascal.- URL : http://tp7.info/metod_uk2.php (дата обращения: 03.06.2011)
- Учебник Turbo Pascal 7.0 — C ибГУТИ, 2011 [Электронный ресурс] — URL : http://pascal.guti.ru/fornext.html (дата обращения: 14.07.2011)
- Программирование. Динамические списки Pascal.//сайт посвященный языку программирования Turbo Pascal — 2010 [Электронный ресурс] — URL : http://www.pascal.helpov.net/index/dynamic_lists_pascal_programming (дата обращения: 08.07.2011)
- Программирование на языке высокого уровня TURBO PASCAL: Учебное пособие. — 2004 [Электронный ресурс] — URL : http://www.doklad.ref24.ru/works/62792.html (дата обращения: 21.06.2011)
Источник: doc4web.ru