|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.12.2011, 10:36 | #1 |
Регистрация: 16.12.2011
Сообщений: 8
|
Работа с типизированными файлами ( Pascal / Delphi )
Здравствуйте! Помогите пожалуйста, кто может написать программы, в программировании я полный ноль в паскале рашьше понимала, а в делфи совсем запуталась...и в группе у нас никто не умеет писать...а зачет по информатике как-то надо получить
1)Дан файл f, компоненты которого являются действительными числами. Найти: Сумму компонент файла f. Записать эту сумму в конец файла. Отсортировать файл по возрастанию значений компонент. 2)Даны два текстовых файла f и g. Определить, совпадают ли компоненты файла f с компонентами файла g. Если нет, то получить номер первой строки и позицию первого символа в этой строке, в которых файлы различаются между собой. В случае, когда один из файлов имеет n компонент (n>0) и повторяет начало другого (более длинного файла), ответом должно быть число n+1. Заранее, спасибо! |
16.12.2011, 10:42 | #2 |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,762
|
Что такое "компоненты файла"? Первый раз такой термин слышу. Вас точно там программированию учат? о_0
|
16.12.2011, 10:58 | #3 |
Регистрация: 16.12.2011
Сообщений: 8
|
Вроде как...
ТЕКСТОВЫЕ ФАЙЛЫ - компоненты – строки переменной длины, доступ только последовательный. Описание: VAR <ИМЯ2>: TEXT; НЕТИПИЗИРОВАННЫЕ ФАЙЛЫ - компоненты – двоичные блоки фиксированной емкости, информация из которых не интерпретируется, возможен прямой доступ. Описание: VAR <ИМЯ3>: FILE; |
16.12.2011, 12:00 | #4 |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,762
|
Какому то Вас там неправильному программированию учат.
С текстовыми файлами удобнее всего работать через TStringList. Например по первому заданию: Код:
Последний раз редактировалось FaTaL; 16.12.2011 в 16:52. |
16.12.2011, 13:47 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
В нём работа с файлами осуществляется ИСКЛЮЧИТЕЛЬНО через файловые переменные. Т.е. всё, как она написала. Другой вопрос, что в Delphi добавлены компоненты, которые очень сильно облегчают работу с файлами. Но подобное решение преподавательно может банально НЕ ПРИНЯТЬ!... |
|
16.12.2011, 16:05 | #6 |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,762
|
Она пишет: "в паскале рашьше понимала, а в делфи совсем запуталась" значит всё таки изучают Delphi.
И где такое в паскале "компонент файла"? Много книг по паскалю прочитал, но нигде такого не встречал. Ладно что толку спорить? Надо девушке помогать |
16.12.2011, 18:10 | #7 |
Регистрация: 16.12.2011
Сообщений: 8
|
>>Какому то Вас там неправильному программированию учат.
С текстовыми файлами удобнее всего работать через TStringList. Например по первому заданию: Не работает, не знает TStringList. >>Но подобное решение преподавательно может банально НЕ ПРИНЯТЬ!... Нашему преподаватлю нужен только ответ, саму программу он не смотрит. К нашим заданиям было вложено, может введет в суть дела... ПРОЦЕДУРА СОЗДАНИЯ ТЕКСТОВОГО ФАЙЛА PROCEDURE CREATE(NAME:STRING); VAR F:TEXT; {файловая переменная} X:STRING; BEGIN ASSIGN (F,NAME); {файловая переменная связана с файлом с именем NAME} {$I-} REWRITE(F); {открыть файл на запись (перезапись)} {$I+} IF IORESULT=0 THEN {если файл открыт} BEGIN WRITELN('VVEDITE CHISLA (OSTANOVKA ‘’’’):'); READLN(X); WHILE X<>’’ DO {вводим строчки в цикле до пустой строки и записываем их в файл} BEGIN WRITELN (F,X); READLN(X); END; CLOSE(F); {закрыть файл} END; END; ПРОЦЕДУРА РАСПЕЧАТКИ СОДЕРЖИМОГО ТЕКСТОВОГО ФАЙЛА PROCEDURE PRINT(NAME:STRING); VAR F:TEXT; {файловая переменная} X:STRING; BEGIN ASSIGN (F,NAME); {файловая переменная связана с файлом с именем NAME} {$I-} RESET(F); {открыть файл на чтение} {$I+} IF IORESULT=0 THEN {если файл открыт} BEGIN WHILE NOT(EOF(F)) DO {пока не достигнут конец файла } BEGIN {читаем строчку из файла и выводим ее на консоль} READLN(F,X); WRITELN(X); END; CLOSE(F); {закрыть файл} END; END; ПРОЦЕДУРА УДАЛЕНИЯ ИЗ ФАЙЛА ВСЕХ ЗВЕЗДОЧЕК (РЕЗУЛЬТАТ ЗАПИСЫВАЕТСЯ В НОВЫЙ ФАЙЛ) PROCEDURE DEL(NAME,NAMENEW:STRING); VAR F,FNEW:TEXT; {файловые переменные} S:STRING;I:INTEGER; BEGIN ASSIGN (F,NAME); ASSIGN (FNEW,NAMENEW); {файловые переменные связаны с файлами на диске} {$I-} RESET(F); {открыть файл name на чтение} {$I+} IF IORESULT=0 THEN BEGIN {если файл открыт} {$I-} REWRITE(F); {открываем на запись файл namenew} {$I+} IF IORESULT=0 THEN BEGIN {если файл открыт} WHILE NOT(EOF(F)) DO BEGIN {пока не конец файла f} READLN(F,X); {читаем строку} I:= POS('*',S); {ищем первое вхождение ‘*’} WHILE I<>0 DO BEGIN {пока есть ‘*’ в строке} DELETE(S,I,1); {удаляем ‘*’ и ищем следующее вхождение} I:= POS('*',S); END; WRITELN(FNEW,S); {преобразованную строку пишем в новый файл} END; CLOSE(FNEW); {закрыть файл} END; CLOSE(F); {закрыть файл} END; END; ПРИМЕР ПРОГРАММЫ, ИСПОЛЬЗУЮЩЕЙ ПРИВЕДЕННЫЕ ВЫШЕ ПОДПРОГРАММЫ BEGIN CREATE('FILE1.TXT'); {создать файл} PRINT('FILE1.TXT'); {распечатать файл} DEL('FILE1.TXT‘, 'FILE2.TXT'); {преобразовать содержимое 1-го файла во 2-ой} PRINT('FILE2.TXT'); {распечатать измененный файл} READLN; END. |
16.12.2011, 18:50 | #8 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
По работе с файлами в стиле Pascal - см. http://www.gunsmoker.ru/2011/10/pascal.html
По топику - в чём вопрос-то? Если это "напишите мне программу", то сейчас придёт модератор и даст по башке за неумения читать правила раздела. Особенно обратить внимание на "СПЕЦИАЛЬНО ДЛЯ НОВИЧКОВ В ПРОГРАММИРОВАНИИ, СТУДЕНТОВ И УЧАЩИХСЯ!". Если по башке не хочется - нужно задать вопрос, на который можно ответить.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
16.12.2011, 19:39 | #9 |
Регистрация: 16.12.2011
Сообщений: 8
|
Извините! и вправду не туда написала...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Pascal. Проблема с типизированными файлами | Женька Good | Помощь студентам | 2 | 29.11.2011 22:13 |
Работа с типизированными файлами. | Darangel | Помощь студентам | 1 | 17.05.2009 19:19 |