Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Шпоры по технологии программирования (Pascal) - файл шпора!!! v2.0.doc


Шпоры по технологии программирования (Pascal)
скачать (29.1 kb.)

Доступные файлы (1):

шпора!!! v2.0.doc130kb.16.01.2008 20:20скачать

содержание

шпора!!! v2.0.doc

Б1. Основные определения программирования Язык программирования - это знаковая система для планирования поведения исполнителя (в частности, компьютера). Программа (в теоретическом программировании) - это объект, выраженный на формальном языке, обладающий определённой информационной и логической структурой и подлежащий исполнению на автоматическом устройстве. Синтаксис языка программирования - это совокупность правил образования правильных (допустимых) конструкций языка.Синтаксис исключает возможность разного толкования одного и того же понятия. Семантика языка программирования - это совокупность правил и соглашений, устанавливаемых описанием языка для выявления смысла текстов на этом языке и их интерпретации человеком или автоматом. Семантика языка программирования - это совокупность правил и соглашений, устанавливаемых описанием языка для выявления смысла текстов на этом языке и их интерпретации человеком или автоматом. Текст программы (как знаковая система) характеризуется синтаксисом, семантикой и прагматикой.

В этом единстве определяющей выступает прагматика, устанавливающая цель - отношение программы к ее потребителю, затем следует семантика, вскрывающая смысл текста программы, т.е. функцию, вычисляемую программой, и, наконец, синтаксис, необходимый для представления программы в виде слова в некотором алфавите
Б2. Этапы программирования

1.Постановка задачи.

2.Определение метода решения задачи.

3.Формализация постановки задачи. Определение обозначения переменных, констант и результатов, с помощью введённых значений записывается соотношение между данными.

4.Разработка, выбор или адаптация формального решения задачи.

5.Разработка состава и структуры исходных данных и результатов.

6.Разработка алгор. решения задачи.

7.Разработка программы на заданном языке по составленному алгор.(исходный модуль .pas).

8.Компиляция – преобразование исходного текста программы в машинный код определённого формата(объектный код .obj).

9.Компоновка – к полученному объектному коду добавляются коды библиотечных процедур (sin, cos, …) из библиотеки TURBO.TPL. В результате компоновки формируется загрузочный модуль с расширением .ехе пригодный для выполнения.

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

11.Тестирование программы (проверка правильности работы программы).

12.Подготовка документации на разработанную программу.
^

Б7. Структура программы на языке Паскаль


 Синтаксически программа на языке Паскаль делится на 2 части: заголовок и программный блок.

Общий вид заголовка:

 PROGRAM <имя программы>[(<список файлов>)];

 Заголовок программы может отсутствовать. Стандартные файлы ^ INPUT (входной) и OUTPUT (выходной) также могут опускаться, т.к. принимаются по умолчанию.

Блок программы состоит из описательной и исполнительной частей (описательная часть предшествует исполнительной части) и включает следующие разделы:

  ^ LABEL <описание меток>; – раздел описания меток

CONST <описание констант>; – раздел описания констант

TYPE <описание типов>; – раздел описания типов

VAR <описание переменных>; – раздел описания переменных

PROCEDURE <описание процедуры> ; – раздел описания

FUNCTION <описание функции>; процедур и функций

BEGIN

<исполнительная часть программы> – раздел операторов

END.

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

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

{$I <имя файла>},

Б8. Данные стандартные типы данных

Целочисленные переменные.

Shortint - короткие целые числа (1 байт). (-128 127)

Longint - удвоенные целые числа (4 байта). (-231231-1)

Integer - обычные целые числа (2 байта). (-3276832767)

Word - целые положительные числа (2 байта). (065535)

Byte - целые короткие положительные числа (1 байт). (0255)
^

Логический тип.


Boolean - логические переменные (1 байт) могут принимать 2 значения:

  • True (истина)

  • False (ложь)

Символьный тип.


Chor - служит для хранения одного символа (1 байт)

