Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Модуль в языке Pascal. Его структура.Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Модуль(UNIT) в Pascal – это особым образом оформленная библиотека подпрограмм. Модуль, в отличие от программы, не может быть запущен на выполнение самостоятельно, он может только участвовать в построении программ и других модулей. Модуль в Pascal представляет собой отдельно хранимую и независимо компилируемую программную единицу. Все программные элементы модуля можно разбить на две части: 1) программные элементы, предназначенные для использования другими программами или модулями, такие элементы называют видимыми вне модуля; 2) программные элементы, необходимые только для работы самого модуля, их называют невидимыми (или скрытыми). unit <имя модуля>; {заголовок модуля} interface {описание видимых программных элементов модуля} implementation {описание скрытых программных элементов модуля} begin {операторы инициализации элементов модуля} end. Для обращения к переменной, описанной в модуле, необходимо применить составное имя, состоящее из имени модуля и имени переменной, разделенных точкой. Рекурсивное использование модулей запрещено. Перечислим, какие бывают виды модулей. 1. Модуль SYSTEM. Модуль SYSTEM реализует поддерживающие подпрограммы нижнего уровня для всех встроенных средств, таких как ввод-вывод, работа со строками, операции с плавающей точкой и динамическое распределение памяти. 2. Модуль DOS. Модуль Dos реализует многочисленные процедуры и функции Pascal, которые эквивалентны наиболее часто используемым вызовам DOS, как, например, GetTime, SetTime, DiskSize и так далее. 3. Модуль CRT. Модуль CRT реализует ряд мощных программ, предоставляющих полную возможность управления средствами компьютера РС, такими, как управление режимом экрана, расширенные коды клавиатуры, цвета, окна и звуковые сигналы. 4. Модуль GRAPH. С помощью процедур и функций, входящих в этот модуль, можно создавать различные графические изображения на экране. 5. Модуль OVERLAY. Модуль OVERLAY позволяет уменьшить требования к памяти программы DOS реального режима.
Алгоритмы нахождения минимального и максимального чисел. . нахождение максимального числа из n введенных чисел. ........... for i:=1 to n do begin readln(a); if a>=max then max:=a; end; Давайте рассмотрим простой пример:
Мы привели пример, где функция находит минимальное число, из двух введённых чисел. Если параметры функции одинаковые, то они указываются через запятую, если разные, то через точку с запятой.
Алгоритмы сортировки. Сортировка массива – это упорядочение его элементов по возрастанию или по убыванию. Общеприняты два метода: метод выбора и метод обмена (пузырька). Метод выбора. Ищем минимальный элемент в массиве и меняем его местами с первым элементом. Рассматриваем массив со второго элемента … и т.д. {Программа сортировки массива из 10-ти чисел методом выбора} program massort; uses crt; var i,j,n,min,buf:integer; a:array[1..10] of integer; begin clrscr; writeln('Введите 10 чисел через пробел, затем "Inter"'); for i:=1 to 10 do read (a[i]); for i:=1 to 10 do begin min:=i; for j:=i+1 to 10 do if a[j]<a[min] then min:=j; buf:=a[i]; a[i]:=a[min]; a[min]:=buf; end; writeln(' Упорядоченный массив '); for i:= 1 to 10 do write(a[i]:4); repeat {цикл для остановки программы } until keypressed; {и показа результата} end. Наберите программу и запустите ее на выполнение. Убедитесь в работе программы. Метод обмена (пузырька). Сравнивается пара соседних элементов, если они расположены не по возрастанию, то меняются местами и так до конца массива. После одного прохода самый большой элемент оказывается последним. Процесс повторяется, пока есть пары, расположенные не по возрастанию.
Ветвления в Pascal. Точки алгоритма, в которых выполняется выбор дальнейшего хода программы, называются точками выбора. Выбор очередного шага решения задачи осуществляется в зависимости от выполнения некоторого условия. В программе условие – это выражение логического типа (Boolean), которое может принимать одно из двух значений: True (истина) или False (ложь). Простое условие состоит из двух операндов и оператора сравнения: a=b В данном случае: a – первый операнд; b – второй операнд; = – оператор сравнения.
При записи условий следует обратить особое внимание на то, что операнды условия должны быть одного типа или, если тип операндов разный, то тип одного из операндов может быть приведен к типу другого операнда. Из простых условий при помощи логических операторов: and – ‘И’, or – ‘ИЛИ’, xor – ‘Исключающее ИЛИ’, not – ‘Отрицание’ можно строить сложные условия. При записи сложных условий важно учитывать, что логические операторы имеют более высокий приоритет, чем операторы сравнения, и поэтому простые условия следует заключать в скобки: (s>0) and (t<60) Выбор в точке разветвления алгоритма очередного шага программы может быть реализован при помощи оператора условия if и оператора выбора case. Инструкция if позволяет выбрать один из двух возможных вариантов развития программы. Выбор осуществляется в зависимости от выполнения условия.
If < условие > then begin < оператор 1 >; < оператор 2 >; …. < оператор n >; { что нужно делать, если условие истинно} end Else begin < оператор 1’ >; < оператор 2’ >; …. < оператор n’ >; { что нужно делать, если условие ложно} end;
Ветвь Else может отсутствовать. Тогда если условие ложно, то будут выполнятся команды, находящиеся после условного оператора. Если в инструкции If между словами begin и end находится только одна инструкция программы, то слова begin и end можно не писать. If x>0 then y:=sqrt(x) else y:=sqrt(abs(x)); Оператор выбора case позволяет сделать выбор из произвольного числа имеющихся вариантов. Он организует разветвления в зависимости от значения некоторой переменной перечисляемого типа. Например, если as: integer в программе Case as of 0: u=x+y; 1: u=y-x; 2: u=x*y else u=0; end; в соответствии со значением as вычисляется u. Если as=0, то u=x+y, as=1, то u=y-x, as=2, то u=x*y. При всех других значениях as u=0. Общий вид записывается следующим образом: Case < селектор > of список1: begin < инструкции1 > end; список2: begin < инструкции2 > end; списокn: begin < инструкцииn > end Else begin < инструкции > end; end;
Селектор – выражение, значение которого определяет дальнейший ход выполнения программы (т.е последовательность инструкций, которая будет выполнена); Список1 – список констант. Если константы представляют диапазон чисел, то вместо списка можно указать первую и последнюю константу диапазона, разделив их двумя точками. Ветвь Else тоже может отсутствовать. Операторные скобки begin и end могут отсутствовать, если инструкции состоят только из одного оператора: Uses Crt; Var Age, i: integer; Begin Clrscr; i:=0; writeln(‘Введите Ваш возраст:’); readln(Age); Case Age of 0,1,2: writeln(‘Вы слишком юны’); 3..7: writeln(‘Вы должны посещать детский сад’); 100: writeln(‘Вы долгожитель’) else writeln(‘O..O..O!!!!’); end; readln; End. Тип констант должен совпадать с типом селектора. Селектор может относиться к целочисленному, булевскому, литерному или пользовательскому типам. Дополните данную программу для возрастов 8 – 99 лет и запустите на выполнение. Проверьте работу программы.
Циклы в Pascal. Цикл – это организованное повторение некоторой последовательности операторов. Реализовать его в Pascal можно следующим образом: ….. Label Me1,Me2; …. Me1: P1; P2; . . Pn; Goto Me1; …. Me2: Pk; Me1 и Me2 – метки, которые описываются в разделе объявлений программы. Оператор перехода Goto Me1; передает управление на оператор, перед которым стоит метка Me1:. Для того, чтобы приведенный алгоритм не длился бесконечно, требуется с помощью одного из повторяемых операторов организовать условие выхода из цикла. Для данного примера, можно записать оператор Pn, как: If <условие> Goto Me2; Такой способ организации циклов характерен для языков Бейсик и Фортран. В языке Pascal для организации циклов и выхода из них используются операторы While, Repeat, For, а использование оператора Goto считается дурным тоном. Оператор Repeat …Until (цикл с постусловием). Этот оператор организует проверку выхода из цикла после каждого выполнения всех повторяемых операторов: ….. Repeat P1: P2; . Pn; Until B1; ….. Здесь B1 – условие, записанное с помощью оператора логического типа. Оператор Repeat организует выполнение повторяемых операций хотя бы один раз и хотя бы один повторяемый оператор должен влиять на значение B1. Это отслеживается на этапе трансляции и, если такого влияния нет, выдается сообщение об ошибке. Оператор While …do (цикл с предусловием). Иногда удобнее организовать проверку условия выхода из цикла перед выполнением первого повторяемого оператора. Это осуществляется с помощью оператора цикла While …do: While B1 do Begin P1; P2; … Pn; End; …… Если повторяется только один оператор, то скобки begin …end; можно не писать. Как и в операторе Repeat, хотя бы один повторяемый оператор должен влиять на значение условия B1. Оператор for …do (цикл с параметром). Часто встречается ситуация, когда переменная цикла относится к целому типу и ее значение изменяется на единицу. В таком случае используется оператор for …do: ….. for i:=m to n do begin P1; P2; …. Pn; end; …… Здесь переменные i,m,n – целого типа (m и n могут быть арифметическими выражениями целого типа). При m>n операторы P1,P2,...,Pn не выполняются ни разу. Если повторяется только один оператор, то скобки begin …end можно опустить. Для организации цикла, в котором переменная уменьшается на единицу, существует разновидность оператора for: For i:=m downto n do Где m>=n. Операторы цикла во многих случаях (но не во всех) взаимозаменяемы. Например, пусть нам необходимо посчитать сумму чисел от 1 до 10. Используем Repeat … s:=0; i:=1; repeat s:=s+i; inc(i); until i>10; Используем While … s:=0;i:=1; while (i<=10) do begin s:=s+i; inc(i); end; 3. Используем For s:=0; for i:=1 to 10 do s:=s+i; В данном случае использование оператора For является предпочтительным, но так бывает не всегда. Оператор For всегда можно заменить операторами Repeat и While, в то время как заменить операторы Repea t и While на For в некоторых случаях достаточно проблематично (приходится использовать специальные конструкции прерывающие работу цикла).
|
|||||||||||||||||||
Последнее изменение этой страницы: 2016-08-15; просмотров: 833; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.149.182 (0.007 с.) |