Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 197
от 23.07.2006, 21:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 197, Экспертов: 49
В номере:Вопросов: 2, Ответов: 3


Вопрос № 49405: Здрасти!!! Есть задача!!! Дано 100 целых чисел от 1 до 50. Узнать, сколько среди этих чисел Фибоначчи и сколько чисел, первая «значуща»(не смог перевести с украинского) цифра в десятичной записи какой - 1 или 2...
Вопрос № 49511: Здравствуйте, уважаемые эксперты! Хотелось бы узнать, как на паскале можно считать файл, содержащий любые данные побайтно, а затем работать с каждым байтом в виде двоичного числа? Заранее спасибо!...

Вопрос № 49.405
Здрасти!!! Есть задача!!!
Дано 100 целых чисел от 1 до 50. Узнать, сколько среди этих чисел Фибоначчи и сколько чисел, первая «значуща»(не смог перевести с украинского) цифра в десятичной записи какой - 1 или 2
Отправлен: 17.07.2006, 22:26
Вопрос задал: ataman (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Решетник Д
Здравствуйте, ataman!
немного не понял "сколько среди этих чисел Фибоначчи".
В любом случае стоит упорядочить числа по возрастанию.
Пример последовательности чисел Фибоначчи: 1,1,2,3,5,8,13....
то есть, начиная со 3-й позиции, число равно сумме двух предыдущих. !последовательность возрастает (вот почему стоит отсортировать числа сначала).

Нужно проверять теперь просто все числа введенной последовательности так, чтобы число равнялось сумме двух предыдущих. При этом для начала проверки нужно найти два числа, предшествующим минимальному элементу.
Например:
даны числа 13,8,21,34,5,55
сортируем: 5,8,13,21,34,55
ищем два предшествующих числа: 2,3 (для этого, наверное, нужно пройтись по последовательности с самого начала, наверное...)
Проверяя эту последовательность, получем, что числа удовлетворяют условию Фибоначчи.
---------
Жизнь коротка, чтобы писать на ассемблере
Ответ отправил: Решетник Д (статус: 10-ый класс)
Ответ отправлен: 17.07.2006, 22:53

Отвечает: Граур Василий Олегович
Здравствуйте, ataman!
Сначала вводятся 100 чисел. Потом находятся числа Фибоначчи до 50 и записываются во множество. После этого каждое число проверяется, если оно входит во множество этих чисел. Если принадлежит множеству, то K увеличивается. Числа могут быть либо двухзначные, либо однозначные. В I случае находим кол-во десятков и если оно равно 1 или 2, то увеличиваем S. Во II случае проверяем, если это число = 1 или 2 и тогда увеличиваем S.

Приложение:

Ответ отправил: Граур Василий Олегович (статус: 1-ый класс)
Ответ отправлен: 17.07.2006, 23:12


Вопрос № 49.511
Здравствуйте, уважаемые эксперты!
Хотелось бы узнать, как на паскале можно считать файл, содержащий любые данные побайтно, а затем работать с каждым байтом в виде двоичного числа?
Заранее спасибо!
Отправлен: 18.07.2006, 20:51
Вопрос задал: Велислав (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: NiGHT
Здравствуйте, Велислав!
1.
var f:file of byte; {или char}
x:byte;
begin

assign (f,'ttttt.dat');
reset (f);
while (not eof(f)) do
begin
read (f,x);
{делаем что то с x}
end;

close (f);
end.

Так же может портебоваться функции filesize (кол-во байт в файле) и seek (перемещает курсор на определенное место в файле)

2. Работать в виде двоичного числа сложнее, дело в том что это не микроконтроллер и тут нет режимов побитовой работы. Работать с x как с числом уже можно. Для побитовых операций надо использовать битовые маски или сдвиги. Но тут лучше догонять ассемблерными вставками.
Ответ отправил: NiGHT (статус: Студент)
Ответ отправлен: 18.07.2006, 21:37


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное