Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 17.03.2011, 22:11   #1 (permalink)
павля
незнайка:)
 
Аватар для павля
 
Регистрация: 29.01.2011
Сообщений: 124
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 152
Red face Помогите, пожалуйста, исправить программку на Паскале

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

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

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.



заранее благодарна...
павля вне форума   Ответить с цитированием

Старый 17.03.2011, 22:11
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Интересующие вас ответы могут быть тут

Пожалуйста, помогите написать программку. Pascal Free
Open GL, пожалуйста, помогите исправить ошибки в программе
Помогите, пожалуйста, с программой в Паскале
Помогите пожалуйста составить программку в паскале

Старый 17.03.2011, 22:14   #2 (permalink)
павля
незнайка:)
 
Аватар для павля
 
Регистрация: 29.01.2011
Сообщений: 124
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 152
По умолчанию

просто там..по идеи..при вводе числа, например 223, должно вывести как результат 19..а выводит 147((
павля вне форума   Ответить с цитированием
Старый 18.03.2011, 06:44   #3 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 14,459
Записей в дневнике: 57
Сказал(а) спасибо: 124
Поблагодарили 150 раз(а) в 62 сообщениях
Репутация: 59633
По умолчанию

А с чего вы взяли, что программа работает неправильно?
Подсчитаем: 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 переменных в программе.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 18.03.2011, 10:29   #4 (permalink)
павля
незнайка:)
 
Аватар для павля
 
Регистрация: 29.01.2011
Сообщений: 124
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 152
По умолчанию

гг....спасибочки дорогусий...хм...я прост тольк освоила перевод с восьмеричной вот блин..х
павля вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 08:34.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.