(буква, цифра, знаки препинания, специальные символы, непосредственно код). Значения символьных переменных задаются в апострофах - “ А”, “9”.
^

Вещественный тип.


Real - служит для хранения вещественных чисел (6 байт)

Строковый тип.


String - строковые переменные (255 байт).

Это строка символов заключенных в апострофах.
^ Б9. Пользовательский тип данных

Предположим, что мы разрабатывает программу, в которой много данных одинакового типа, но этот тип не является базовым ( не integer, не real ). Например, это данные, имеющие структуру массива определенной .породы. Тогда мы можем сэкономить на описании переменных, сделав описание следующим образом:
 Type shablon = array [1..100] of real; Var t, y, u : shablon;

Свойства, определенные для shablon, переходят на переменные, указанные в описании var, а shablon, называется новым типом данных. Это означает, что с помощью shablon можно определять тип данных, но shablon не является переменной и его нельзя использовать как переменную. Часто встречаются ситуации, когда собственные типы существенно экономят место.

Type d=record  i: integer;  f: string;  g: real; end; Var a: d; b: array [1..100] of d;

Здесь переменная а объявлена типом d , это означает, что все описания, сделанные для d, автоматически переходят на а. Так же происходит и с объявлением массива b. Чем длиннее описание переменной, тем выгоднее применять собственные типы данных. Совершенно очевидной полезность собственных типов данных становится при написании больших программ, состоящих из большого количества программных блоков, в каждом из которых есть описания переменных и сложных структур переменных. Использование собственных типов позволяет не описывать одну и ту же структуру в каждом новом блоке.
^ Б10. Выражения

Выражение состоит из констант, переменных, указателей функций, знаков операций и скобок. Выражение задает правило вычисления некоторого значения. Порядок вычисления определяется старшинством (приоритетом) содержащихся в нем операций. В языке ПАСКАЛЬ принят следующий приоритет операций:

  1. операция not, унарный минус

  2. операции типа умножения * / div mod and

  3. операции типа сложения + - or xor

  4. операции отношения = <> < > <= >= in

Выражения входят в состав многих операторов языка ПАСКАЛЬ, а также могут быть аргументами встроенных функций.
Б11. Оператор ввода – вывода.

Для ввода и вывода данных используются стандартные процедуры ввода и вывода Read и Write, оперирующие стандартными последовательными файлами INPUT и OUTPUT.

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

Допустим, есть команда Writeln (d;5) – это значит, что для вывода значений d, нужно 5 позиций, остальные заполняются пробелами справа.

Для переменной типа Real, формат представляет собой два члена (x;y) х – определяет ширину поля вывода, а у – число знаков стоящих после точки.

Если ширины недостаточно для вывода значения переменной, то выводятся числа с плавающей запятой и 10 цифрами после неё.

После Write курсор остается в позиции той в которой он остался после вывода последнего значения.

WriteLn - переводит курсор на новую строку.

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

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

Б12. Оператор присваивания и составной оператор

^ Оператор присваивания: С помощью этого оператора переменной или функции присваивается значение выражения. Для этого используется знак присваивания :=, слева от которого записывается имя переменной или функции, которой присваивается значение, а справа-выражение, значение которого вычисляется перед присваиванием. Допустимо присваивание значений переменным и функциям любого типа, за исключением типа файл. Тип выражения и тип переменной (или функции) должны быть совместимы для присваивания. Пример. Z:=А + В;

^ Составной оператор: Составной оператор представляет собой совокупность последовательно выполняемых операторов, заключенных в операторные скобки begin и end:

begin

<оператор 1>;

<оператор 2>;

<оператор N>

end ;

Он может потребоваться в тех случаях, когда в соответствии с правилами построения конструкций языка можно использовать один оператор, а выполнить нужно несколько действий. В такой составной оператор входит ряд операторов, выполняющих требуемые действия. В дальнейшем везде, где будет указываться, что можно использовать один оператор, им может быть и составной оператор. Отдельные операторы внутри составного оператора отделяются друг от друга точкой с запятой. Так как завершающее составной оператор слово end не является от­дельным предложением, то перед ним точку с запятой можно не ставить, в про­тивном случае компилятор будет считать, что перед словом end стоит пустой оператор. Можно считать, что и само тело программы, т. к. оно заключено в оператор­ные скобки begin и end, тоже является составным оператором.
^ Б13. Условный оператор

