Суббота, 22.11.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 1
  • 1
Модератор форума: Seqular, Pavel  

2 задачи :подпрограммы и текстовый файл
streetДата: Понедельник, 07.01.2008, 11:38 | Сообщение # 1
Новичок
Группа: Пользователи
Сообщений: 4
Репутация: 0
Замечания: 0%
Статус: Offline
Задача №1
. С помощью текстового редактора создать файл, содержащий текст, длина ко¬торого не пре-вышает 500 символов (длина строки текста не должна превышать 70 символов). Имя файла должно иметь расширение DAT. Написать программу, которая:
- выводит текст на экран дисплея;
- выводит текст на экран дисплея еще раз, выкидывая из него заданное слово (заданное слово вводится с клавиатуры).
Задача №2
Создать типизированный файл, каждая запись которого содержит фамилию студента и его возраст. Необходимо обновить данные этого файла путем приращения возраста всех студентов на 1. Создание файла и обновление данных оформить в виде отдельных подпрограмм-процедур.

ЗАРАНЕЕ ВСЕМ ОГРОМНОЕ СПАСИБО.


С уважением , Игорь.
 
SeqularДата: Понедельник, 07.01.2008, 20:44 | Сообщение # 2
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
street, Задача 1:
Code
Program READER;
Uses crt;
Const filename = 'TEXT.DAT';
Var f: Text;
     s: String;
     ex: String;
Begin
ClrScr;
Assign(f, filename);
ReSet(f);
While Not (EoF(f)) do
       Begin
       Readln(f, s);
       Writeln(s);
       End;
Writeln('---Конец файла---',#13#10,'Нажмите любую клавишу');
ReadKey;
ReSet(f);
Write('Какое слово исключить из текста: '); Readln(ex);
Writeln(#13#10);
While Not (EoF(f)) do
       Begin
       Readln(f, s);
       While (Pos(ex, s) > 0) do
             Begin
             Delete(s, Pos(ex,s),Length(ex));
             End;
       Writeln(s);
       End;
Readkey;
Close(f);
End.

Файл текстовый тоже прилагаю. Внимание! Там кодировка OEM/DOS, так что можете не прочитать обычным блокнотом (если хотите блокнотом - ставьте шрифт Terminal)

Прикрепления: TEXT.dat (0.2 Kb)


Поддерживаю также проект сообщество молодых сисадминов
 
SeqularДата: Вторник, 08.01.2008, 00:27 | Сообщение # 3
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Это вот вроде вторая задача.. Основные функции реализованы. Можно конечно улучшить wink
Code
Program STUDIK;
Uses CRT;
Const filename = 'STUD.DAT';
Type student = record
                name: String;
                age: Integer;
                End;
Var f: File of student;
     i: Integer;
     a: student;
     c: Char;

Procedure AddStud;
Begin
ClrScr;
Assign(f, filename);
{$I-}
ReSet(f);
{$I+}
If (IOResult <> 0) then ReWrite(f)
                    else Seek(f, FileSize(f));

Write('Фамилия студента: '); Readln(a.name);
Write('Возраст студента: '); Readln(a.age);
Write(f, a);
Writeln('Студент добавлен');
Readkey;
Close(f);
End;

Procedure Print;
Begin
ClrScr;
Assign(f, filename);
{$I-}
ReSet(f);
{$I+}
If (IOResult <> 0) then Writeln('Файл пуст')
                    else While not Eof(f) do
                    Begin
                    Read(f, a);
                    Writeln(a.name,' -- ',a.age);
                    End;
Readkey;
Close(f);
End;

Procedure IncAge;
Var n: LongInt;
Begin
n := 0;
ClrScr;
Assign(f, filename);
{$I-}
ReSet(f);
{$I+}
If (IOResult <> 0) then Writeln('Файл пуст')
                    else While not Eof(f) do
                    Begin
                    n := FilePos(f);
                    Read(f, a);
                    a.age := a.age + 1;
                    Seek(f, n);
                    Write(f, a);
                    End;
Writeln('Возраст увеличен');
ReadKey;
Close(f);
End;

Begin
Repeat
ClrScr;
Writeln('[1] Добавить студента');
Writeln('[2] Вывести список всех студентов');
Writeln('[3] Увеличить возраст всех');
Writeln('------------------------------------');
Writeln('[ESC] Выход',#13#10);
Write('Ваш выбор: ');
c := ReadKey;
Case c of
'1': AddStud;
'2': Print;
'3': IncAge;
End;
Until c = #27;
End.


Поддерживаю также проект сообщество молодых сисадминов
 
streetДата: Вторник, 08.01.2008, 02:30 | Сообщение # 4
Новичок
Группа: Пользователи
Сообщений: 4
Репутация: 0
Замечания: 0%
Статус: Offline
Мужина,спасибо тебе большое!!!Как мне отблагодарить тебя?

С уважением , Игорь.
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;