|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 (permalink) |
Member
Регистрация: 26.07.2011
Сообщений: 33
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() Как наиболее правильно сформулировать такую задачу программе и где это записать : до или после объявления переменных ? |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Безусловно стоит уделить немного внимания на аналогичные темы Помогите создать библиотеку функций для работы с матрицами Как создать файл ntosboot.bat? |
![]() |
#2 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,750
Записей в дневнике: 71
Сказал(а) спасибо: 162
Поблагодарили 200 раз(а) в 84 сообщениях
Репутация: 74843
|
![]()
Язык программирования, естественно, у вас из разряда "сами знаете какой"?
Исходя из раздела, могу в общих чертах назвать команды для работы с файлами: assign(f,'путь к файлу.расширение') - связать файловую текстовую переменную с файлом, имеющим адрес. reset(f) - открыть файл по чтению, понадобится при поиске последней строки в файле путем перебора. append(f) - открыть файл для добавления информации в конец файла. read(f, t) - считать из файла значение в переменную t. write(f,t) - записать в файл значение переменной t. Более подробно и детально можно будет вести диалог в случае не столь туманного описания задачи.
__________________
Убить всех человеков! |
![]() |
![]() |
![]() |
#3 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]() Цитата:
Yug7 И еще - какой тип файла? Что представляет собой каждая запись (текст, число, строка, переменная типа "запись")? К сожалению, наши штатные экстрасенсы убыли в отпуск, а нам без них про всё это не догадаться... |
|
![]() |
![]() |
![]() |
#5 (permalink) |
Member
Регистрация: 26.07.2011
Сообщений: 33
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() ![]() |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
#7 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,750
Записей в дневнике: 71
Сказал(а) спасибо: 162
Поблагодарили 200 раз(а) в 84 сообщениях
Репутация: 74843
|
![]()
Файл типизированный или нетипизированный?
Насколько я понял, в исходном файле должно быть только одно число в начале выполнения программы и в процессе выполнения программы в него записывается ряд чисел, полученных в результате неких арифметических действий. Я вас правильно понял? Работа с текстовым файлом вас устроит?
__________________
Убить всех человеков! |
![]() |
![]() |
![]() |
#8 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,750
Записей в дневнике: 71
Сказал(а) спасибо: 162
Поблагодарили 200 раз(а) в 84 сообщениях
Репутация: 74843
|
![]()
Допустим, что все числа в файле записываются с новой строки и сам файл должен носить имя c:\results.txt и первоначально не создан.
Код:
var f:text; a:integer; begin assign(f, 'c:\results.txt'); rewrite(f); // открываем файл по перезаписи write(f,'3'); // записываем первое число 3 в файл close(f); reset(f) // открываем файл по чтению и в цикле считываем числа while not (eof(f)) do readln(f, a); close(f); // здесь ваши арифметические операции над считанным числом ... append(f); writeln(f,''); write(f, a); close(f); end. ![]()
__________________
Убить всех человеков! |
![]() |
![]() |
![]() |
#9 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,750
Записей в дневнике: 71
Сказал(а) спасибо: 162
Поблагодарили 200 раз(а) в 84 сообщениях
Репутация: 74843
|
![]()
Приведенную программу можно зациклить на выполнение вычислений до наступления события, например, до нажатия на кнопку Esc для выхода. Сделать это можно, добавив цикл с условием, используя команды перехвата нажатия клавиш.
__________________
Убить всех человеков! |
![]() |
![]() |
![]() |
#10 (permalink) |
Member
Регистрация: 26.07.2011
Сообщений: 33
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]()
AlexZir ! Вы соверщенно правы: и изложил туманно и как верно сказано "...не удосужился выложить все техзадание для реализации программы."
Исправляюсь. Но, боюсь,что будет еще запутанней. Я хочу написать программу, генерирующую прогрессию таким образом : сначала объявить ДВЕ переменные : а ( непрерывно циклически принимает значения "0" или "1",цикл такой : =0,=1,=0,=1,=0 ...) , b ( непрерывно циклически принимает значения "1" или "0",цикл такой : =1,=0,=0,=1,=0,=0,=1 ...). 1. for i:=1 to n do 2. if i mod 3=1 then write(1) else write(0); Так можно ? Или лучше взять a и b, как тип Boolean ? А алгоритм работы такой : программа сравнивает первые значения переменных и если хоть одна переменная =1,программа переходит к оценке вторых значения переменных,а на счетчик идет k+1,так до тех пор,пока а=0 и b=0. Тогда из файла берется КОПИЯ последнего туда записанного числа, к нему +счетчик (после чего он обнуляется) и полученное записывается в файл. Затем вводится еще одна переменная того же типа,но со своим циклом. Для вычисления цикла из файла берется КОПИЯ последней записи(то,что вычислили) и от нее вычитается 1. Это и будет количество нулей между единицами в цикле. Цикл новой переменной начинается с 1, остальные переменные начинают оттуда,где остановились : а=0, b=0, c=1. Дальше алгоритмы повторяются. Количество переменных растет, в файл записываются все новые и новые члены прогрессии. Еще больше тумана напустил ? |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|