if выражение then оператор1 else оператор2; Условный оператор в короткой форме работает по правилу: Если значение логического условия истина, то выполняется инструкция следующая за словом then . Если значение логического условия ложь, то выполняется инструкция следующая за словом else, если else отсутствует, то выполняется оператор следующий за инструкцией if.
Б14. Селективный оператор

Инструкция case – реализует множественный выбор.

Case<выражение>of

<список констант 1>: begin {операторы} end;

<список констант 2>: begin {операторы} end;

<список констант n>: begin {операторы} end;

Else <составной оператор>;

End;

<Выражение> - от значения которых зависит дальнейших ход программы

begin {операторы} end; - составной оператор

<константы> - константы, разделенные запятыми, если конст. Представления в виде диапазона чисел, то его можно представить указав 1-е число и последнее разделив их двумя точками.
Б15. Оператор цикла FOR

Оператор цикла FOR организует выполнение одного оператора заранее из­вестное число раз. Существует два варианта оператора:

for Param:=Start to Finish do Instruction;

for Param:=Start downto Finish do Instruction;

В этих операторах:

Param - параметр цикла, являющийся переменной порядкового типа (integer);

Start - выражение, определяющее начальное значение параметра цикла;

Finish - выражение, определяющее конечное значение параметра цикла;

Instruction - выполняемый оператор.

Start и Finish должны быть совместимы для присваивания с параметром цикла

Цикл действует таким образом. Сначала вычисляются и запоминаются началь­ное - Start и конечное - Finish значения параметра цикла. Далее параметру цик­ла Param присваивается начальное значение Start. Затем значение параметра ци­кла сравнивается со значением Finish. Далее, пока параметр цикла меньше или равен конечному значению (в первом варианте оператора) или больше или равен конечному значению (во втором варианте), выполняется очередная итерация цикла; в противном случае происходит выход из цикла. Выполнение очередной итерации включает в себя сначала выполнение оператора Instruction, а затем присваивание параметру цикла следующего большего значения (в первом вариа­нте оператора) или следующего меньшего значения (во втором варианте). Естественно, что, если в первом варианте значение Start больше Finish или во втором варианте меньше Finish, оператор не выполняется ни разу.После выхода из цикла параметр цикла становится неопределенным, за иск­лючением случая, когда выход из цикла был осуществлен с помощью стандартной процедуры Break.


^ Б16. Оператор цикла WHILE

while <условие> do <составной оператор> while<условие> do begin <последовательный оператор> end;

Используется если необходимо провести некоторые повторные вычисления, однако число повторов не известно и определяется ходом вычислений.
Б17. Оператор цикла Repeat Until

Repeat <тело цикла>

Until <условия>

Выполнение:

  1. <тело цикла>

  2. Вычисляется значение <условия>, если условия – true, то цикл прекращается.


В отличие от While этот цикл будет повторяться пока условие не станет true.
Б23. Бинарный поиск.

Он производится в отсортированном массиве, весь массив делиться пополам. Средний элемент сравнивается с исходными числами, если они равно, то поиск окончен. Если Х меньше среднего элемента, то отбрасывают вторую половину, а поиск ведеться в первой.

Далее делим пополам оставшуюся часть списка, снова сравниваем Х со средним значением и т.д. пока не найдем Х.

^ Б18. Процедуры и функции

Подпрограмма-часть программы, оформленная в виде отдельной синтаксической конструкции

Вызов подпрограммы выполняется в некоторой точке программы посредством указания имени этой подпрограммы.

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

Формальный параметр- параметр идентификатор которого используется в подпрограмме для обозначения объектов, к которым применяется заданная последовательность действий.

Фактический параметр-объект, который подставляется в подпрограмму вместо соответствующего формального параметра (константа, имена переменных, выражения любого типа).

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

Существует 2 вида подпрограмм: процедуры и функции.

Синтаксис функции:

Function <имя> (список формальных параметров): тип;

Var {раздел описания локальных переменных}

Begin

Тело функции

End;

локальные переменные-переменные, которые используются только в этой функции

Синтаксис процедуры:

Procedure <имя> (список формальных параметров);

Var {раздел описания локальных переменных}

Begin

Тело процедуры

End;

Имя-какой либо идентификатор. Список формальных параметров - последовательность имен формальных параметров, их типов и способов подстановки. Список параметров отделяется друг от друга ;. Список формальных параметров может отсутствовать. Тип- тип возвращаемого функцией результата.

Пример. Процедура ввода N целых чисел.

Пусть в основной программе определен тип:

type tArr = array[1. . 100] of Integer;

Процедура может иметь вид:

procedure Inplnt(var Mas: tArr; N: Integer); {заголовок процедуры со списком формальных параметров, проверка N <= 100 - в основной программе}var i: Integer; {локальный параметр - параметр цикла} begin WriteLn (‘Введите’, N,’ целых чисел’); for i:= 1 to N do Read (Mas[i]);

end;

Для вызова процедуры из основной программы или другой подпрограммы сле­дует записать оператор, состоящий из имени процедуры и списка фактических параметров, которые должны совпадать по количеству и типам с формальными параметрами процедуры. Например:

InpInt(M, К); означает, что вызывается процедура Inplnt для ввода К целых чисел в массив М. Естественно, что в этом случае параметр К целого типа, а М - массив типа tArr.

Пример. Функция вычисления факториала числа N.

function Factorial(N: Byte): Longint; var Fact: Longint; i: Byte; begin Fact := N; for i := N-l downto 2 do Fact := Fact * i ; Factorial:=Fact end;

Для вызова функции из основной программы или другой подпрограммы сле­дует в выражении, где необходимо использовать значение функции, указать имя функции со списком фактических параметров, которые должны совпадать по ко­личеству и типам с формальными параметрами функции, например: Part:=Sqr(T)/Faktorial(i); В этом операторе: Sqr(T) - вызов стандартной функции возведения в квадрат с фактическим параметром Т; Faktorial(i) - вызов функции, вычисляющей факториал с фактическим параметром i. При обращении к процедуре и функции необходимо обеспечить соответствие фактических и формальных параметров по количеству, типу, порядку следования.

^ Б19. Массив как структура данных.

Массивы представляют собой ограниченную упорядоченную совокупность однотипных величин. Каждая отдельная величина называется компонентой массива. Тип компонент может быть любым, принятым в языке ПАСКАЛЬ, кроме файлового типа. Тип компонент называется базовым типом.

Вся совокупность компонент определяется одним именем. Для обозначения отдельных компонент используется конструкция, называемая переменной с индексом или с индексами: A[5], B[3,5]

В качестве индекса может быть использовано выражение. Тип индексов может быть только интервальным или перечисляемым. Действительный и целый типы недопустимы. Индексы интервального типа, для которого базовым является целый тип, могут принимать отрицательные, нулевое и положительные значения.

Для ввода или вывода массива в список ввода или вывода помещается переменная с индексом, а операторы ввода или вывода выполняются в цикле.
^ Б20. Одномерный массив данных.

Массив – это вектор.

Числа заполняемого массива задаются при его описании и в дальнейшем не меняются.

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

Объявление массива:

Вид:

  1. Var<имя>: array [<нижняя граница индекса>..<верхняя граница>] оf <тип>

<нижняя граница индекса> - integer, real, char,

<верхняя граница> - string.

  1. С использованием типизированных констант:

Type <имя>=array[<HГ>..<ВГ>] оf <тип>

Var <имя>: <тип>
Действия над одномерными массивами:

  1. Ввод/вывод

  2. Сортировка

  3. Поиск значений

