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

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

Народное голосование ПРЕМИИ РУНЕТА-2007!
Голосуем за RusFAQ.ru >>

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

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

Выпуск № 490
от 16.11.2007, 20:35

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


Вопрос № 108868: Пожалуйста! Помогите! Напишыте простейшый пример на язике Pascal(желательно с обьяснениями) программы перевода с двоичной системы исчисления в восьмеричную (входные данные Double Word, а результат - Word) и наоборот с восьмеричной в двоичную! Ес...
Вопрос № 108937: const masBin: array[0..7] of string[3]= ('000','001','010','011', '100','101','110','111'); - это массив для 8-чной системы исчисления, а как написать массив для 16-чной? Я пробовал набирать: masBin: array[0..9] of string[4]=...
Вопрос № 108945: Просил уже решить эту задачу, но ответа так и не получил. Для стальных и чугунных труб, уже находящихся в эксплуатации, коэффициент сопротивления определяется но формуле: Л={либо 0,021/Д^0,3(степень)при Р>9,2*10^5 ,либо ((1,5*10^-6/Д)+1/Р)^0,3 при...

Вопрос № 108.868
Пожалуйста! Помогите! Напишыте простейшый пример на язике Pascal(желательно с обьяснениями) программы перевода с двоичной системы исчисления в восьмеричную (входные данные Double Word, а результат
- Word) и наоборот с восьмеричной в двоичную! Если можно так же с двоичной в десятиричную. Я знаю что это вас не затруднит - ви профессионалы своего дела, поэтому заранее Вам спасибо! Помогите!
Отправлен: 10.11.2007, 23:37
Вопрос задал: Мироненко Николай Николаевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Gh0stik
Здравствуйте, Мироненко Николай Николаевич!

Программа перевода из двоичной в восьмиичную:
const masBin: array[0..7] of string[3]=
('000','001','010','011',
'100','101','110','111');
var c8,c2,v,d:string;
i:integer;
begin
write('BIN=');read(c2);
c8:='';
for i:=1 to length(c2) mod 3 do c2:='0'+c2; {если число не состоит из полных триад, то дополняем его ведущими нулями}
while length(c2) > 2 do
begin
v:=copy(c2,length(c2)-2,3); {вырезаем из числа триаду (набор из трех символов)}
i:=0;
while v<>masBin[i] do inc(i); {выбираем из массива номер соответствующего элемента}
str(i,d);
c8:=d+c8; {непосредственно формируем число}
delete(c2,length(c2)-2,3);
end;

write('OCT=',c8); {выводим число в 8-чной системе счисления}
readln;
end.


Программа перевода из восьмиичной в двоичную:
const masBin: array[0..7] of string[3]=
('000','001','010','011',
'100','101','110','111');
var c8,c2:string;
i:integer;
begin
write('OCT=');read(c8);
c2:='';
for i:=1 to length(c8) do
c2:=c2+masBin[ord(c8[i])-48]; {используя массив перехода переводим цифру в двоичную}

write('BIN=',copy(c2,pos('1',c2),length(c2)-pos('1',c2)+1)); {выводим число без ведущих нулей}
readln;
readln;
end.


Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 11.11.2007, 00:26
Оценка за ответ: 5
Комментарий оценки:
Спасибо за точный и самое главное понятный мне ответ! Все работает!
Огромное спасибо!!!


Вопрос № 108.937
const masBin: array[0..7] of string[3]=
('000','001','010','011',
'100','101','110','111'); - это массив для 8-чной системы исчисления,
а как написать массив для 16-чной?

Я пробовал набирать:
masBin: array[0..9] of string[4]=
('0000','0001','0010','0011','0100',
'0101','0110','0111','1000','1001');
masBin: array['A'..'F'] of char =
('1010','1011','1100','1101','1110','1111') - в результате ошибка:
"Type mismatch" - поогите с написаниям массива! Пожалуйста!
Отправлен: 11.11.2007, 14:50
Вопрос задал: Мироненко Николай Николаевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Gh0stik
Здравствуйте, Мироненко Николай Николаевич!

Ошибка возникает потому, что Вы описали массив CHAR-ов, а пытаетесь положить в него STRING, потому и возникает "ошибка не соответствия типов".

Да и вообще Ваш массив в идеале должен выглядеть так:
const masBin: array[0..15] of string[4]=
('0000','0001','0010','0011',
'0100','0101','0110','0111',
'1000','1001','1010','1011',
'1100','1101','1110','1111');


Как я понял, Вам необходимо сделать переход от HEX к BIN, то рекомендую Вам ознакомится с программкой в приложении.

Good Luck!!!

Приложение:

---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.

Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 11.11.2007, 15:02
Оценка за ответ: 5
Комментарий оценки:
Большое Вам спасибо за помощь в исправлении ошибки!

Отвечает: Стома С.С.
Здравствуйте, Мироненко Николай Николаевич!

masBin: array['A'..'F'] of char =
('1010','1011','1100','1101','1110','1111')

измените

masBin: array['A'..'F'] of string[4] =
('1010','1011','1100','1101','1110','1111')

array[] - указываете что это массив и диапазон его

of тип - указываете какой тип должен храниться в массиве исходя из размерности массива и типа вычисляется размер памяти для его хранения, тип Char хранит символ
0, 1, а, А не важно а вы присваиваете ему строку вот он и пишет несоответствие типов
Ответ отправил: Стома С.С. (статус: 2-ой класс)
Ответ отправлен: 11.11.2007, 22:52
Оценка за ответ: 5
Комментарий оценки:
Просмотел Ваш ответ, и он меня чесно говоря удовлетворяет. Спасибо за помощь в решении проблемы! На оценки я не жлоб, поэтому ставлю 5!!!


Вопрос № 108.945
Просил уже решить эту задачу, но ответа так и не получил. Для стальных и чугунных труб, уже находящихся в эксплуатации, коэффициент сопротивления определяется но формуле: Л={либо 0,021/Д^0,3(степень)при Р>9,2*10^5 ,либо ((1,5*10^-6/Д)+1/Р)^0,3 при Р<9,2*10^5. Где Р=С*Д/В; Вычислить Р и Л если даны В=0,009 см^2/с Д=19,1мм С=1,2,5,10,20,50,100м/с
Отправлен: 11.11.2007, 15:46
Вопрос задал: Артем Глушков (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Gh0stik
Здравствуйте, Артем Глушков!

Предварительно необходимо привести все величины к одному "измерению", а уж потом пробовать вычислять... (см2 -> м2; мм -> м).

Вот код программы:
var l,p,d,v:real;
     c:integer;
begin
   d:=0.0191;
   v:=0.0000009;
   for c:=1 to 100 do
    case c of
    1,2,5,10,20,50,100:
     begin
       p:=c*d/v;
       if p > 920000
          then l:=0.021/exp(0.3*ln(d))
          else l:=exp(0.3*ln(0.0000015/d+1/p));
       writeln('c=',c:3,' p=',p:11:3,' l=',l:4:3);
     end;
     else continue;
    end;
   readln;
end.


Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 11.11.2007, 16:22
Оценка за ответ: 5
Комментарий оценки:
Ну а какой комментарий? Быстро, профессионально! Спасибо.


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.62.1 от 14.11.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное