Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/106: Рейтинг темы: голосов - 106, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 7

Как создать текстовый файл?

05.12.2009, 23:03. Показов 20477. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
скажите, пож-та, а как должен выглядеть этот самый текстовый файл в Паскале?
мне нужно указать в нем массив из n символов, а каким образом их туда записать я не знаю.
Элементы массива указывать ч/з пробел, запятую, Ентер...?
Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.12.2009, 23:03
Ответы с готовыми решениями:

Дано число k и текстовый файл, содержащий более k строк. Создать новый текстовый файл, содержащий k последних строк
И снова всем привет) Помогите пожалуйста со следующим заданием: Дано число k (<10) и текстовый файл, содержащий более k строк....

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

Создать текстовый файл f и g. Переписать их в файл h чередуя строки
17. Создать текстовый файл f и g. Переписать их в файл h чередуя строки.

13
3 / 3 / 1
Регистрация: 05.12.2009
Сообщений: 8
06.12.2009, 00:00
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure Text;
var f:text;
     n,i:integer;
     a:array[1..200] of char;
begin
writeln('Введите кол-во элементов -> ');
read(n);
assign(f,'.\input.txt');
reset(f);
repeat 
    read(f,a[i]);
until i=n or eof(f);
close(f);
end;
впринципе если понял верно, то эта программа читает из файла input.txt (лежащий в той же папке что и программа) элементы типа char.
1
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 7
06.12.2009, 00:30  [ТС]
Спасибо!
Но я не могу понять как записать элементы массива в текстовый файл input.txt
Что конкретно я должна написать в файле input.txt
в книжке написано, "содержимое текстового файла рассматривается как последовательность строк переменной длины, разделённых специальной комбинацией, называемой "конец строки". Как правило, эта комбинация строится из управляющего кода "перевода каретки" (CR, Carriage Return, символ #13), за которым, возможно, следует управляющий код "перевод строки" (LF, Line Feed, символ #10). Признаком конца строки считается нажатие клавиши ввода.
Таким образом, текстовый файл структурно несколько похож на "файл из байтов" (file of byte) с той разницей, что в нем, помимо содержательной информации, встречаются символы специального назначения.
Его можно схематически представить в следующем виде:
. . . . . . . . . . . . . .#13#10
. . . . . . . . . . . . . . . . . . . .#13#10
. . . . . . . . . . . . . . . . .#13#10
. . . . . . . . . . . .#13#10
. . . . . . . . . . . . . . . . . . . . . . . . . .#13#10
#26
Описанная структура текстовых файлов хорошо согласуется с интуитивно понимаемым построением текстовой информации и полностью совпадает со стандартной структурой текстов, принятой в MS-DOS, используемой во многих текстовых редакторах, понимаемой компиляторами с языков программирования и т.д. "

Добавлено через 5 минут
Мои действия:
File-New-input.txt
я так поняла, что я в этом файле тупо пишу числа (элементы массива) и программа должна их считывать посредством assign(f,'.\input.txt');reset(f);
так или нет.
Если так до каким "макаром" нужно вводить эти числа, или они д.оказаться в текстовом файле посредством др.программы, процедуры или т.п.

Добавлено через 2 минуты
В моей методичке про процедуры дальше рассказывают, значит здесь, наверно как-то без них надо.
0
57 / 57 / 26
Регистрация: 05.12.2009
Сообщений: 106
06.12.2009, 00:30
Цитата Сообщение от 2Heels Посмотреть сообщение
я не могу понять как записать элементы массива в текстовый файл input.txt
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses crt;
const n=100;
var
mas: array [1..n] of integer;
TFile: Text;
i: integer;
 
begin
assign(TFile,'Input.txt');
rewrite(TFile);
write(TFile,'[');
for i:=1 to n do
 begin
 mas[i]:=random(100);
 write(TFile,mas[i],' ');
 end;
 write(TFile,']');
close(TFile);
end.
Вот так записывать в текстовый файл массив
0
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 7
06.12.2009, 00:57  [ТС]
Спасибо, и все же мне не ясно я могу создать файл (File-New-input.txt)
"забить" руками (тыкая в клавиатуру пальцами) в него (файл input.txt) числа или нет?

