МЕГА-ШПОРЫ по ИНФЕ (969694), страница 3
Текст из файла (страница 3)
Множества – неупорядоченная совокупность однотипных неповторяющихся элементов (ограничения 0..255)
<задание множества типа>: :=set of <базовый тип> объединение (+), пересечение (*), дополнение (-), логическое сравнение, in – вхождение символа в множество. Базовый тип обязательно порядковый.
Type tset=set of char; var c:char; s:Tset; begin s:=[‘y’,’n’]; repeat writeln(‘vved y/n’); readln(c); until c in S; end;
Ввод мн-ва- установить мн-ву пустое значение. при накоплении мн-ва каждый новый Эл-т добавл-ся с помощью объединения – сам эл-т в квадратные скобки. Вывод элементов множества на печать –организовать цикл для просмотра всего набора множества. Внутри цикла сделать проверку на принадлежность текущего зн-ия параметра цикла выводимому мн-ву.
Вопрос №21.
Запись – совокупность разнотипных элементов.
<тип запись>: :=record <список полей> end; <список полей>: :=<общая часть> <вариантная часть>
<общая часть>: :=<раздел записи>; <раздел записи>: :=<имя поля> {<имя поля>}<задание типа>;
<вариантная часть>: :=case<переменная выбор>:<имя типа>of <вариант>; <вариант>: :=<метка варианта>
Const n=25; Type:Tname=record fam:string[20]; name:string[20]; end; TGruppa=array [1..n] of Tname;
Вопрос №22.
Процедурный тип.
Цель использования – возможность использовать в качестве фактических параметров имена процедур и функций. Заголовок процедуры или функции без имени.
Type TFunc=Function(x:real):real;
Var a,b,d,summa1:real;num:byte;
Function f1(x:real):real;
Begin f1 :=sqr(x); end;
Function f2(x:real):real;
Begin f2:=x-2; end;
Procedure sum(k,l,m:real; f:Tfunc var summa:real);
Var x1:=real; begin summa:=0;x1:=k; while x1<=L do begin summa:=summa+f(x1); x1:=x1+m;end;
Begin writeln(‘vv parametry’); readln(a,b,d);writeln(‘vv nomer funktsii 1 ili 2’);readln(num);case num of 1:sum(a,b,d,f1,summa1); 2: sum(a,b,d,f2,summa1); end; writeln(summa1:6:2);end.
Вопрос №23.
Файл – последовательность однотипных элементов, произвольной длины.
3 типа:
-типизированные (последовательность базоволго типа),
-не типизированные,
-текстовые (последовательность строк).
Существует 2 способа доступа:
-последовательный(позволяет выбирать элементы последовательно)
-прямой
Операции для типизированных – установочные и завершающие (открытие-закрытие reset, rewrite, closefile, fileexists(const: const filename:string):Boolean проверка существования файла; assignfile(f, filename) – отождествляет файловую переменную в программе с конкретным именем файла), ввода-вывода (read, Write), перемещение по файлу (seek(var F,N:Longint) seek(f,0) – переместиться в начало файла; truncate(f) – отбрасывание хвостовой части файла с того места, где стоит указатель), специальные (filesize(var F):Longint - размер типизированного файла; filepos(var f):longint, eof(var f):Boolean, rename(var f, name:String)).
Нетипизированные файлы:
Способы доступа:
-прямой
-последовательный
Вопрос №24.
Текстовые файлы.
Особенности :
-последовательность строк
-Только последовательный способ доступа
- преимущество – можно редактировать в любом текстовом редакторе.
Операции: установочные и завершающие: reset(f) только чтение, rewrite(f), только запись с очисткой, append(var f:textfile) открытие для дозаписи; ввод-вывод: read(f,<..>), write(f,<..>)…function eoln(var f:textfile):Boolean;
Создание текстового файла:
-написать программу
-использовать текстовый редактор среды Delphi.
#10 – конец строки
#26- конец файла.
Особенности ввода и вывода информации из текстового файла:
При считывании информации из текстового файла информация сначала преобразуется к тому типу который мы указываем.
Вопрос №25.
Модули – отдельно компилируемая коллекция программных ресурсов, которые можно использовать в других приложениях или модулях.
Коллекция программных ресурсов – это константы, типы, процедуры, функции.
<Структура модуля>: :=Unit <имя> (имя модуля должно совпадать с именем файла, в котором он находится)
Interface <интерфейсная секция>, Implementation <секция реализации>; [Initialization]<секция инициализации>, [finalization] <завершающая секция>; end;
Интерфейсная секция – секция в которых содержится описание программных ресурсов, доступных из этого модуля(const,типы,перем,заголовки проц и ф-ий)
Секция реализации – тексты, функции, процедуры объявленных в секции интерфейса а также внутренние ресурсы модуля.
Секция инициализации – содержит операторы которые выполняются при подключении модуля к программе.
Завершающая секция – закрытие каких либо файлов, удаление всех параметров.
Подключение модулей - <имя модуля 1><имя модуля 2>…..
Свойства модулей – информационно-независимы, функционально независимы, логически независимы от других модулей.
Вопрос №26.
ООП
Идеология процедурного программированияструктурное программирование (совокупность рекомендуемых методов для написания программы)повышение роли данных (модульное программирование)Объектно ориентированное програмирование (ПО – совокупность классов) ПП – набор классов.
Класс – структурный тип данных, представляющий собой описание полей данных.
Объект – экземпляр класса.
Инкапсуляция – объединение полей и методов в некотрую единичную структуру.
Наследование – порождение нового класса с использованием ранее созданных.
Полиморфизм – позволяет различные алгоритмические действия называть одним и тем же именем проц/ф-ии.
Свойства объектов:
- создание и уничтожение,
- модификация(изменение параметров)
-селекция – возвращение значений параметра объекта или ответ объекта о его состоянии.
-итерация – доступ к содержанию объекта по частям.
Поля: private, protected, public.
Среда delphi: 1)ООП 2) событийное 3)визуальное прогр-ие
Вопрос №27.
Показатели качества ПО.
Этапы решения задач на ЭВМ:1)решить,какова д.б. структура данных 2)выбор метода решения 3)написание тестов средства отладки а)пошаг.режим выполнения(F7 пооператорно,F8-попроцедурно) б)окно трассировки параметров View-debug-windows-watches. 4)правильность проги.
Правильность программы – соответствие ожидаемых и получаемых результатов. Верификация – доказательства правильности программ с использованием математических методов.
Тестирование – проверяет наличие в программе ошибок.
Тест – совокупность входных и выходных данных, полученных до выполнения программы.
А) алгоритмическое или структурное тестирование (доступен код программы и алгоритм – принцип белого ящика); б) функциональное тестирование (входные данные делятся на допустимые и не допустимые; конечно условие – черного ящика);
в) тестирование производительности, нагрузочное (стрессовое), тестирование безопасности. Аварийное тестирование(некорректные данные)->проверка на аномалии,не д.б. зависания программы
г)сетевое тестирование.
Документирование программ: (структурированность, читатабельность), надежность(использование процедур,модулей), универсальность, гибкость (возможность легкой модификации), эффективность (получение результатов за min время при min ресурсах)