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

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

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

 
 Ответить  Открыть новую тему 
> система счисления
Pautina
сообщение 14.03.2007 16:39
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Женский
Реальное имя: Nataly

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


Условие задачи состоит в следующем: Найти все простые числа. не превосходящие заданного числа n>0 и записать их в 16-ой системе счисления.

Написала программу
uses crt;
var
n,i,k,y, pdel:integer;
p, Code : Integer;
St,s: string;

Begin
clrscr;
pdel:=0;
repeat
Write('Введите n: ');
Readln(st);
Val(St, p, Code);
if Code<>0 then Writeln('Неправильный ввод! Ошибка в позиции: ',Code);
until Code = 0;
n:=p;
for i:=2 to n do begin
for k:=2 to i do
if i mod k = 0 then pdel:=pdel+1;
if pdel=1 then Write(i,' ');
s:=’ ‘;
y:=i mod 16;
case y of
0..9 : s:=Str(y)+s;
10: s:='A'+s;
11: s:='B'+s;
12: s:='C'+s;
13: s:='D'+s;
14: s:='E'+s;
15: s:='F'+s;
end;
i:=i div 16;
if i=0 then break;
writeln('vashe chislo v 16 ss = ',s);
pdel:=0;
end;
Writeln;
End.




простые числа работают, а вот с перевод не идет. Подскажите,что я делаю не так.
Заранее огромное спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 14.03.2007 16:42
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Общие вопросы по математике.

?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.03.2007 16:50
Сообщение #3


Гость






for i:=2 to n do begin

pdel := 0;
for k:=2 to i do
if i mod k = 0 then pdel:=pdel+1;

if pdel=1 then begin
Write(i,' ');
writeln('vashe chislo v 16 ss = ', FromDec(i, 16));
end;

Функция FromDec взята здесь: Общие вопросы по математике.

(у тебя программа не компилируется, например, что такое Str(y) ???, и почему изменяется i внутри цикла по i ???)
 К началу страницы 
+ Ответить 
Pautina
сообщение 14.03.2007 17:11
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Женский
Реальное имя: Nataly

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


сделала все, как вы написали.. прога компилируется, но из одной системы в другую так и не переводит.. в чем причина?


Прикрепленные файлы
Прикрепленный файл  Z1.PAS ( 756 байт ) Кол-во скачиваний: 176
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.03.2007 17:15
Сообщение #5


Гость






Кто сказал, что НЕ переводит? Все переводит:


Эскизы прикрепленных изображений
Прикрепленное изображение
 К началу страницы 
+ Ответить 
Pautina
сообщение 14.03.2007 17:30
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Женский
Реальное имя: Nataly

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


СПАСИБО ОГРОМНОЕ! smile.gif

Добавлено через 7 мин.
Скажите, а как организовать вывод результата в виде таблицы?

Добавлено через 36 сек.
Скажите, а как организовать вывод результата в виде таблицы?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.03.2007 18:26
Сообщение #7


Гость






Меняй свой цикл по i вот на это:

for i := 1 to 43 do write('-'); writeln;
writeln('|', '10':20, '|', '16':20, '|');
for i := 1 to 43 do write('-'); writeln;

for i:=2 to n do begin
pdel:=0;
for k:=2 to i do
if i mod k=0 then pdel:=pdel+1;
if pdel=1 then writeln('|', i:20, '|', fromdec(i, 16):20, '|');
end;
for i := 1 to 43 do write('-'); writeln;

 К началу страницы 
+ Ответить 

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

 



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