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

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

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

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Перевод чисел, Обучение переводу
сообщение
Сообщение #1


Новичок
*

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

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


Помогите пожалуста..полный завал...
Мне нужно написать обучающую программу по переводу чисел...
Она должна обучать переводу пользователя...
Совсем не знаю как это сделать..
Буду очень благодарен!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






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


Новичок
*

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

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


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


Гость






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

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

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


Новичок
*

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

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


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

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

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


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

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

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


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


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


Новичок
*

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

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


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

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


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

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

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


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

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


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


Новичок
*

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

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


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


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

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

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



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

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


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

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

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


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


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


Новичок
*

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

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


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


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

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

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


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


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


Новичок
*

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

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


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


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


Новичок
*

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

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


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

Вот что у меня получилось... (Показать/Скрыть)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Новичок
*

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

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


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


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

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

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


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

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

copy - paste? blink.gif

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


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


Новичок
*

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

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


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

Добавлено через 1 мин.
Нашел...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Новичок
*

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

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


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

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

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

 





- Текстовая версия 28.03.2024 19:47
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name