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

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

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

> Перевод из одной системы счисления в другую
samec
сообщение 1.07.2008 14:15
Сообщение #1


Бывалый
***

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

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


Добрый день. Помогите, пожалуйста со следующей задачкой: Составить программу для перевода натуральных чисел из системы счисления с основанием 7 в десятеричную систему счисления и обратно. Программа должна быть выполнена без использования циклов.
С переводом чисел из одной сс в другую - проблем нет, но вот как это реализовать без использования циклов??? Может кто знает?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
samec
сообщение 1.07.2008 14:56
Сообщение #2


Бывалый
***

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

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


Думаю если циклы использовать нельзя, то подпрограммы тем более, это тема следующих работ.
Интересно, а оператор безусловного перехода GOTO, будет считаться циклом или нет?
Если GOTO за цикл не считать, то получится что то в этом роде:

program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;
var
ch:string;
i,j,k,
m, {степень семёрки, при переводе из 7->10;
степень десятки, при переводе из 10->7}
s10, {получаемое в 10сс число}
s7 {получаемое в 7сс число}
:integer;
label 1,2;
begin
write('Введите число в 7-ой системе счисления: ');
readln(ch);
i:=length(ch);
{перевод из 7сс в 10сс}
m:=1;
s10:=0;
1: val(ch[i],k,j);
s10:=s10+k*m;
m:=m*7;
dec(i);
if (i>0) then goto 1;
writeln('10cc: ',s10);
{перевод из 10сс в 7сс}
m:=1;
s7:=0;
2:
s7:=s7+(s10 mod 7)*m;
s10:=s10 div 7;
m:=m*10;
if (s10>0) then goto 2;
writeln('7cc: ',s7);
readln;
end.



Сообщение отредактировано: samec - 1.07.2008 16:01
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



- Текстовая версия 20.07.2025 22:55
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"