IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> задача на системы счисления
сообщение
Сообщение #1


Гость






задание: написать программу на языке паскаль, чтобы она переводила число из четверичной системы счиления в шестнадцетиричную с.с.

вот собственно что надо..........
ПОЖАЛУЙСТО, HELP
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 146
Пол: Мужской

Репутация: -  2  +


Вот тута прогу одну нашёл, правда ещё сам не разобрался, но по-моему она переводит из любой системы счисления в любую другую ....... в общем универсальная она
Код
program perevod;
var
   q,p,n,osnov,s,m,i:longint;
   st:string;
   ch:char;
   mas:array[1..30] of byte;

function test(st:string; osnov:integer):boolean;
var n,i:integer; mn:set of char;
begin
test:=true;
mn:=[];
for i:=0 to osnov-1 do
   if i<=9 then mn:=mn+[chr(i+48)]
      else mn:=mn+[chr(i+55)];
n:=ord(st[0]);
for i:=1 to n do
if (st[i]<>',') and (not(st[i] in mn)) then
   begin
   writeln('Неправильная запись числа. Повторите ввод');
   test:=false;
   i:=n;
   end;
end;

function chislo(ch:char):integer;
begin
if ord(ch) in [48..57] then chislo:=ord(ch)-48
   else chislo:=ord(ch)-55;
end;

function simvol(n:byte):char;
begin
if n in [10..15] then simvol:=chr(n+55)
   else simvol:=chr(n+48);
end;

begin
writeln ('Введите основание р');
readln(p);
writeln ('Введите число (для цифр после 9 писать ABC...)');
repeat
   readln (st);
until test(st,p);
writeln ('В какую систему перевести?');
readln (q);
s:=0;
m:=1;
n:=ord(st[0]);
for i:=n downto 1 do
   begin
   s:=s+chislo(st[i])*m;
   m:=m*p;
   end;
m:=0;
repeat
   inc(m);
   mas[m]:=s mod q;
   s:=s div q;
until s<=q-1;
inc(m);
mas[m]:=s;
for i:=m downto 1 do
   write(simvol(mas[i]));
end.

Прикольная между прочим прога, вроде всё прально делает!!!!

Внимание всем, кто еще раз решит, что эта программа работает с любыми системами счисления!!! Программа корректно переводит числа из любой системы счисления с основанием 2 .. 16 в любую систему счисления с основанием 2 .. 16 !!! Не более того.
НЕ считайте эту программу действительно универсальным переводчиком, и не ждите от нее корректной работы с другими системами счисления!!!

Сообщение отредактировано: volvo -


--------------------
Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь.
Закон программиста: Семь раз отрежь, ошибся, отмерь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Flipper   задача на системы счисления   17.10.2004 0:07
Altair   один из способов (простых) это перевести сначала в…   17.10.2004 0:16
Flipper   спасибо, sorry, вспылил, был не прав.   17.10.2004 1:57
Altair   То-то же! :yes:   17.10.2004 12:04
--Vika--   Привет, всем! клево, нам тоже самое задали, за…   18.10.2004 18:40
Atos   Число - это n, а radix- это какая с/c Например выз…   18.10.2004 18:48
--Vika--   digit: string[16]='0123456789ABCDEF' а это…   18.10.2004 18:55
Altair   тут реагируютна все вопросы! так что заходите …   18.10.2004 20:40
FreeMan   своим подругам :D   18.10.2004 20:56
Altair   Это прежде всего, девушкам тут особенно рады, и за…   18.10.2004 21:07
GoodWind   угу.... очеень... особенно я :D Зватит флеймить…   18.10.2004 23:23
--Vika--   ребята, не получилось....еще мне сказали чтоб дела…   19.10.2004 13:55
Altair   Так, а задание дайте.   19.10.2004 14:00
--Vika--   задание тоже самое :huh: программа на паскале, п…   19.10.2004 14:29
APAL   И у меня есть попутный вопрос - ведь наверняка дол…   19.10.2004 14:43
volvo   --Vika-- Только что проверил программу Oleg_Z. Вс…   19.10.2004 16:05
Altair   На нашем форум, все, что выложенно в ЧаВо, все раб…   19.10.2004 17:42
Amro   Вот тута прогу одну нашёл, правда ещё сам не разоб…   19.10.2004 23:59
volvo   Принцип остается тот же - здесь... for i:=n…   20.10.2004 0:07
GoodWind   завтра ОМТ`шницу нашу спрошу   20.10.2004 0:25
Dao   Я мож и опоздал, но в том году писал прогу, котора…   20.10.2004 0:31
Altair   Опоздал во-первых, во-вторых слишком однобокая про…   20.10.2004 10:12
Dao   Полностью с тобой согласен, но 5 у меня уже сотит,…   20.10.2004 22:19
Altair   Точно!   20.10.2004 22:32
Vika   вот, перевод числа из любой с/с в 10. не делением…   22.10.2004 13:15
Altair   Не понял, что тебе не нравиться?   22.10.2004 19:30
aspu   А вот я что-то не пойму та прога универсальная на …   26.09.2005 17:52
Jill   ребята, а если ПРОСТО десятичное (и положительное,…   26.09.2005 18:20
aspu   У тебя не проблема :) При переводе между системами…   26.09.2005 19:38
Jill   как это? по-моему, там происходят изменения в ста…   26.09.2005 19:43
aspu   A черт его знает в одних источниках одно написано …   27.09.2005 12:48
Jill   калькулятор не обрабатывает отр. числа :-) чтоб …   27.09.2005 14:29
aspu   ну вот и меняй :) Переведи его в строковый вид и п…   27.09.2005 14:49
Гость   Помогите пожалуйста модифицировать программу перев…   25.09.2007 14:40


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 7.05.2024 23:48
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name