русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Задачи для самостоятельного решения


Дата добавления: 2014-11-28; просмотров: 563; Нарушение авторских прав


1. Текстовый файл преобразовать в файл целого типа следующим образом: гласные буквы заменить на число 0, согласные буквы на число 1, а все остальные символы – на число 2. Подсчитать количество согласных букв. Если в текстовом файле согласных не обнаружено, выдайте на экран соответствующее сообщение. В программе используйте способы обработки нетипизированного файла и подпрограммы.

2. Текстовый файл преобразовать в файл символьного типа, игнорируя символы, не являющиеся буквой. Если в текстовом файле букв не обнаружено, выдайте на экран соответствующее сообщение. В программе используйте способы обработки нетипизированного файла и подпрограммы.

3 Текстовый файл преобразовать в файл строкового типа, игнорируя пустые строки. В каждой строке файла, являющимся результатом выполнения программы, должно быть одно предложение. Если в текстовом файле предложений не обнаружено, выдайте на экран соответствующее сообщение. В программе используйте способы обработки нетипизированного файла и подпрограммы.

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

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

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



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

8. Создайте текстовый файл, каждая строка которого содержала бы фамилию, имя, отчество сотрудника некоторого предприятия и его оклад. Преобразуйте этот текстовый файл в файл комбинированного типа. Найдите в полученном файле сотрудника с самым высоким окладом. В программе используйте способы обработки нетипизированного файла и подпрограммы.

9. Создайте текстовый файл, каждая строка которого содержала бы наименование товара некоторого предприятия и его цену. Преобразуйте этот текстовый файл в файл комбинированного типа. Найдите в полученном файле самый дорогой и самый дешевый товар. В программе используйте способы обработки нетипизированного файла и подпрограммы.

10. Познакомившись с содержанием предыдущих задач придумайте свою интересную задачу и решите ее.

Занятие 5. Примеры решения творческих задач

Рассмотрите решение творческих заданий учащихся. Наберите программы на компьютере и просмотрите их действие. Подумайте, как ребятам удалось придумать и выполнить такие работы. Эти программы помогут Вам определиться с выбором своей творческой работы.

Задача № 1. С помощью нетипизированного файла проанализировать файлы с расширением .mp3 в заданном пользователем каталоге и создать текстовый файл, содержащий следующую информацию: название песни, исполнитель, имя файла.

Program SedihGetTag;

{$I-}

Uses

Crt;

Var

f : file;

c : char;

S : string;

i : LongInt;

DirInfo : seachrec;

Txt : text;

Procedure Extract;

Begin

assign(f, DirInfo.name);

reset(f, 1); {размер буфера записи равен 1 байту}

l := FileSize(f); {переменной l присваиваем размер файла в байтах}

Seek(f, l-125); {ставим указатель, на 125 символов отступив от конца файла}

{вычислил сам, проанализировав файл данного типа}

while not Eof(f) do

Begin

blockread(f, c, 1); {читаем посимвольно}

S := S + c; {формируем строковую переменную, содержащую нужный тэг}

end;

close(f);

writeln(Txt, copy(S, 1, 30)+'-'+copy(S, 31, 30)+'-'+DirInfo.Name);

{записываем выделенную информацию в файл)}

End;

Begin

ClrScr;

assing(txt,'list.txt');

rewrite(txt);

FindFirst('*.mp3', Arhive, DirInfo);

while DosError=0 do

begin

S := '';

Extract;

FindNext(DirInfo);

end;

close(Txt);

End.

Задача № 2. С помощью нетипизированного файла проанализировать файлы-архивы (архиватор WinRar) и вывести на экран имена заархивированных файлов.

Program LipovcevMaksim;

Uses

Crt;

Var

i, pos : integer;

f : file;

FileName, Ima : string;

s : char;

Procedure Name(Var s : char); Forward;

Procedure Poisk(Var s : char);

Begin

case Ord(s) of

20 : begin

blockread(f, s, 1);

case Ord(s) of

20 : Poisk(s);

48..57 : begin

