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

RFpro.ru: Консультации по информатике


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

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

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Советник
Рейтинг: 10824
∙ повысить рейтинг »
Роман Селиверстов
Статус: Советник
Рейтинг: 4963
∙ повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Советник
Рейтинг: 3992
∙ повысить рейтинг »

/ НАУКА И ОБРАЗОВАНИЕ / Точные и естественные науки / Информатика

Номер выпуска:275
Дата выхода:07.04.2014, 11:50
Администратор рассылки:Андреенков Владимир (Профессор)
Подписчиков / экспертов:36 / 49
Вопросов / ответов:3 / 5

Консультация # 83839: в процессе выполнения кода, компилятор останавливается на предпоследней строчке READLN; и пишет file not open Кто что думает об этом...


Консультация # 63186: Здравствуйте, уважаемые эксперты! Мне требуется помощь в решении этих задачек: 1) Полторы кошки за полтора часа съедают полторы мышки. Сколько мышек съедят "икс(х)" кошек за "игрек(у)" часов? 2) Сливают два раствора известной массы и концентрации. Определимть концентрацию нового раствора....
Консультация # 78580: Строка, содержащая призвольный русский тукст, состоит не более чем из 200 символов. Написать, какие буквы и сколько раз встречаются в этом тексте. Ответ должен приводится в грамматически правильной форме: например: а-25 раз, к-3 раза и т.д....

Консультация # 83839:

в процессе выполнения кода, компилятор останавливается на предпоследней строчке READLN; и пишет file not open
Кто что думает об этом

Дата отправки: 23.04.2007, 14:19
Вопрос задал: Tribak (Студент)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Gh0stik (Академик):

Здравствуйте, Tribak!

Ошибка происходит, потому что в блоке {$I-}....{$I+} генерируется ошибка. А поскольку Вы ее не обрабатываете, то ошибка возвращается первому оператору, который идет за блоком.

Вот вырезка из справки:
Чтобы контролировать ошибки ввода/вывода с помощью функции IOResult, опция проверки ввода/вывода должен быть выключена ({$I-}). Если происходит ошибка ввода/вывода, и проверка ввода/вывода выключена, то все последующие операции ввода/вывода игнорируются, пока не будет сделано обращение к функции IOResult, при котором очищается внутренний флаг ошибки.

Т.е. чтобы все верно работало Вам необходимо обработать ошибку, я предлагаю просто вот таким образом видоизменить Ваш код:
program www;
type TTREm=record
name:integer;
end;
var fl:file of TTREm;
fff:TTREm;
begin {assign(fl,\'qqq\');}
{$I-}
reset(fl); read(fl,fff); close(fl);
If IOResult<>0 then WriteLn(\'Ошибка!!!\');
{$I+}
readln;
end.


Конечно можно использовать и более дикий подход например так:
program www;
type TTREm=record
name:integer;
end;
var fl:file of TTREm;
fff:TTREm;
t:integer;
begin {assign(fl,\'qqq\');}
{$I-}
reset(fl); read(fl,fff); close(fl);
t:=IOResult;
{$I+}
readln;
end.

Т.е. все сводиттся к простому вызову функции IOResult.

Good Luck!!!

Консультировал: Gh0stik (Академик)
Дата отправки: 23.04.2007, 15:27
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 63186:

Здравствуйте, уважаемые эксперты! Мне требуется помощь в решении этих задачек:
1) Полторы кошки за полтора часа съедают полторы мышки. Сколько мышек съедят "икс(х)" кошек за "игрек(у)" часов?
2) Сливают два раствора известной массы и концентрации. Определимть концентрацию нового раствора.

Дата отправки: 18.11.2006, 21:46
Вопрос задал: AMY ROSE
Всего ответов: 2
Страница онлайн-консультации »


Консультирует The Shadow:

Здравствуйте, AMY ROSE!
Отвечу на первый вопрос.
1.5 кошки сьедают за 1.5 часа 1.5 мышки. Считать таким образом неудобно. Умножим время в два раза, а значит 1.5 кошки сьедят в два раза больше, то есть 1.5●2=3 мышки за 3 часа. 1.5 кошки - это тоже довольно неудобно, умножаем их количество так же в два раза, в итоге выходит 3. А так как количество мышей зависит от количества кошек, значит с увилечением кошек в 2 раза, надо и увеличить количество сьеденных мышей в 2 раза, то есть 3●2=6 сьеденных мышей. Значит 3 кошки за 3 часа сьедают 6 машей. Делим количество кошек на 3, как и количество мышей. получается 1●3=2 мыши.
x=1/3y●y=1/3yІ. (Словами конечная формула звучит как Икс равно одна треть игрик в квадрате)

Удачи!

Консультировал: The Shadow
Дата отправки: 18.11.2006, 22:43
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Сухомлин Кирилл Владимирович:

Здравствуйте, AMY ROSE!
1) Проще всего разделить кол-во кошек и мышек на 1.5, оставив время неизменным. Получим, что кошка съедает мышку за 1.5 часа. За y часов одна кошка съест y/1.5 мышек = 2y/3. А x кошек съедят в x раз больше, т.е. 2xy/3
2) Обозначим массы и концентрации как m1, m2 и p1, p2 (в процентах).
m1*p1/100 - масса растворенного вещества в 1-ом растворе.
m2*p2/100 - масса растворенного вещества во 2-ом растворе.
Из закона сохранения масс,
суммарная масса растворенного вещества = m1*p1/100 + m2*p2/100
суммарная масса двух растворов = m1 + m2
Отсюда концентрация: [(m1*p1 + m2*p2)/100]/[m1 + m2]*100
pср = [m1*p1 + m2*p2]/[m1 + m2]

Консультировал: Сухомлин Кирилл Владимирович
Дата отправки: 19.11.2006, 06:23
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 78580:

Строка, содержащая призвольный русский тукст, состоит не более чем из 200 символов. Написать, какие буквы и сколько раз встречаются в этом тексте. Ответ должен приводится в грамматически правильной форме: например: а-25 раз, к-3 раза и т.д.

Дата отправки: 16.03.2007, 14:41
Вопрос задал: Иванов Артём
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Яна:

Здравствуйте, Иванов Артём!
Создайте массив из 33 элементов. Сделайте цикл по строке, пройдя ее от начала до конца, и увеличивайте значение ячейки массива, соответствующей номеру в алфавите найденной буквы. Таким образом Вы получите массив с количествами.
Потом его нужно вывести. Несколькими условиями несложно проверить нужно выводить слова раз или раза (1, 5, 6, 7, 8, 9, 10 - раз, 2, 3, 4 - раза). Т.о. достаточно найти остаток от деления количества раз на 10. Если 2,3 или 4 - то "раза", иначе - раз.

Консультировал: Яна
Дата отправки: 16.03.2007, 14:47
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Митрофанов Артем Борисович:

Здравствуйте, Иванов Артём!
dim letters(33)
str$ - строка с нужным текстом
for i = 1 to 33 step 1
letters(i)=0
j=1
s=asc(\'a\')-1
for i=1 to len(str$) step 1: l=letters(Asc(mid$(str$,j,j+1)-s)):l=l+1:j=j+1
for i=1 to 33 step 1: print chr$(asc(\'a\')-1+i), \' - \', letters(i), \' раз\',

Консультировал: Митрофанов Артем Борисович
Дата отправки: 16.03.2007, 23:05
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


© 2001-2012, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А. | Гладенюк А.Г.
Версия системы: 2011.6.36 от 26.01.2012

В избранное