
- •Понятие формального языка. Описание синтаксиса языка.
- •Понятия тестирования и отладки. Принципы тестирования.
- •Полнота тестирования. Критерии черного ящика.
- •Критерии белого ящика.
- •Мгт. Ошибкоопасные ситуации при работе с файлами.
- •Ошибкоопасные ситуации при обращении к данным.
- •Ошибкоопасные ситуации при вычислениях.
- •Ошибкоопасные ситуации при передаче управления и вызовах подпрограмм.
- •Безмашинное тестирование.
- •Оценка количества ошибок в программе.
- •Мера доверия к миллсовой модели оценки количества ошибок в программе. Оценка количества необходимых тестов.
- •Отладка. Отладочные операторы.
- •Методы поиска ошибки. Принципы отладки. Анализ обнаруженной ошибки.
- •Отладочные средства авс-Паскаля.
- •Нисходящее программирование. Нисходящее тестирование.
- •Стиль программирования
- •Понятие алгоритма. Свойства алгоритма.
- •Операторы Паскаля
- •Замкнутые подпрограммы.
- •Открытые подпрограммы.
- •Передача параметров.
- •Рекурсия.
- •Рекуррентные вычисления. Вычисления рекурсивные и итеративные. Реализация одного и того же алгоритма рекурсивно и итеративно.
- •Блочная структура.
- •Понятие типа данных. Классификация языков по типизации.
- •Классификация типов данных. Числовые типы.
- •Перечисления. Диапазоны.
- •Массивы.
- •Моделирование массивом последовательностей: стек.
- •Моделирование массивом последовательностей: очереди
- •Моделирование массивом последовательностей: деки
- •Записи. Присоединяющий оператор.
- •Файлы. Виды файлов. Методы доступа. Триада для работы с файлом.
- •Синхронизация. Буферизация. Блокирование.
- •Двоичные файлы в авс-Паскале.
- •Строки Тип string в авс Паскале.
- •Множества.
- •Процедурные типы.
- •1 ) Описание процедурной константы в Паскале:
- •2 ) Не в Паскале:
- •Типовая безопасность. Идентичность типов.
- •Абстракция данных. Модули в Турбо-Паскале и в авс-Паскале.
- •Подходы к созданию универсального языка программирования
- •Запись с вариантами
- •Классы памяти
- •Понятие конечного автомата и мп-автомата
- •Понятие Машины Тьюринга, нормальных алгоритмов Маркова
Потоковые файлы в АВС-Паскале.
Assign(f,name)
Связывает файловую переменную f с файлом с именем name
Reset(f)
Файл должен существовать на диске, в противном случае происходит ошибка
времени выполнения. Текстовые файлы открываются только на чтение
Rewrite(f)
Если файл с указанным именем уже существует, то он удаляется, и вместо него
создается новый файл. Текстовые файлы открываются только на запись
Append(f)
Открывает текстовый файл на запись для добавления. Файловый указатель
устанавливается в конец файла.
Close(f)
Закрывает файл
FileExists(name)
Возвращает True, если на диске имеется файл с именем name, в противном случае
возвращает False
CanCreateFile(name)
Возвращает True, если можно создать файл с именем name, в противном случае
возвращает False
Read(f,a,b,...)
Считывает значения из файла f в переменные a, b ... Если файл текстовый, то
переменные a, b ... могут иметь различные типы, а их значения должны храниться
в файле в текстовом виде
Write(f,a,b,...)
Записывает значения a, b ... в файл f. Если файл текстовый, то значения a, b ...
выводятся в него в текстовом виде, при этом могут быть использованы форматы
вывода
Readln(f,a,b,...)
Считывает значения из текстового файла f в переменные a, b ..., после чего
пропускает символы до конца строки.
Writeln(f,a,b,...)
Записывает значения a, b ... в текстовый файл f, после чего записывает в него
символ конца строки. Значения a, b ... записываются в файл в текстовом виде, при
этом могут быть использованы форматы вывода.
Eof(f)
Возвращает True, если файловый указатель стоит на конце файла, и False в
противном случае
Eoln(f)
Возвращает True, если файловый указатель стоит на конце строки, и False в
противном случае
SeekEof(f)
Пропускает пробелы, символы табуляции и перехода на новую строку, после
чего возвращает True, если файловый указатель стоит на конце файла, и False
в противном случае
SeekEoln(f)
Пропускает пробелы, символы табуляции, после чего возвращает True, если
файловый указатель стоит на конце строки, и False в противном случае
Rename(f,name)
Переименовывает файл, связанный с файловой переменной f. Файл должен
быть закрыт
Erase(f)
Удаляет файл, связанный с файловой переменной f. Файл должен быть закрыт
Строки Тип string в авс Паскале.
Черты как простых, так и составных типов
Различаются по длине:
1) ограниченной/фиксированной длины
2) ограниченная переменная длина (меняет длину в заданных пределах) в АВС
S:string[6] – max длина 6
3) неограниченной/переменной длины
Элемент строки – литера
Бывают строки цифровые, битовые
Строки в Pascal ABC имеют тип string и состоят из не более чем 255 символов. При описании
var s: string;
под переменную s отводится 256 байт, при этом в нулевом байте хранится длина строки.
Для экономии памяти предусмотрено описание вида
var s1: string[40];
В этом случае под строку отводится 41 байт (нулевой байт - под длину строки). В случае присваивания переменной s1 строки из более чем 40 символов лишние символы отсекаются, и длина строки s1 полагается равной 40.
При выполнении операции конкатенации вида s1+s1 результат считается строкой типа string, т.е.занимает 256 байт. Однако, если при конкатенации результат будет занимать более 255 символов, то программа завершится с ошибкой.
К символам в строке можно обращаться, используя индекс: s[i] обозначает i-тый символ в строке. Обращение к нулевому символу s[0] считается ошибочным. Чтобы изменить длину строки, следует воспользоваться процедурой SetLength. Если индекс i выходит за пределы памяти, отводимой под строку, то выдается сообщение об ошибке. Однако, если индекс i выходит лишь за пределы длины строки, то сообщение об ошибке не выдается.
Length(s) |
функция |
возвращает длину строки s |
Copy(s,index,count) |
функция |
возвращает подстроку строки s длины count, начиная с позиции index |
Delete(s,index,count) |
процедура |
удаляет в строке s count символов начиная с позиции index |
Insert(subs,s,index) |
процедура |
вставляет подстроку subs в строку s с позиции index |
Pos(subs,s) |
функция |
возвращает позицию первой подстроки subs в строке s (или 0 если подстрока не найдена) |
SetLength(s,n) |
процедура |
устанавливает длину строки s равной n |
Str(x,s) Str(x:n,s) Str(x:n:m,s) |
процедура |
преобразует x к строковому представлению (во втором и третьем случаях согласно формату вывода, устанавливаемому n и m) и записывает результат в строку s |
Val(s,v,code) |
процедура |
преобразует строку s к числовому представлению и записывает результат в переменную v. Если преобразование возможно, то в переменной code возвращается 0, если невозможно, то в code возвращается ненулевое значение |
Concat(s1,...,sn) |
функция |
возвращает строку, являющуюся результатом слияния строк s1,..., sn. Результат тот же, что у выражения s1+s2+...+sn |
IntToStr(i) |
функция |
преобразует целое число к строке |
StrToInt(s) |
функция |
преобразует строку в целое число . Если преобразование невозможно, то возникает ошибка времени выполнения |
FloatToStr(r) |
функция |
преобразует вещественное число к строке |
StrToFloat(s) |
функция |
преобразует строку в вещественное число. Если преобразование невозможно, то возникает ошибка времени выполнения |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|