blockread(f, f, S, 1);

case Ord(S) of

20 : Poisk(S);

1..19 : Name(S);

21..32 : Name(S);

end;

end;

end;

end;

end;

End;

Procedure (Name(Var S : char);

Var

k : integer;

Begin

k:=0;

for i := 1 to 5 do

blockread(f, S, 1);

while (S<>'.') and (k<9) do

begin

blockread(f, S, 1);

k := k+1;

ima := Ima+S;

if S='\'

then

k := 0;

end;

if Pos('.', Ima)<>0

then

begin

for i := 1 to 3 do

begin

blockread(f, S, 1);

Ima := Ima+S;

end;

writeln(Ima);

end;

Ima := '';

End;

Begin

ClrScr;

writeln('Введите полное имя архивного файла RAR');

write('->');

readln(FileName);

reset(f, 1);

writeln('Имена заархивированных файлов:');

while not EOF(f) do

begin

blockread(f, S, 1);

Poisk(S);

end;

close(f);

readKey;

End.

Задача № 3. С помощью нетипизированного файла преобразовать файл c расширением .BMP следующим образом:

разделить рисунок на две части по горизонтали, верхнюю часть поместить на место нижней, разделить её на две части по вертикали и поменять их местами.

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

16 цветов - 118 байт, 256 цветов - 1086 байт, 24 бита - 55 байт. Это колисемтво байт влияет на значение переменное Кol в программе.

Program BaranovA;

Uses

Crt;

Const

n=1234; {установка размера буфера}

Kol=118;

Var

F1, F2 : file;

Name1, Name2 : string;

Buf : Array [1..n] of byte;

AllSize, PicSize, HalfSize : LongInt;

i : integer;

Begin

write('Имя файла >');

readln(Name1);

Name2 := Name1;

if Pos('.', Name2) <> 0

then

begin

Delete(Name2, Pos('.', Name2), Lenth(Name2)-Pos('.', Name2)+1);

Name2 := Name2+'.tmp';

assign(F1, Name1);

reset(F1, 1);

assign(F2, Name2);

rewrite(F2, 1);

AllSize := FileSize(F1); {размер всего файла}

PicSize := AllSize-Kol; {размер всего файла без описания}

HalfSize := PicSize div 2; {половина файла}

blockread(F1, Buf, Kol);

blockwrite(F2, Buf, Kol);

seek(F1, Kol+HalfSize-1);

for i := 1 to HalfSize div n do

begin

blockread(F1, Buf, n); {считываем и записываем из середины файла}

blockwrite(F2, Buf, n);

End;

blockread(F1, Buf, HalfSize mod n); {переписываем оставшиеся байты из не полностью заполненного буфера}

blockwrite(F2, Buf, HalfSize mod n);

Seek(F1, Kol-1);

blockread(F1, Buf, HalfSize mod n);

blockwrite(F2, Buf, HalfSize mod n);

close(F1);

close(F2);

end;

End.

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

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

Проверьте свои знания по теме, ответив на следующие вопросы:

1. Дайте определение нетипизированному файлу.

2. В чем Вы видите преимущества и недостатки работы с нетипизированными файлами по сравнению с типизированными и текстовыви файлами?

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

4. Какой вид файлов из рассмотренных выше Вам понравился больше и почему?

5. Объясните назначение процедур Аssign, Сlosе, Eof и их параметров.

6. В чем особенность применения процедуры rewrite и какой дополнительный параметр при работе с нетипизированными файлами она имеет?

7. В чем особенность применения процедуры reset и какой дополнительный параметр при работе с нетипизированными файлами она имеет?

8. Объясните назначение процедур Seek, FileSize, FilePos и их параметров.

9. Объясните назначение процедур rename, Truncate, Еrase и их параметров.

10. Расскажите как Вы работали над творческим заданием.



<== предыдущая лекция | следующая лекция ==>
Занятие 4. Использование текстовых файлов в качестве нетипизированных. | Для любознательных. Дополнительные процедуры и функции работы с файлами


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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