Для обработки элементов массива используются циклические структуры.

Б22. Сортировка массива Сортировкой или упорядочением массива называется расположение его элементов по возрастанию (или убыванию). Если не все элементы различны, то надо говорить о неубывающем (или невозрастающем) порядке.

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

  • количество шагов алгоритма, необходимых для упорядочения;

  • количество сравнений элементов;

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

Метод «Пузырька»

В основу алгоритма лежит обмен соседних элементов массива. Каждый элемент массива начиная с 1-го сравнивается со следующим и если он больше следующего, то элементы меняются местами т.е. элементы меняются с меньшим значением продвигаются к началу массива, а элементы с большим значением к концу массива, а элементы с большим значением к концу массива. Этот процесс повторяется n-1 раз.

var A:array[1..100] of integer; n,i,j,x:integer; Begin readLn(n); for i:=1 to n do readln(A[i]);

for j:=1 to n-1 do if A[j]>A[j+1] then begin x:=A[j] ;A[j]:=A[j+1]; A[j+1]:=x; end; for i:=1 to n do writeLn(A[i]);end.

^ Метод прямого выбора

Просматривая массив, от 1 элемента найти минимальный и поместить его на место 1-го элемента , а 1-ый элемент на место минимального. Так делать со всеми элемента массива. var A:array[1..100] of integer; n,i,j,k,min:integer;Begin readLn(n); for i:=1 to n do readLn(A[i]); for j:=1 to n do begin min:=A[j]; k:=j; for i:=j to n do if min>A[i] then begin min:=A[i]; k:=i;end; A[k]:=A[j]; A[j]:=min;end; for i:=1 to n do writeLn(A[i]);end.
^

Б24. Строки. Логическое и физическое представление


Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки. Синтаксис:

var s: string[n];

var s: string;

