IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Файлы, и работа сними
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 29

Репутация: -  0  +


Вот такая проблемка. sad.gif
Цитата(Задача 1)
Код
type myfile = file of integer;

Опишите процедуру double (f), удваивающие в файле f все четные числа.
У нас есть файл, проверяем то, что в нём написано на чётность, если какое-то число чётное, то надо его умножить на 2 и записать вместо умножаемого числа. Файл должен быть один, т.е. использовать ещё один файл нельзя. :-/
Цитата(Задача 2)
Задан текстовый файл 'a.txt'. Написать программу, которая утраивает значения слов, являющиеся четными числами.
Как её вообще делать? с чего начать?!?!!?!?!? ??? Имеется в виду, что не создание файла smile.gif
Всем заранее спасибо ;D
Ivs надеюсь на твою помощь и других знатоков Паскаля....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


По-моему реализация IVS'a не соответствует условию задачи (во-всяком случае первой): должен быть открыт только один файл. Вот мой вариант, а почему я его сделал, дык это потому что процедура открытия файла в пасе для чтения/записи одновременно, всегда работала криво (он использует FSB). И если все таки попробовать, то получается такая хня, а точнее он выдает ОШИБКУ №6 которая в принципе не может случится!!! :o :o
Кое-что на ассемблере, но иначе пришлось постоянно открывать/закрывать файл, что не прет...
Чтобы работало и для задачи №2, дык просто утроить переменную W...

А вони действительно было много :D

Const
FName = 'int.bin';
IntNumb = 10;
Var
F:File of Integer;
i,Handle:Word;
W:Integer;
M,K:LongInt;
S:String;
Procedure GenerateFile;
begin
Assign(F,FName);
ReWrite(F);
For i:=1 to IntNumb do
begin
W:=Random(50)+1;
Write(F,W);
end;
Close(F);
end;
Procedure WriteInt;Assembler;
asm
mov bx,Handle
mov cx,2
lea dx,W
mov ah,40h
int 21h
end;
Procedure MovePointer(Ad:LongInt);Assembler;
asm
mov ax,4200h
mov bx,Handle
mov dx,word ptr Ad
mov cx,word ptr Ad + 2
int 21h
end;
Procedure ReadInt;Assembler;
asm
mov ah,3Fh
mov bx,Handle
mov cx,2
lea dx,W
int 21h
end;
Function GetPointer:LongInt;Assembler;
asm
mov ax,4201h
xor dx,dx
mov cx,dx
mov bx,Handle
int 21h
end;
Begin
GenerateFile;
S:=FName+#0;
asm
mov ax,3D02h
lea dx,S
inc dx
int 21h
mov Handle,ax
end;
M:=0;
While M<IntNumb do
begin
ReadInt;
If not Odd(W) then
begin
W:=W*W;
K:=GetPointer;
MovePointer(K-2);
WriteInt;
end;
Inc(M);
end;
asm
mov ah,3Eh
mov bx,Handle
int 21h
end;
End.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.11.2021 9:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name