• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите, пожалуйста, исправить программку на Паскале

павля

незнайка:)
Почётный участник
Регистрация
29 Янв 2011
Сообщения
124
Реакции
3
Баллы
0
Помогите, пожалуйста, исправить программку на Паскале

задание:
ввести цифры трехзначного восьмеричного числа. Вывести значение этого числа в десятичной системе счисления. (только с помощью линейного алгоритма).

подскажите что следует изменить в этой программке...?..:

program _;
uses crt;
var
x,a,b,c,d,k: integer
begin
clrsgr;
writeln ('введите число в восьмеричной системе x');
readln (x);
a:=x div 100;
k:=x-a*100;
b:=k div 10;
c:=x mod 10;
writeln (a);
writeln (b);
writeln (c);
d:=a*64+b*8+c
writeln ('d=',d);
readln;
end.



заранее благодарна:)...
 
просто там..по идеи..при вводе числа, например 223, должно вывести как результат 19..а выводит 147:(((
 
А с чего вы взяли, что программа работает неправильно?
Подсчитаем: 2238=2*8^2+2*8^1+3*8^0=2*64+2*8+3=128+16+3=14710
Что здесь вы видите неправильного?

1910=238 :))

Кстати, вот более короткая программа с меньшим числом переменных:
Код:
uses crt;
var a,b,c,d,x:integer;
begin
clrscr;
writeln('Enter Oct-value');
readln(x);
a:=x div 100;
x:=x mod 100;
b:=x div 10;
c:=x mod 10;
writeln(a:4,b:4,c:4);
d:=a*64+b*8+c;
writeln('d=',d);
readln
end.
Можно вообще реализовать в виде одной команды, будет всего 2 переменных в программе.
 
гг:))....спасибочки дорогусий...хм...я прост тольк освоила перевод с восьмеричной:tehnari_ru_942: вот блин..х:)
 
Назад
Сверху