Убедительная просьба ко всем, кто выкладывает исходники: 1. Обязательно пользуйтесь тэгом code (иначе очень трудно читать)
2. Старайтесь делать отступы
Если вы хотите чтобы вам помогли в написании программы, внятно излагайте задание!
Прежде чем задать вопрос, воспользуйтесь учебником
Возможно, что нужная вам программа уже написана, поэтому советую просмотреть список здесь и здесь Отредактировано куратором: Lord_of_Darkness. Дата: 07.07.2006 19:36
1)Создать файл с целыми числами .Связь с данным файлом Открываем цикл while,не заканчивая n
e of: do
While not e of (F1) DO Begin Read(F1,n); <считываем очередное число в файле> Writeln(n,’’); <выводим это число на экран> end. Close F1 2)Создать файл целых чисел с именем числа .dat,причём не одно из чисел не равно нулю. Program Var file of integer; n : integer; begin assign (F,’a:chislo,dat’);
1)-это программа хаотичного движения точки.(небось только сильнее усложнил)
2)вот фиг знает ,щас подумаю,почитаю.
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
GreatOne
Цитата:
Я же написал условия.
Вот написал-то ты и непонятно. Если есть метода или чего еще к этим заданиям - лучше выложи. Как я понял требуется: 1) Создать файл целых чисел (file of integer), заполнить его (как? в случайном порядке? сколько чисел генерить?), считать числа из этого файла и вывести на экран. Нафига??? Х.З. дурацкое задание, смысла в нем никакого не вижу, ну да ладно. 2) Тут все гораздо хуже... Как я понял нужно нагенерить кучу файлов для каждого числа??? Причем в имени файла будет присутствовать соответствующее число. И числа откуда брать?? Короче кошмар просто, нифига непонятно. Если хочешь, чтобы я тебе помог (а сейчас я при всем желании не могу этого сделать т.к. просто не врубаюсь чего делать надо) то постарайся написать почетче(читай яснее)
ЗЫ
Цитата:
это программа хаотичного движения точки.
ну и причем сдесь файлы?
ЗЫ ЗЫ файл ’a:chislo,dat’ никогда не сможет существовать ни в одной версии ни DOS ни Windows, т.к. в его имени допущены две наигрубейшие ошибки догадайся с трех раз какие
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Сам не знаю ))) Чушь какая-то,но нужно решить )))
Условие идиотское,я знаю.
Посмотри вот на первое,мне решили:
Код:
var f: file of integer; x: Integer; begin // Открываем файл на чтение assign(f, 'chislo.dat'); reset(f); while not eof(f) do begin read(f, x); // читаем число writeln(x); // Выводим его на экран end; //while close(f); end.
правильно,нет?
А ты можешь по смыслу определить что нужно в задачке найти,я может быть условие неправильно переписал.Спросить уже не могу условие,сдавать прямо завтра.
Может изменишь условие,подгонишь под чё-нибудь,а?А там я уже сам отмажусь,скажу типа я так понял словие. При том они сами виноваты,дают бессмысленные условия,пойди разберсиь тут. Плиз
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
GreatOne В приведенном коде просто читаются числа из файла и выводятся на экран, причем абсолютно непонятно откуда этот файл берется (его ведь еще создать надо)
Цитата:
При том они сами виноваты,дают бессмысленные условия,пойди разберсиь тут.
Эт точно
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
Первое в принципе правильно, только там считается, что файл
с числами уже создан.
Вот задание №1 при условии, что файл с числами еще не создан:
(если он уже создан, то можно удалить указанный кусок кода)
Код:
program laba1; uses crt; const NumbersCount = 10; var f: file of integer; i, x: integer; begin clrscr; assign(f,'numbers.dat'); {Генерация файла с числами (если файл генерить не надо, можно стереть следующие строки)} {------------отсюда-------------} randomize; rewrite(f); for i:=1 to NumbersCount do begin x:=random(NumbersCount*10); write(f,x); end; close(f); {--------до сюда--------------} reset(f); while not EOF(f) do begin read(f,x); write(x,' '); end; readln; end.
Задание №2 (похоже оно должно создавать файл с числами для первого задания, но тогда непонятна последовательность заданий)
Код:
program laba2; uses crt; const NumbersCount = 10; var f: file of integer; i, x: integer; begin clrscr; assign(f,'numbers.dat'); randomize; rewrite(f); for i:=1 to NumbersCount do begin x:=random(NumbersCount*10); if x=0 then inc(x); write(f,x); end; close(f); readln; end.
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Member
Статус: Не в сети Регистрация: 14.08.2004 Откуда: Москва
Давно темка не обновлялась Обновлю ламерским вопросом - чё то я наверное сильно не выспался сёдня...
Кароче нужно выполнить такой, сразу предупреждаю тупой цикл:
Код:
repeat read(i); if i='exit' then x:='exit' else writeln('ERROR!'); until i='exit';
Я так понимаю, что он должен дать мне написать переменную i, проверить, её значение и тогда, если она не 'exit' всё по новой.. вместо этого, она зацикливается на 'ERROR', даже не дав мне ввести переменную.. чё за хня?
Member
Статус: Не в сети Регистрация: 10.03.2003 Откуда: Россия, Моск...
Вот пара вопросиков, очень простыею
Почему может clrscr; может не работать.
Как сделать задержку экрана, после выполнения программы (чтобы сразу обратно в редактор не попадать). Я как-то делал, что надо было просто enter нажать.
Member
Статус: Не в сети Регистрация: 14.08.2004 Откуда: Москва
m2
m2 писал(а):
Почему может clrscr; может не работать
см ответ Lord_of_Darkness
m2 писал(а):
Как сделать задержку экрана, после выполнения программы (чтобы сразу обратно в редактор не попадать). Я как-то делал, что надо было просто enter нажать.
Смотря какая версия Паскаля... у нас например на инофрматике стоит какой то старенький, там readln не пашет...
я делал так:
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
cj_remix
Цитата:
у нас например на инофрматике стоит какой то старенький, там readln не пашет...
Ого! В пятом точно работает. Я другу делал проги, и написал readkey, а паскаль пятый у них там стоит и не заработало, пришлось readln писать. Все запахало.
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Member
Статус: Не в сети Регистрация: 11.10.2005 Откуда: Самара
Люди помогите задачку решить. Разомните лишний раз пальчики Язык - TurboPascal (версия проги - 7.1)
Задача:
Построить копию списка, изменив порядок составляющих его элементов на обратный.
ЗараНЕЕ благодарен.
Member
Статус: Не в сети Регистрация: 11.10.2005 Откуда: Самара
Lord_of_Darkness насчёт вида списка - необходимо выполнить: а) на структуре нецикличного односвязного
б) на структуре цикличного двусвязного. Насчёт содержания - скорее всего массив записей. Точно смогу сказать завтра.
"Желательно-обязательные" действия - создание списка, визуализация, обработка списка с выдачей резалта, разрушение списка.
Member
Статус: Не в сети Регистрация: 11.10.2005 Откуда: Самара
Интересный вопрос Дело в том что требования ко всем лабам одинаковы, а задания естественно раздали разные.
Завтра спрошу у препода. Как насчёт пункта а)?
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
MiHan@
Цитата:
Как насчёт пункта а)?
Вот написал п. а
Код:
uses crt; type TPtr = ^TElem; TElem = record Inf : Real; {Inf может быть любого типа} Link : TPtr; end; const k=10; var BegL, EndL, BegL2, EndL2, P, P2, Pk : TPtr; Value : Real; i : byte; { Вывод первого списка } procedure OutputList(k:byte); begin P:=BegL; i:=0; while (i<k) and (P<>nil) do begin writeln('Value= ',P^.Inf:6:2); P:=P^.Link; i:=i+1; end; end; { Вывод второго списка } procedure OutputList2(k:byte); begin P:=BegL2; i:=0; while (i<k) and (P<>nil) do begin writeln('Value= ',P^.Inf:6:2); P:=P^.Link; i:=i+1; end; end; begin clrscr; { Создание первого списка } BegL := nil; EndL := nil; for i:=1 to k do begin New(P); P^.Inf:=i; P^.Link:=nil; if EndL = nil then BegL := P else EndL^.Link := P; EndL:=P; end; { Создание второго списка } BegL2 := nil; EndL2 := nil; P2:=BegL; for i:=1 to k do begin New(P); P^.Inf:=P2^.Inf; if EndL2=nil then EndL2:=P else begin P^.Link:=Pk; BegL2:=P; end; EndL2:=P; P2:=P2^.Link; Pk:=P; end; { Вывод списков } writeln('Первоначальный список:'); OutputList(k); writeln; writeln('Список с обратным порядком элементов:'); OutputList2(k); { Удаление первого списка } P:=BegL; for i:=1 to k do begin P:=P^.Link; Dispose(BegL); BegL:=P; end;
{ Удаление второго списка } P2:=BegL2; for i:=1 to k do begin P2:=P2^.Link; Dispose(BegL2); BegL2:=P2; end;
readln; end.
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Последний раз редактировалось Lord_of_Darkness 13.10.2005 0:27, всего редактировалось 2 раз(а).
Member
Статус: Не в сети Регистрация: 11.10.2005 Откуда: Самара
Lord_of_Darkness Респект за задачу. Буду тестить Насчёт пункта б) - мне объяснили так:
Исходный список : элемент1>элемент2>элемент3>элемент1>....
обработанный: элемент3>элемент2>элемент1>элемент3>....
Реши плз, если будет время.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения