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

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

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

> Перевод чисел, Обучение переводу
DeIYIoN
сообщение 3.06.2009 17:17
Сообщение #1


Новичок
*

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

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


Помогите пожалуста..полный завал...
Мне нужно написать обучающую программу по переводу чисел...
Она должна обучать переводу пользователя...
Совсем не знаю как это сделать..
Буду очень благодарен!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
Ответов(1 - 19)
volvo
сообщение 3.06.2009 17:21
Сообщение #2


Гость






Переводу чисел КУДА? Каких чисел? Точнее можно изъясняться?
 К началу страницы 
+ Ответить 
DeIYIoN
сообщение 3.06.2009 17:25
Сообщение #3


Новичок
*

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

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


Перевод из одной системы счисления в другую...системы счисления могут быть разными...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 3.06.2009 17:32
Сообщение #4


Гость






А теперь - уточни, что именно ты подразумеваешь под
Цитата
Она должна обучать переводу пользователя...
Вот я - пользователь, что должна делать программа, если я хочу обучиться переводу чисел из СС с основанием 10 в СС с основанием 7? Пошагово, пожалуйста...

Это ни разу не придирка, ты просто написал "обучить", но чтоб обучить одного, достаточно показать ему результат и написать алгоритм (словами), а чтоб научить другого - надо рассказывать, какая цифра откуда взялась, и еще цветную "мультипликацию" сделать, чтоб он понял... Итак, что должна делать программа в моем случае?

Опять же, числа - только целые, или возможны еще и вещественные?
 К началу страницы 
+ Ответить 
DeIYIoN
сообщение 3.06.2009 17:40
Сообщение #5


Новичок
*

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

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


Т. е. если конечно я сам понимаю правильно...она должна показывать как осуществляется перевод числа из одной системы счисления в другую пошагово...т.е. что как бы делал я что бы перевести это чило в ручную..
Наверно необхадимо сделать что то вроде меню..с выбором пути перевода(из n-ой в 10-ную, из 10-ной в n-ую)...у меня сложность и возникла с тем что я не знаю как сделать программу обучающей... mellow.gif

Добавлено через 2 мин.
..да забыл...нужно хотя бы сделать только для целых чисел...

Добавлено через 3 мин.
..да и ещё забыл...было бы конечно не плохо с, как ты написал, "мультипликацией"(это сложно наверно очень)...но наверно достаточно было бы что б был написан алгоритм перевода и ответ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 3.06.2009 18:56
Сообщение #6


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(DeIYIoN @ 3.06.2009 18:40) *
как сделать программу обучающей... mellow.gif
...
было бы конечно не плохо с, как ты написал, "мультипликацией"(это сложно наверно очень)...но наверно достаточно было бы что б был написан алгоритм перевода и ответ...
Я шибко звиняюсь за оффтоп, но странна мне эта идея весьма.. Забавен сам ход мысли преподавателя, который такое задает. Так и видится, что он насмотрелся всяких флэшек подобного рода, и в его сознании они подменили суть мишурой..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
DeIYIoN
сообщение 3.06.2009 19:00
Сообщение #7


Новичок
*

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

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


Так значит никто мне не поможет....жаль...если не здам прогу могу собираться в армию...

Сообщение отредактировано: DeIYIoN - 3.06.2009 19:20
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 3.06.2009 19:09
Сообщение #8


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(DeIYIoN @ 3.06.2009 20:00) *
Так значит никто мне не поможет....жаль...если не здам прогу могу собираться в армию...
Эй, cool down, pal)). smile.gif
Зачем так? Поможем, конечно. Главное, чтоб ты помогал нам помогать тебе)). Я подумаю..

PS
Ты бы лучше убрал первую строчку...


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
DeIYIoN
сообщение 3.06.2009 19:14
Сообщение #9


Новичок
*

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

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


Так значит никто мне не поможет....жаль...если не здам прогу могу собираться в армию...


Добавлено через 8 мин.
Сори за повтор...не совсем разобрался как удалять первуюю строчку.. blush.gif

Добавлено через 1 мин.
Цитата(Lapp @ 3.06.2009 20:09) *

Эй, cool down, pal)). smile.gif
Зачем так? Поможем, конечно. Главное, чтоб ты помогал нам помогать тебе)). Я подумаю..



Просто я уже отчаялся...

Сообщение отредактировано: DeIYIoN - 3.06.2009 19:15
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 3.06.2009 19:29
Сообщение #10


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(DeIYIoN @ 3.06.2009 20:14) *
Просто я уже отчаялся...
Ты можешь для начала посмотреть в FAQе про перевод и сделать просто прогу для перевода? Потом ее доработаем для обучения.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
DeIYIoN
сообщение 3.06.2009 19:56
Сообщение #11


Новичок
*

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

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


Прога для перевода есть...написано правда коряво, но...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 3.06.2009 20:11
Сообщение #12


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(DeIYIoN @ 3.06.2009 20:56) *
Прога для перевода есть
Дык. Давай..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
DeIYIoN
сообщение 3.06.2009 20:14
Сообщение #13


Новичок
*

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

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


коряво потому что писал сам...
Вот... (Показать/Скрыть)


Сча попробую изменить используя информацию которую нашел тут...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
DeIYIoN
сообщение 4.06.2009 21:06
Сообщение #14


Новичок
*

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

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


Нашел темы В FAQ про перевод чисел с двумя функциями перевода..и как их объеденить в одной программе..там ведь переменая "n" разных типов....я не очень силен в Поскале...

Вот что у меня получилось... (Показать/Скрыть)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 5.06.2009 15:43
Сообщение #15


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Я долго думал, как "обучать", и придумал нечто совсем простое. Но мне кажется, что основная идея тут соблюдена. Программа не дописана, поскольку я решил, что надо спросить, пойдет ли такой стиль.

type
var
a: string;
b,v: LongInt;
d: integer;
c: char;
i,n: integer;
Good: boolean;
Digs: set of char;

function DigVal(c: char): integer;
begin
if c<#58 then DigVal:=Ord©-48 else DigVal:=Ord©-54
end;

begin
Write('Введите основание исходной системы счисления (от 1 до 37): ');
ReadLn(b);
if b>9 then d:=9 else d:=b-1;
WriteLn('В системе с основанием ',b,' для ввода числа вы можете использовать');
Write('цифры от 0 до ',d);
if b=11 then Write(' и латинскую букву A')
else if b>11 then Write(' и латинские буквы от A до ',Chr(b+54));
WriteLn;
if b>10 then WriteLn('при этом буквы имеют такие числовыме значения:');
for i:=10 to b-1 do WriteLn(Chr(i+55),' = ',i);
WriteLn;

Digs:=[];
for c:='0' to Chr(d+48) do Include(Digs,c);
for c:='A' to Chr(b+54) do Include(Digs,c);

repeat
Write('Введите число для перевода: ');
ReadLn(a);
for i:=1 to Length(a) do a[i]:=UpCase(a[i]);
Good:=true;
for i:=1 to Length(a) do Good:=Good and (a[i] in Digs);
if not Good then WriteLn('Вы ввели неправильный символ. Повторите ввод.');
until Good;
n:=Length(a);

WriteLn('Теперь переведем число в машинное представление.');
WriteLn('Для этого воспользуемся формулой:');
WriteLn('m = a[0] + a[1]*b + a[2]*b^2 + a[3]*b^3 + ... + a[n]*b^n');
WriteLn('Здесь символ ^ означает возведение в степень,');
WriteLn('цифры в числе пронумерованы справа налево.');
WriteLn;
WriteLn('В нашем случае это будет выглядеть так:');
for i:=1 to n do begin
if i>1 then Write(' + ');
Write(DigVal(a[n-i+1]));
if i>1 then Write('*',b);
if i>2 then Write('^',i-1);
end;

v:=DigVal(a[1]);
for i:=2 to n do v:=v*b+DigVal(a[i]);

WriteLn;
WriteLn('Произведя вычисления, получим:');
WriteLn(v);
WriteLn('- тут использована десятичная запись.');

WriteLn('Теперь введите основание системы счисления,');
Write('в которую вы хотите преревести ваше число (от 1 до 37): ');
ReadLn(b);
WriteLn;
WriteLn('Перевод будем осуществлять в цикле...');

ReadLn
end.

Естественно, всяких красивостей можно добавить. Типа чистить экран, разноцветность всякая..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
DeIYIoN
сообщение 5.06.2009 17:51
Сообщение #16


Новичок
*

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

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


А можно как нить переносить текст сразу в Паскаль...не переписывая вручную..?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 5.06.2009 18:00
Сообщение #17


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(DeIYIoN @ 5.06.2009 18:51) *

А можно как нить переносить текст сразу в Паскаль...не переписывая вручную..?

copy - paste? blink.gif

а, понял, у тебя кодировка слетает..
Ты FAR'ом не пользуешься?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
DeIYIoN
сообщение 5.06.2009 18:01
Сообщение #18


Новичок
*

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

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


Нет..может и есть где..

Добавлено через 1 мин.
Нашел...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 5.06.2009 18:07
Сообщение #19


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


скачай и установи себе FAR
http://farmanager.com/download.php?l=en

1. Скопируй текст программы (выделить и Ctrl-C)
2. в Фаре начни новый файл Shift-F4
3. Сделай кодировку DOS до вставки
4. Вставь (Ctrl-V)
5. Сохрани с нужным названием (F2)
6. выйди и зайти в ТР
7. открой этот файл в ТР

Добавлено через 1 мин.
Менять кодировку клавишей F8, кодировка написана в верхней строке


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
DeIYIoN
сообщение 5.06.2009 18:11
Сообщение #20


Новичок
*

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

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


Долго буду смотреть..потому что у меня в Паскале нет руского языка..так что я пока переписываю текст что б понять программу...

Добавлено через 10 мин.
Всё супер...можно доделывать программу...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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