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

> Правила раздела!

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

> программа из Уроки от Дмитриева Эдуарда, помогите начинающему разобраться
Данил
сообщение 14.12.2005 20:18
Сообщение #1


Гость






1.По теме "циклы": - напишите программу, печатающую столбик строк такого вида:

1 0 0 0 0 0 0 0 0
0 2 0 0 0 0 0 0 0
0 0 3 0 0 0 0 0 0
0 0 0 4 0 0 0 0 0
0 0 0 0 5 0 0 0 0
0 0 0 0 0 6 0 0 0
0 0 0 0 0 0 7 0 0
0 0 0 0 0 0 0 8 0
0 0 0 0 0 0 0 0 9

я прочитал начиная с первого все уроки и честно сам делал все задания, но не понимаю как эту прогу написать, объясните алгоритм, пожалуйста.... mega_chok.gif
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
klem4
сообщение 14.12.2005 20:38
Сообщение #2


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

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

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


Ты прав, задача очень трудная, вот самое простое решение :

$00401030:	push   %ebp
$00401031: mov %esp,%ebp
$00401033: sub $0x8,%esp
$00401036: mov %ebx,0xfffffff8(%ebp)
$00401039: mov %esi,0xfffffffc(%ebp)
$0040103C: call $4011a0 <fpc_initializeunits>
$00401041: mov $0x0,%cl
$00401043: mov $0x144,%edx
$00401048: mov $0x40a000,%eax
$0040104D: call $401200 <SYSTEM_FILLCHAR$formal$LONGINT$BYTE>
$00401052: movb $0x1,0x40a144
$00401059: decb 0x40a144
$0040105F: nop
$00401060: incb 0x40a144
$00401066: movzbl 0x40a144,%eax
$0040106D: imul $0x24,%eax,%eax
$00401070: movzbl 0x40a144,%edx
$00401077: movzbl 0x40a144,%ecx
$0040107E: mov %ecx,0x409fd8(%eax,%edx,4)
$00401085: cmpb $0x9,0x40a144
$0040108C: jb $401060 <main+48 at __redr.pp:9>
$0040108E: movb $0x1,0x40a144
$00401095: decb 0x40a144
$0040109B: nop
$0040109C: incb 0x40a144
$004010A2: call $401230 <fpc_get_output>
$004010A7: mov %eax,%ebx
$004010A9: call $401260 <fpc_writeln_end>
$004010AE: call $401310 <fpc_iocheck>
$004010B3: movb $0x1,0x40a145
$004010BA: decb 0x40a145
$004010C0: incb 0x40a145
$004010C6: call $401230 <fpc_get_output>
$004010CB: mov %eax,%esi
$004010CD: movzbl 0x40a144,%eax
$004010D4: imul $0x24,%eax,%eax
$004010D7: movzbl 0x40a145,%edx
$004010DE: mov 0x409fd8(%eax,%edx,4),%ecx
$004010E5: mov %esi,%edx
$004010E7: mov $0x0,%eax
$004010EC: call $401390 <fpc_write_text_sint>
$004010F1: call $401310 <fpc_iocheck>
$004010F6: mov $0x20,%cl
$004010F8: mov %esi,%eax
$004010FA: mov $0x0,%ebx
$004010FF: mov %eax,%edx
$00401101: mov %ebx,%eax
$00401103: call $4013f0 <fpc_write_text_char>
$00401108: call $401310 <fpc_iocheck>
$0040110D: mov %esi,%eax
$0040110F: call $4014c0 <fpc_write_end>
$00401114: call $401310 <fpc_iocheck>
$00401119: cmpb $0x9,0x40a145
$00401120: jb $4010c0 <main+144 at __redr.pp:13>
$00401122: cmpb $0x9,0x40a144
$00401129: jb $40109c <main+108 at __redr.pp:11>
$0040112F: call $4014e0 <fpc_get_input>
$00401134: mov %eax,%ebx
$00401136: call $401510 <fpc_readln_end>
$0040113B: call $401310 <fpc_iocheck>
$00401140: call $401690 <SYSTEM_DO_EXIT>
$00401145: mov 0xfffffff8(%ebp),%ebx
$00401148: mov 0xfffffffc(%ebp),%esi
$0040114B: leave
$0040114C: ret
End of assembler dump.




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

Сообщений в этой теме
Данил   программа из Уроки от Дмитриева Эдуарда   14.12.2005 20:18
klem4   Ты прав, задача очень трудная, вот самое простое р...   14.12.2005 20:38
Гость   эээ млин если шутите, то несмешно, я только начина...   14.12.2005 20:40
Гость   ну блин это же наверное несложно, подскажите   14.12.2005 20:41
klem4   ладно не кипятись :) uses crt; const n=9; var ...   14.12.2005 20:42
Гость   klem4 прости я незнал в какой раздел написать, и р...   14.12.2005 20:43
Гость   странно, в этом варианте программы я так понимаю т...   14.12.2005 20:47
klem4   for i := 1 to n do begin writeln; for j := 1...   14.12.2005 20:49
KENNY   воистину все гениальное просто, большое спасибо.. ...   14.12.2005 20:59
Altair   и где это скомпилиться? :blum: :rolleyes:   15.12.2005 2:48
KENNY   Вот еще вопрос, нужно посчитать сумму элементов ма...   15.12.2005 23:08
volvo   Так... это... Идешь с конца массива ДО того как вс...   15.12.2005 23:16
KENNY   program maasiv1_var3; const n=10; var A: array[1.....   16.12.2005 0:36
volvo   Ну, допустим, произведение она как раз правильно с...   16.12.2005 1:00
KENNY   VOLVO что бы я без тебя делал!!! Спаси...   16.12.2005 1:17
volvo   Ну, так пользуйся любым из методов сортировки... Н...   16.12.2005 1:23
KENNY   точто... байт.... :) еще раз спасибо... мне этот...   16.12.2005 1:28
KENNY   ч одномерным массивом вроде немного разобрался, те...   17.12.2005 21:48
klem4   А что ты хочешь .. чтобы тебе полную программу выл...   17.12.2005 22:11
KENNY   Ну можно и полностью программу..... сейчас буду со...   17.12.2005 23:48
volvo   klem4, если бы все было так просто... Все алгорит...   18.12.2005 0:03
KENNY   да да, я это читал... так всеже как правильно посч...   18.12.2005 0:11
klem4   например вот так : uses crt; const n=10; var ...   18.12.2005 6:24
volvo   While иногда запутывает программу, и она выглядит ...   18.12.2005 9:20
klem4   :yes2: Да, я просто выложил не окончательную верси...   18.12.2005 10:41


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

 



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