n - максимально возможная длина строки - целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается равным 255. Строковые константы записываются как последовательности символов, ограниченные апострофами. Допускается формирование строк с использованием записи символов по десятичному коду (в виде комбинации # и кода символа) и управляющих символов (комбинации ^ и некоторых заглавных латинских букв). Пример:

'Текстовая строка'
#54#32#61
'abcde'^A^M

Пустой символ обозначается двумя подряд стоящими апострофами. Если апостроф входит в строку как литера, то при записи он удваивается. Переменные, описанные как строковые с разными максимальными длинами, можно присваивать друг другу, хотя при попытке присвоить короткой переменной длинную лишние символы будут отброшены. Выражения типа char можно присваивать любым строковым переменным. В Турбо Паскаль имеется простой доступ к отдельным символам строковой переменной: i-й символ переменной st записывается как st[i]. Например, если st - это 'Строка', то st[1] - это 'С', st[2] - это 'т', st[3] - 'р' и так далее. Над строковыми данными определена операция слияния (конкантенации), обозначаемая знаком +. Например:

a := 'Turbo';

b := 'Pascal';

c := a + b;

В этом примере переменная c приобретет значение 'TurboPascal'. Кроме слияния над строками определены операции сравнения <,>,=,<>,<=,>=. Две строки сравниваются посимвольно, слева направо, по кодам символов. Если одна строка меньше другой по длине, недостающие символы короткой строки заменяются символом с кодом 0.
^ Б26. Записи. Логическое и физическое представление.

Запись – конечное множество элементов состоящая из компонентов и представляющее логически единое целое.

Элементами записи могут быть скалярные переменные, массивы, записи низших уровней и массивы записей.

Элементы записи называются полями. Поля именуемы: доступ к полям осуществляется по именам.

Запись – это обобщенное понятие массива, которое не требует однородности элементов.

В оперативной памяти элементы записей располагаются последовательно в описанном порядке.

Обьем памяти занимаемый записью складывается из длин ей полей.

Синтаксис:

Record <последовательность полей>

End;

<послед. полей>:=<идент.>:<тип>

-Определяем тип записи с полями:-

Type: zap: record

P1: integer;

P2: real;

P3: char;

End;

Var object: zap; - объявление переменной типа запись

Можем определить массив записей:

Mas: array[1..100] of zap;

^ Б27. работа с записями в паскале

Оператор WITH

Этот оператор используется для удобства работы с переменными типа

RECORD (запись).

Общий вид:
WITH A DO ST;

Здесь А - имя переменной типа RECORD,ST - оператор.

В операторе ST при ссылках на компоненты записи имя А можно

опускать.

Пример. Для занесения даты рождения в предыдущем примере достаточно

выполнить операторы:
^ WITH BIRTHDAY[MOTHER] DO BEGIN MONTH:=5; DAY:=1; YEAR:=1950; END.;

Запись с вариантами

Общий вид:

TYPE V=RECORD

A:TYPE1;

B:TYPE2;

.................

CASE N:TYPEN OF

C1: (T11:TYPE11; T12:TYPE12; ,,,);

^ C2: (T21:TYPE21; T22:TYPE22; ,,,);

...............................

CK: (T1K:TYPE1K; T2K:TYPE2K; ,,,);

END;

VAR Z:V;

Здесь Z - переменная типа V; N - переменная, называемая переключателем;

TYPEN - тип переменной N.

Этому же типу должны принадлежать метки С1, С2,...,СК.

Каждой метке соответствует набор полей Т11,Т12,.... Эти поля являются

компонентами варианта.

Переменную N называют также тэгом (тагом), ярлыком, признаком,

дискриминантом.

Если какой-либо метке CL вообще не соответствует поля, то пишут CL: ();

Замечания.

Любая запись (record) может иметь только одну вариантную часть

(CASE).

Вариантная часть должна помещаться после постоянной части.

Среди идентификаторов полей не должно быть одинаковых. Обращение к

компоненте Z.Tij записи Z происходит так:

Присваивается соответствующее значение (Ci) переключателю N. В

зависимости от значения N переменная Z, помимо полей А,В,..., содержит

те поля, которые соответствуют той метке Ci, с какой совпадает значение N.

Выполняется операция с компонентой Z.Tij.

^ Б28. Множество

Понятие множества в языке ПАСКАЛЬ основывается на математическом представлении о множествах: это ограниченная совокупность различных элементов. Для построения конкретного множественного типа использует- ся перечисляемый или интервальный тип данных. Тип элементов, состав- ляющих множество, называется базовым типом. Множественный тип описывается с помощью служебных слов Set of, например: type M= Set of B;Здесь М - множественный тип, В - базовый тип.

^ Б29. Понятие файла основные процедуры и функции файла.

Файл – поименованная область памяти на внешнем носителе предназначенная для хранения информации.

Файл может быть входным и выходным.

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

Достоинства:

-Файл сохраняет свое значение по окончанию создаваемой программы.

-Файл единственный способ размещения данных очень большого обьема..

Действия с файлами:

-Процедура Assign( var f; FileName: String ) связывает логический файл f с физическим файлом, полное имя которого задано в строке FileName.

-Процедура Reset( var f ) открывает логический файл f для последующего чтения данных или, как говорят, открывает входной файл. После успешного выполнения процедуры Reset файл готов к чтению из него первого элемента.

-Процедура Rewrite( var f ) открывает логический файл f для последующей записи данных (открывает выходной файл). После успешного выполнения этой процедуры файл готов к записи в него первого элемента.

-Процедура Close( var f ) закрывает открытый до этого логический файл. Вызов процедуры Close необходим при завершении работы с файлом. Если по какой-то причине процедура Close не будет выполнена, файл все-же будет создан на внешнем устройстве, но содержимое последнего буфера в него не будет перенесено. Для входных файлов использование оператора закрытия файла необязательно.

-Логическая функция EOF( var f ): Boolean возвращает значение TRUE, когда при чтении достигнут конец файла. Это означает, что уже прочитан последний элемент в файле или файл после открытия оказался пуст. Процедура Rename( var f; NewName: String ) позволяет переименовать физический файл на диске, связанный с логическим файлом f. Переименование возможно после закрытия файла.

-Процедура Erase( var f ) уничтожает физический файл на диске, который был связан с файловой переменной f. Файл к моменту вызова процедуры Erase должен быть закрыт.

-Функция IOResult: Integer возвращает целое число, соответствующее коду последней ошибки ввода - вывода. При нормальном завершении операции функция вернет значение 0. Значение функции IOResult необходимо присваивать какой - либо переменной, так как при каждом вызове функция обнуляет свое значение. Функция IOResult работает только при выключенном режиме проверок ошибок ввода - вывода или с ключом компиляции {$I-}.

^ Б30. типизированный файл - последовательность элементов одного типа. Описание файлового типа имеет синтаксис: file of < тип элементов>; Допустим, мы имеем дело с файлом, в котором записываются переменные типа Word, тогда переменная файлового типа может быть введена двояко: с явным объявлением файлового типа:Type WordFile = file of word; Var  MyFile : WordFile;

^ Б31. Текстовые файлы Особое место в языке ПАСКАЛЬ занимают текстовые файлы, компоненты которых имеют символьный тип. Для описания текстовых файлов в языке определен стандартный тип Тext

Текстовые файлы представляют собой последовательность строк, а строки - последовательность символов. Строки имеют переменную длину, каждая строка завершается признаком конца строки

.С признаком конца строки связана функция EOFn(var T:Text):Boolean, где Т - имя текстового файла. Эта функция принимает значение TRUE, если достигнут конец строки, и значение FALSE, если конец строки не достигнут.

Для операций над текстовыми файлами, кроме перечисленных, опреде- лены также операторы обращения к процедурам:

-ReadLn(T) - пропускает строку до начала следующей;

-WriteLn(T) - завершает строку файла, в которую производится за- пись, признаком конца строки и переходит к началу следующей.

-Процедура Append( var f: Text ) служит для специального открытия выходных файлов. Она применима к уже существующим физическим файлам и открывает из для дозаписи в конец файла.

-Процедура Flush( var f: Text ) применяется к открытым выходным файлам. Она принудительно записывает данные из буфера в файл незави- симо от степени его заполнения.

-Функция SeekEOLn( var f: Text ): Boolean возвращает значение True, если до конца строки остались только пробелы.

-Функция SeekEOF( var f: Text ): Boolean возвращает значение True, если до конца файла остались строки, заполненные пробелами.


^ Б32. Понятие жизненного цикла программы.

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

-Определение

-Выработка требований

-Разработка спецификаций

-Проектирование

-Проектирование архитектуры

-Детальное проектирование

-Реализация (конструирование)

-Кодирование

-Интеграция

-Тестирование (сертификация)

-Внедрение

-Эксплуатация (сопровождение).


^ Б35. Определение целей программного изделия.

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

ко времени решения поставленной задачи;

объему необходимых ресурсов, например, оперативной памяти;

точности достигаемого результата.

Если задача вычислительная, то на этом этапе следует выбрать метод расчета, если разрабатывается компьютерная игра, должен быть определен ее сценарий. В любом случае следует выбрать или создать некую формальную модель, которая, в конечном счете, реализуется в будущей программе. На этапе проектирования определяют вид данных, с которыми будет работать программа, основные части, из которых программа будет состоять и характер связей между этими частями.
^ 21. Двумерный массив

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

Объявление массива: var a: array[1..100, 1..100] of integer; или

type mas = array [1..100? 1..100] of integer;

Var A: mas; B: mas; C: mas;

Ввод элементов массива

Readln (n); {количество элементов строк}

Readln (m); {количество элементов столбцов}

For i:=1 to n do

For j:=1 to m do Readln (A[i,j]);

Вывод элементов массива

For i:=1 to n do

For j:=1 to m do Writeln (A[i,j]); -{обычный вывод}

For i:=1 to n do begin

For j:=1 to m do writeln (A[i,j]:5); -{вывод двумерного массива в стандартном виде}

Writeln end;


Скачать файл (29.1 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации