Genrih
Удален
|
Спасибо. Программка работает. лабу сдал. ураааа. большое спасибо
StudenTNGU, могу скинуть номер счета форума, куда скинуть денег =) Вот блин весело, пришел -- тебе накатали -- ушел. КМА и все, вы чего народ-то портите? учите их лентяйничать ?=) Замотаетесь-то, а народ и не заметит и фамилии не спросит ...
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 5 дек. 2006 23:33 | IP
|
|
KMA
Долгожитель
|
Простите Genrih, не буду больше так делать. Kron, без обид, я прекрасно понимаю, что все же строгость это правильно, нечего мне расслабляться...
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 5 дек. 2006 23:35 | IP
|
|
Genrih
Удален
|
Та не, я же в шутку все, KMA. Нe принимайте близко к сердцу Ето личное дело каждого. Никого судить я не в праве. Удачи! [/offtopic]
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 5 дек. 2006 23:48 | IP
|
|
Guest
Новичок
|
доброго времени суток! не могу понять, что от меня требуется по условию задачи:"в файле записаны вещественные числа с плавающей точкой. Преобразовать файл, заменив каждое число, округленным до десятых значением, записанным в форме с фиксированной точкой. " понятно, нужно их округлить. не понятно - как создать файл, содержащий нужные числа. это типизованный файл типа real.. а как в него записать числа с ПЛАВАЮЩЕЙ точкой? как их ввод с клавиатуры отличается от ввода чисел с точкой фиксированной?могу я их такие вообще с клавиатуры вводить? или так: открытие для записи,ввод - с фиксированной, затем преобразование в в форму с плавающей, закрытие файла для записи? я с числами с плавающей точкой в программах не сталкивалась еще ни разу, а тут мне и файлы, и точка.. первый курс, хочу всё знать, а странный препод настаивает на самообучении.. hoka
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 6 дек. 2006 3:53 | IP
|
|
KMA
Долгожитель
|
Угу, короче числа с плавающией точкой это числа типа 2,2345242256234-Е01 Числа с фиксированной точкой это, например 2346,2633125 Вроде понятно. Теперь по другому можно сформулировать задачу, из типизированного файла (тип real ), создать текстовый файл с округленными числами. Например, набери в Паскале следующий код, Var a: real; Begin writeLn ('Enter count ->'); readLn (a); writeLn (a); {с плавающие точкой} writeLn (а:8:3); {с фиксированной точкой} End; Суть такова, считал из файла в переменную buf и записал ее в другой файл, округленной. Теперь более понятно? Короче, ты давай примерно свои наработки кода показывай, а дальше, если что, я тебе помогу.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 6 дек. 2006 21:41 | IP
|
|
hoka
Удален
|
ну,наработками это назвать сложно(( единственное, на что меня хватило, так это создать файл типа real writeln('skolko 4isel v faile?'); readln(n); assign(f,'f.dat'); rewrite(f); for i:=1 to n do begin write('4islo='); read(a); writeln; write(f,a); end; дальше, я так понимаю, нужно считать число, округлить его, потом преобразовать его в переменную строкового типа, которую потом затолкать в текстовый файл. а что нужно сделать, чтобы округлить? я хотела разбить число на целую и дробную часть, дробную преобразовать и потом прибавить к целой. а как преобразовать дробную, не соображу. ну, допустим получили мы округлённое число. дальше-преобразуем его в сторку. снова вопрос - как...
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 6 дек. 2006 23:38 | IP
|
|
KMA
Долгожитель
|
hoka, на надо все так услажнять... Ты главное по порядку все делай. Во первых, меня не волнует сколько чисел в файле, я тебе по размеру файла это могу сказать (функция fileSize (f) ). Это не столь важно... В общем смотри: Var inFile: real; outFile: text; buf: real; Begin {тут связываешь файлы и открываешь inFile для чтения, outFile для записи} while (not EoF (inFile)) do {работаем с файлом пока в нем не кончаться числа} begin read (inFile, buf); {записываем из файла число в переменную buf} {работаем, т. е. округляем число buf до нужного} writeLn (outFile, buf:7:3); {просто пишем значение buf в текстовый файл, ведь тип число и текст -- совместимы, не надо приводить к тексту чило} end; {закрываем файлы и радуемся окончанию программы} End; Так, вот примерный план работы, с него и начинай =) Тебе осталось практически написать округление числа... Как ты это будешь делать, уже твой собственный выбор, факт в том, что у тебя в переменно buf должно быть округленное число (можешь и другую переменную использовать, но тогда замени writeLn (outFile, buf:7:3); вместо buf подставь имя той переменной, которую ты округлил... )
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 6 дек. 2006 23:52 | IP
|
|
hoka
Удален
|
про количество чисел - я так мудрю, потому что мне filesize нельзя использовать. всё вручную нужно, из функций только минимальный набор: открыть-закрыть для записи-чтения, eof, eoln.если нельзя filesize, тогда имеет смысл спрашивать, сколько туда чисел записывать? как иначе узнать, что пора прекращать записывать числа? аа, во оно как.. я думала, что одновреммено можно только с одним файлом работать. т.е открыть, сделать,закрыть. а если вместе можно, то всё просто получается))))) спасибо, распутал меня)
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 7 дек. 2006 0:16 | IP
|
|
KMA
Долгожитель
|
Можно работать хоть с 10 файлами одновременно... Это не суть важно, ты же работаешь не с одной переменно =) Аналогично и с файлами, только это более сложный тип переменных. Тут fileSize даже не надо использовать (это я для справки привел), достаточно eof (f). Вот. Еще какие вопросы будут пиши, только обязательно с исходным кодом и хоть какими-то предложениями или КОНКРЕТНЫМИ ВОПРОСАМИ.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 7 дек. 2006 0:20 | IP
|
|
Guest
Новичок
|
Написать программу ввода в память текста, разбитого на страницы (признак конца страници - пустая строка) и организованного в виде списка, с возможностью чтения произвольной страницы по её номеру.
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 7 дек. 2006 20:07 | IP
|
|
|