Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Процедуры и функции общие для всех типов файлов. Вычисления значений формул

Файлы

Быстрая сортировка

Вычисления значений формул

Вычисления чисел Фибоначчи

Вычислить N!

Function fact(n:byte):longint;

Begin

If n>0 then fact:=n*fact(n-1)

Else fact:=1;

End;

Begin

writeln(fact(3));

End;

 

Function fib(n:byte):longint;

Begin

If n=0 then fib=0;

Else if n=1 then fib:=1

Else fib:=fib(n-1)+fib(n-2);

End;

Begin

Writeln(fib(3));

End.

<Формула>=<Цифра> |(<Формула> <Операция> <Формула>)

<Цифра>=0..9

<Операция>= +,-,*

Function f:longint;

Var c,op:char; left,right:integer;

Begin

Read(c);

If (c>=’0’) and (c<=’9’)

Then f:=ord(c) – ord(‘0’)

Else

Begin

Left:=f: read(op); righr:=f;

Case op of

‘+’:f:=left+right’

‘-‘:f:=left-right;

‘*’:f:left*right;

End;

Read(c);

End;

End;

Begin

Writeln(f);

Readln;

End;

 

Написать функцию для вычисления значения формулы преобразовав f(x) так, что бы она вычисляла результат деления и работала с многоразрядными числами

Идея быстрой сортировки:

1) Выбрать элемент, который назовем опорным

2) Разделить массив на 2 части. Левую (в которой содержатся элементы не больше опорного) и Правую(В которой содержатся элементы не меньшими опорного)

3) Повторить действия для левой и правой части

 

Const n =____;

Type TVector=array[1..n] of integer;

Procedure quicksort(var x:tvector; l,r:word);

Vat y,buf:integer;

I,j:integer;

Begin

Y:=x[(l+r) div 2];

I:=l;

j:=r;

while i<=j do begin

while x[i]<y do inc(i);

while y[j]>y do dec(j);

if i<=j then

buf:=x[i]; x[i]:=x[j]; x[j]:=buf;

inc(i); dec(j);

end;

end;

if i<j then quickSort(I,J);

else auicksort(I,r);

end;

begin

input(x);

quicksort(x,1,n);

output;

end.

 

Д.З. Посчитать время работы сортировки «qs» для 100к элементов, 200к, 400к.

T:=gettickcount;

T:=gettickcount-t;

{замер времени исполнения функции}

 

1) Физические (поименованная область на диске)

2) Логические (переменная файлового типа)

Три типа файлов:

1) Типизированные файлы

File – of – базовый тип(любой кроме файловов)

Type TSstudent=record

……

End;

Myfile=file of TStudent

Var

F1:file of byte;

F2:file of integer;

F3:file of array[1..100] of byte;

F4:file of char;

F5:file of myfile;

{Все компоненты нумеруются с нуля}

2) Текстовые файлы

Text

Var t:text

3) Нетипизированные файлы

File

Var t:file

 

Два типа доступа к файлам:

1) Последовательный (sequential access file) (в текстовых файлах используется только последловательный)

2) Прямой (random access file) (В бинарный и типизированных)

 

Размер файловой переменной

Var t:file of

Sizeof(?) - 128

Var t:text

Sizeof(?) - 256

Var t:file

Sizeof(f)-128

 

1) Procedure assignfile (var f; fn:string) (связывает файловую переменную f с физическим файлом на диске)

Например:

a) assignFile(f,’c:\temp\test.pas’)

b) assignFile(f,’ test.pas’)

c) readln(filename); assignFile(f,filename);

d) “con” – консоль (путь файла)

e) ‘prn’ – Принтер

f) ‘lpt1(3)’

g) ‘aux’ – мультимедийные устройства

h) ‘nul’ –

i) assignFile(f,’ con’)

2) procedure reset(var f) (Открывает файлы для чтения а типизированные и бинарные еще и для записи. После открытия указатель устанавливается на начало файла)

3) procedure rewrite(var f) (Открывает файл для записи. Если файла не существует, то он создастся. Если файл существует – то содержимое файла уничтожается, а указатель устанавливается на начало файла)

4) procedure closefile (var f) (Закрывает открытый файл)

5) function EOF(var f):Boolean (Возвращает значение тру если достигнут признак конца файла)

assignFile(f,’filename’);

reset(f);

writeln(eof(f));

assignFile(f,’filename’);

reset(f);

while not eof(f) do begin

считали оброботали вся фигня лалала что за мачмала под звуки репа у моего окна

end;

closeile(f);

6) Function IOresult:word (После вызова значения «Сбрасывается» в 0. При ошибке после обращения к этой функции выключаются операции ввода вывода.)

 

<== предыдущая лекция | следующая лекция ==>
Рекурсия | 
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 216; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.021 сек.