Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Текст программы к задаче 13.1


ProgramEx_12_1;

Uses Crt;

Label A;

Var f2: file of integer;

x: integer; {компонента}

i: integer; {счетчик цикла}

S: integer; {сумма}

Max: integer; {максимум}

k: integer; {номер максимума}

Begin

ClrScr;

Randomize;

Assign(f2, ‘g:\f2.dat’);

{Запись чисел в файл}

Rewrite(f2);

Writeln(‘Исходный файл:’);

Writeln;

For i:=0 to 15 do begin

x:=random(100)-50;

Write(f2, x);

Write(x:3);

End;

{Подсчет суммы нечетных компонент}

Reset(f2);

Fori:=0to15 do begin

Read(f2, x);

If x mod 2<>0 then

S:=S+x;

End;

Reset(f2);

Read(f2, x);

Max:=x; {Примем первую компоненту за Max}

Fori:=1 to15 do begin


Read(f2, x);

If x>Max then begin

Max:=x; {Поиск Max в файле}

k:=i

End;

Seek(f2, k); {Запись суммы вместо Max в файле}

Write(f2, S); {Вывод результатов}

Writeln(‘Измененный файл:’);

Writeln;

Reset(f2);

While not Eof(f2) do begin

Read(f2, x);

Write(x:3);

End;

Close;

Readln;

End.



Задача 13.2

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

Текст программы к задаче 13.2


ProgramEx_12_2;

Uses Crt;

Label A;

Var

f1: file of integer;

x: integer; {компонента}

Otr1, Otr2: integer; {отрицательные}

k1, k2: integer; {номера отриц.}

i: integer; {счетчик цикла}

Begin

ClrScr;

Randomize;

Assign(f1, ‘g:\f1.dat’);

 

{Запись чисел в файл}

Rewrite(f1);

Writeln(‘Исходный файл:’);

Writeln;

For i:=0 to 15 do begin

x:=random(100)-50;

Write(f1, x);

Write(x:3);

End;

{Поиск первого отрицательного}

Reset(f1);

Fori:=0to15 do begin

Read(f1, x);

If x<0 then begin

Otr1:=x;

k1:=i;

Goto A;

{Как только нашли, выходим из цикла}

End;

End;

{Поиск последнего отрицательного}

A: Reset(f1);

Fori:=0to15 do begin

Read(f1, x);

If x<0 then begin

Otr2:=x;

k2:=i;

End;


End;


{Обмен в файле значений местами }

Seek(f1, k1);

Write(f1, Otr2);

Seek(f1, k2);

Write(f1, Otr1);

{Подсчет суммы ком. между k1 и k2}

i:=k1+1;

Repeat

Seek(f1, i);

Read(f1,x);

S:=S+x;

i:=i+1;

Until i<k2;

{Вывод результатов}

Writeln(‘Измененный файл:’);

Writeln;

Reset(f1);

While not Eof(f1) do begin

Read(f1, x);

Write(x:3);

End;

Close(f1);

Readln;

End.



Схема программы к задаче 13.2

 


<== предыдущая страница | следующая страница ==>
Лабораторная работа № 13 | ВВЕДЕНИЕ. Данная работа является логическим продолжением методических указаний «Проектирование реляционных баз данных» [1] и представляет собой введение в реляционную

Дата добавления: 2015-06-30; просмотров: 218; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.004 сек.