Добавлено через 10 минут
В методичке приведен пример, в котором нет никаких дополнительных программ по созданию этого ---файла (текстового).
Pascal
1
2
3
4
5
6
7
8
9
10
var finp,fout:text;
begin
assign(finp,'lab5.inp');reset(finp);
assign(fout,'lab5.out');rewrite(fout);
readln(finp,n)
for i:=1 to n do read(finp,c[i]);
writeln(fout,'kol-vo elementov v massive C=',n:3);
writeln(fout,'Ishodny massiv C');
for i:=1 to n do write(fout,c[i]:7:2);
writeln(fout);
e.t.c.
0
57 / 57 / 26
Регистрация: 05.12.2009
Сообщений: 106
06.12.2009, 01:03
2Heels, Можешь. Создаешь блокнотом или другим редактором текстовый файл, набираешь его, сохраняешь. В программе связываешь его с переменной /Assign(<переменная>,<имя файла( можно путь указать).txt>/, потом инициализируешь его /reset(<переменная>)/ и можешь начинать работать с данными в файле.
З.Ы. При использовании функции reset в файл ничего нельзя записывать, только считывать.
1
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 7
06.12.2009, 01:30  [ТС]
Ладно попробуем по-другому: дан массив С(n) n<=10 вывести на печать номера тех элементов, которые меньше числа х=13.Заменить эти элементы числом х. Вывети на печать исходный и переформированный массивы. Что-то у меня не работает. Что не так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
begin
assign(finp,'lab5.inp');reset(finp);
assign(fout,'lab5.out');rewrite(fout);
readln(finp,n)
for i:=1 to n do read(finp,c[i]);
writeln(fout,'kol-vo elementov v massive C=',n:3);
writeln(fout,'Ishodny massiv C');
for i:=1 to n do write(fout,c[i]:7:2);
writeln(fout);   - не могу понять а это тут зачем? В методичке так.
for i:=1 to n do 
begin
if c[i]<13 then begin writeln(fout,’N elementa  massiva  C<13 ',i:3); a[i]:=13;end
                else a[i]:=c[i];
end;
writeln(fout,'Preobrazovannyi  massiv A');
for i:=1 to n do write(fout,a[i]:7:2);
writeln(fout); - не могу понять а это тут зачем? В методичке так.
writeln(fout); 
close(fout);
close(finp);
end.
0
 Аватар для unlucky
37 / 37 / 28
Регистрация: 23.11.2009
Сообщений: 103
06.12.2009, 03:20
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{Для работы с текстовыми файлами нужно
 их описать в var делается это следующим образом}
var 
f:text;{имя переменной можно брать любое конечно же}
{Для работы с файлом в программе после begina главной
 программы нужно привзать pascal к нужному файлу
 с помощью assign это делается так :}
 assign(f,'имя файла'){где f = файловая переменная, вместо имени
 файла лучше всего использовать полный путь файла}
{При дальнейшей работе с данными из файла например
 считывании запись в файл и т.д. нужно будет указывать
 из какого файла или куда брать или записывать переменную}
{Например}
read(f,n)
write(f,n)
{Остальные функции можно найти в интернете}
1
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 7
06.12.2009, 10:31  [ТС]
Alex_R, мне нужно указать в текстовом файле массив из n символов, а каким образом их туда записать я не знаю.
числа указывать ч/з пробел, запятую, Ентер...? программа считывает почему-то только одно число первое число во втором ряду (и прога считает что массив из одного элемента), другие числа не видит. Как нужно записать эти числа в текстовом файле, чтоб программа "видела" их все? в строчку, ч/з пробел, запятую, ентер... как? спасибо!
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
06.12.2009, 11:04
Создаем файл в блокноте.
В первой строке пишем размер массива(n).
В следующей строке пишем элементы массива через пробел. Если числа вещественные, то разделитель целой и дробной частей точка. Будет типа так
Code
1
2
15
5 6 8 9 2 14 12 45 25 45 78 45 51 5 6
В программе после открытия файла пишем
Pascal
1
2
3
read(f,n);
for i:=1 to n do
read(f,a[i]);
Все.
1
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 7
06.12.2009, 15:36  [ТС]
Puporev, СПАСИБО-ПРЕСПАСИБО-ПРЕСПАСИБО!!! РАБОТАЕТ!

Добавлено через 1 минуту
ВСЕМ-ВСЕМ спаасибо, вопрос закрыт!
0
 Аватар для ProGramila
0 / 0 / 0
Регистрация: 06.10.2016
Сообщений: 93
03.02.2020, 17:32
А зачем писать в конце close(TFile)?Понятно что это закрытие файла,но я посмотрел и после выполнения программы созданный файл остаётся закрытым то есть нет открытого окна блокнота.Скорее всего файл всё рано открыт нашей программой.Я прав?
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
03.02.2020, 17:47
ProGramila, ты зачем поднял тему десятилетней давности?

Цитата Сообщение от ProGramila Посмотреть сообщение
А зачем писать в конце close(TFile)?Понятно что это закрытие файла
1) это правила хорошего тона. Раз ты открыл файл - будь добр, закрой его, освободи ресурс.
2) если файл открывается на запись, то его закрытие позволяет сбросить дисковый кеш (правда, у ОС ещё есть своё мнение на этот счёт), но попытаться то стоит
не закрытие файла потенциально (и практически было опасно в DOS), когда записанных данных могло в самом файле не оказаться. Плавали - знаем!!


Цитата Сообщение от ProGramila Посмотреть сообщение
но я посмотрел и после выполнения программы созданный файл остаётся закрытым то есть нет открытого окна блокнота
а при чём здесь блокнот? он имеет какое-то отношение к программе?
1
 Аватар для ProGramila
0 / 0 / 0
Регистрация: 06.10.2016
Сообщений: 93
03.02.2020, 18:55
Цитата Сообщение от mr-Crocodile Посмотреть сообщение
ProGramila, ты зачем поднял тему десятилетней давности?
Потому что не хотел открывать новую тему с похожим названием.Насчёт блокнота понял,стало смешно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.02.2020, 18:55
Помогаю со студенческими работами здесь

Создать файл (текстовый) средствами редактора. Читать этот файл построчно и упорядочить все цифры по убыванию
Подредактируйте пожалуйста код. Вот задачка: &quot;Создать файл (текстовый) средствами редактора. Читать этот файл построчно и...

Дан текстовый файл. Создать символьный файл
Дан текстовый файл. Создать символьный файл, содержащий все символы, встретившиеся в тексте, включая пробел и знаки препинания (без...

Создать текстовый файл с исходными данными любой размерности. Из текстового файла переписать числа в массив, типизированный файл. Сделать контрольный
Создать текстовый файл с исходными данными любой размерности. Из текстового файла переписать числа в массив, типизированный файл. Сделать...

создать текстовый файл
создать текстовый файл... создать массив из 10 строк и заполнить его, найти самую длиную строку в массиве и записать эту стоку в файл

Создать текстовый файл F
Создать текстовый файл F. Переписать из файла F в файл G все слова, состоящие меньше, чем из трех букв.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru