Добрый день. Помогите, пожалуйста со следующей задачкой: Составить программу для перевода натуральных чисел из системы счисления с основанием 7 в десятеричную систему счисления и обратно. Программа должна быть выполнена без использования циклов. С переводом чисел из одной сс в другую - проблем нет, но вот как это реализовать без использования циклов??? Может кто знает?
volvo
1.07.2008 18:18
Цитата
но вот как это реализовать без использования циклов???
Используй рекурсию вместо циклов...
samec
1.07.2008 18:56
Думаю если циклы использовать нельзя, то подпрограммы тем более, это тема следующих работ. Интересно, а оператор безусловного перехода 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.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.