Форум: "Прочее";
Текущий архив: 2012.01.01;
Скачать: [xml.tar.bz2];
ВнизОда молодому поколению Найти похожие ветки
← →
TUser © (2011-09-05 16:24) [40]ха
unit uOutputSettings;
interface
var
output_format_xml: boolean = false;
output_printmaps: boolean = false;
output_printmaps_html: boolean = false;
output_printmaps_show_sides: boolean = false;
output_printmaps_show_sides_use_cb_sides: boolean = false;
output_printmaps_printoutofmap: boolean = false;
output_printmaps_hbonds: boolean = false;
output_printmaps_pbonds: boolean = false;
output_printmaps_pairs: boolean = false;
output_script: boolean = false;
output_script_load: boolean = false;
output_script_define: boolean = false;
output_script_define_define_ifneed: boolean = false;
output_script_define_sheets: boolean = false;
output_script_define_helixes: boolean = false;
output_script_define_alpha_layers: boolean = false;
output_script_define_str: boolean = false;
output_script_define_sse: boolean = false;
output_script_define_map: boolean = false;
output_script_define_crests: boolean = false;
output_script_define_ca_sides: boolean = false;
output_script_define_cb_sides: boolean = false;
output_script_define_pairs: boolean = false;
output_script_define_hbonds: boolean = false;
output_script_define_sse_contacts: boolean = false;
output_script_define_sse_contacts_shsh_contacts: boolean = false;
output_script_define_sse_contacts_shhel_contacts: boolean = false;
output_script_define_sse_contacts_shalay_contacts: boolean = false;
output_script_define_sse_contacts_helhel_contacts: boolean = false;
output_script_define_architects: boolean = false;
output_script_define_architects_bprism: boolean = false;
output_script_define_architects_bprop: boolean = false;
output_script_define_architects_sandw2_par: boolean = false;
output_script_define_architects_sandw2_cross: boolean = false;
output_script_define_architects_sandw2_unk: boolean = false;
output_script_define_architects_sandw_bigmac: boolean = false;
output_script_define_architects_single_barrel: boolean = false;
output_script_define_architects_ab_sandw: boolean = false;
output_script_define_architects_rossmann: boolean = false;
output_script_define_architects_ab_barrel: boolean = false;
output_script_define_architects_gfp_barrel: boolean = false;
output_script_define_architects_aba_barrel: boolean = false;
output_script_define_architects_single_sheet: boolean = false;
output_script_define_motifs: boolean = false;
output_script_define_motifs_jelly: boolean = false;
output_script_define_motifs_inter: boolean = false;
output_script_define_motifs_jelly_hp: boolean = false;
output_script_define_motifs_jelly_gk: boolean = false;
output_script_define_motifs_meander: boolean = false;
output_script_define_motifs_hairpin: boolean = false;
output_script_define_motifs_bab_helix: boolean = false;
output_script_define_motifs_bab: boolean = false;
output_script_define_motifs_gk: boolean = false;
output_script_define_motifs_betahel: boolean = false;
output_script_view: boolean = false;
output_script_view_sheets: boolean = false;
output_script_view_helixes: boolean = false;
output_script_view_alpha_layers: boolean = false;
output_script_view_str: boolean = false;
output_script_view_sse: boolean = false;
output_script_view_map: boolean = false;
output_script_view_crests: boolean = false;
output_script_view_ca_sides: boolean = false;
output_script_view_cb_sides: boolean = false;
output_script_view_pairs: boolean = false;
output_script_view_hbonds: boolean = false;
output_script_view_sse_contacts: boolean = false;
output_script_view_sse_contacts_shsh_contacts: boolean = false;
output_script_view_sse_contacts_shhel_contacts: boolean = false;
output_script_view_sse_contacts_shalay_contacts: boolean = false;
output_script_view_sse_contacts_helhel_contacts: boolean = false;
output_script_view_architects: boolean = false;
output_script_view_architects_bprism: boolean = false;
output_script_view_architects_bprop: boolean = false;
output_script_view_architects_sandw2_par: boolean = false;
output_script_view_architects_sandw2_cross: boolean = false;
output_script_view_architects_sandw2_unk: boolean = false;
output_script_view_architects_sandw_bigmac: boolean = false;
output_script_view_architects_single_barrel: boolean = false;
output_script_view_architects_ab_sandw: boolean = false;
output_script_view_architects_rossmann: boolean = false;
output_script_view_architects_ab_barrel: boolean = false;
output_script_view_architects_gfp_barrel: boolean = false;
output_script_view_architects_aba_barrel: boolean = false;
output_script_view_architects_single_sheet: boolean = false;
output_script_view_motifs: boolean = false;
output_script_view_motifs_jelly: boolean = false;
output_script_view_motifs_inter: boolean = false;
output_script_view_motifs_jelly_hp: boolean = false;
output_script_view_motifs_jelly_gk: boolean = false;
output_script_view_motifs_meander: boolean = false;
output_script_view_motifs_hairpin: boolean = false;
output_script_view_motifs_bab_helix: boolean = false;
output_script_view_motifs_bab: boolean = false;
output_script_view_motifs_gk: boolean = false;
output_script_view_motifs_betahel: boolean = false;
output_reports: boolean = false;
output_reports_sheets: boolean = false;
output_reports_helixes: boolean = false;
output_reports_alpha_layers: boolean = false;
output_reports_sse: boolean = false;
output_reports_strands: boolean = false;
output_reports_crests: boolean = false;
output_reports_shsh_contacts: boolean = false;
output_reports_shhel_contacts: boolean = false;
output_reports_shalay_contacts: boolean = false;
output_reports_helhel_contacts: boolean = false;
output_reports_architects: boolean = false;
output_reports_motifs: boolean = false;
output_reports_multiple: boolean = false;
output_reports_append: boolean = false;
output_reports_html: boolean = false;
implementation
uses uXmlParser, uParams;
var Xml, NewXml: PXml;
FileName: string;
← →
TUser © (2011-09-05 16:24) [41]
initialization
Xml := nil;
FileName := "";
if not GetNamedParamEx ("settings", FileName) then FileName := "proton_output_settings.xml";
ReadXml (Xml, FileName);
NewXml := GetXmlItem (Xml, "output", true);
Xml := NewXml;
{$ifndef NOOUTPUTFORMATXML}
NewXml := GetXmlItem (Xml, "format_xml", true);
if NewXml <> nil then begin
output_format_xml := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
{$endif}
{$ifndef NOOUTPUTPRINTMAPS}
NewXml := GetXmlItem (Xml, "printmaps", true);
if NewXml <> nil then begin
output_printmaps := NewXml^.Value = "yes";
Xml := NewXml;
{$ifndef NOOUTPUTPRINTMAPSHTML}
NewXml := GetXmlItem (Xml, "html", true);
if NewXml <> nil then begin
output_printmaps_html := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
{$endif}
{$ifndef NOOUTPUTPRINTMAPSSHOWSIDES}
NewXml := GetXmlItem (Xml, "show_sides", true);
if NewXml <> nil then begin
output_printmaps_show_sides := NewXml^.Value = "yes";
Xml := NewXml;
{$ifndef NOOUTPUTPRINTMAPSSHOWSIDESUSECBSIDES}
NewXml := GetXmlItem (Xml, "use_cb_sides", true);
if NewXml <> nil then begin
output_printmaps_show_sides_use_cb_sides := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
{$endif}
Xml := Xml^.Parent;
end;
{$endif}
{$ifndef NOOUTPUTPRINTMAPSPRINTOUTOFMAP}
NewXml := GetXmlItem (Xml, "printoutofmap", true);
if NewXml <> nil then begin
output_printmaps_printoutofmap := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
{$endif}
{$ifndef NOOUTPUTPRINTMAPSHBONDS}
NewXml := GetXmlItem (Xml, "hbonds", true);
if NewXml <> nil then begin
output_printmaps_hbonds := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
{$endif}
{$ifndef NOOUTPUTPRINTMAPSPBONDS}
NewXml := GetXmlItem (Xml, "pbonds", true);
if NewXml <> nil then begin
output_printmaps_pbonds := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
{$endif}
{$ifndef NOOUTPUTPRINTMAPSPAIRS}
NewXml := GetXmlItem (Xml, "pairs", true);
if NewXml <> nil then begin
output_printmaps_pairs := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
{$endif}
Xml := Xml^.Parent;
end;
{$endif}
{$ifndef NOOUTPUTSCRIPT}
NewXml := GetXmlItem (Xml, "script", true);
if NewXml <> nil then begin
output_script := NewXml^.Value = "yes";
Xml := NewXml;
{$ifndef NOOUTPUTSCRIPTLOAD}
NewXml := GetXmlItem (Xml, "load", true);
if NewXml <> nil then begin
output_script_load := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINE}
NewXml := GetXmlItem (Xml, "define", true);
if NewXml <> nil then begin
output_script_define := NewXml^.Value = "yes";
Xml := NewXml;
{$ifndef NOOUTPUTSCRIPTDEFINEDEFINEIFNEED}
NewXml := GetXmlItem (Xml, "define_ifneed", true);
if NewXml <> nil then begin
output_script_define_define_ifneed := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINESHEETS}
NewXml := GetXmlItem (Xml, "sheets", true);
if NewXml <> nil then begin
output_script_define_sheets := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define := output_script_define or output_script_define_sheets;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEHELIXES}
NewXml := GetXmlItem (Xml, "helixes", true);
if NewXml <> nil then begin
output_script_define_helixes := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define := output_script_define or output_script_define_helixes;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEALPHALAYERS}
NewXml := GetXmlItem (Xml, "alpha_layers", true);
if NewXml <> nil then begin
output_script_define_alpha_layers := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define := output_script_define or output_script_define_alpha_layers;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINESTR}
NewXml := GetXmlItem (Xml, "str", true);
if NewXml <> nil then begin
output_script_define_str := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define := output_script_define or output_script_define_str;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINESSE}
NewXml := GetXmlItem (Xml, "sse", true);
if NewXml <> nil then begin
output_script_define_sse := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define := output_script_define or output_script_define_sse;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEMAP}
NewXml := GetXmlItem (Xml, "map", true);
← →
TUser © (2011-09-05 16:25) [42]
if NewXml <> nil then begin
output_script_define_map := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define := output_script_define or output_script_define_map;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINECRESTS}
NewXml := GetXmlItem (Xml, "crests", true);
if NewXml <> nil then begin
output_script_define_crests := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define := output_script_define or output_script_define_crests;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINECASIDES}
NewXml := GetXmlItem (Xml, "ca_sides", true);
if NewXml <> nil then begin
output_script_define_ca_sides := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define := output_script_define or output_script_define_ca_sides;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINECBSIDES}
NewXml := GetXmlItem (Xml, "cb_sides", true);
if NewXml <> nil then begin
output_script_define_cb_sides := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define := output_script_define or output_script_define_cb_sides;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEPAIRS}
NewXml := GetXmlItem (Xml, "pairs", true);
if NewXml <> nil then begin
output_script_define_pairs := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define := output_script_define or output_script_define_pairs;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEHBONDS}
NewXml := GetXmlItem (Xml, "hbonds", true);
if NewXml <> nil then begin
output_script_define_hbonds := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define := output_script_define or output_script_define_hbonds;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINESSECONTACTS}
NewXml := GetXmlItem (Xml, "sse_contacts", true);
if NewXml <> nil then begin
output_script_define_sse_contacts := NewXml^.Value = "yes";
Xml := NewXml;
{$ifndef NOOUTPUTSCRIPTDEFINESSECONTACTSSHSHCONTACTS}
NewXml := GetXmlItem (Xml, "shsh_contacts", true);
if NewXml <> nil then begin
output_script_define_sse_contacts_shsh_contacts := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_sse_contacts := output_script_define_sse_contacts or output_script_define_sse_contacts_shsh_contacts;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINESSECONTACTSSHHELCONTACTS}
NewXml := GetXmlItem (Xml, "shhel_contacts", true);
if NewXml <> nil then begin
output_script_define_sse_contacts_shhel_contacts := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_sse_contacts := output_script_define_sse_contacts or output_script_define_sse_contacts_shhel_contacts;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINESSECONTACTSSHALAYCONTACTS}
NewXml := GetXmlItem (Xml, "shalay_contacts", true);
if NewXml <> nil then begin
output_script_define_sse_contacts_shalay_contacts := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_sse_contacts := output_script_define_sse_contacts or output_script_define_sse_contacts_shalay_contacts;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINESSECONTACTSHELHELCONTACTS}
NewXml := GetXmlItem (Xml, "helhel_contacts", true);
if NewXml <> nil then begin
output_script_define_sse_contacts_helhel_contacts := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_sse_contacts := output_script_define_sse_contacts or output_script_define_sse_contacts_helhel_contacts;
{$endif}
Xml := Xml^.Parent;
end;
output_script_define := output_script_define or output_script_define_sse_contacts;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEARCHITECTS}
NewXml := GetXmlItem (Xml, "architects", true);
if NewXml <> nil then begin
output_script_define_architects := NewXml^.Value = "yes";
Xml := NewXml;
{$ifndef NOOUTPUTSCRIPTDEFINEARCHITECTSBPRISM}
NewXml := GetXmlItem (Xml, "bprism", true);
if NewXml <> nil then begin
output_script_define_architects_bprism := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_architects := output_script_define_architects or output_script_define_architects_bprism;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEARCHITECTSBPROP}
NewXml := GetXmlItem (Xml, "bprop", true);
if NewXml <> nil then begin
output_script_define_architects_bprop := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_architects := output_script_define_architects or output_script_define_architects_bprop;
{$endif}
← →
TUser © (2011-09-05 16:25) [43]
{$ifndef NOOUTPUTSCRIPTDEFINEARCHITECTSSANDWPAR}
NewXml := GetXmlItem (Xml, "sandw2_par", true);
if NewXml <> nil then begin
output_script_define_architects_sandw2_par := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_architects := output_script_define_architects or output_script_define_architects_sandw2_par;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEARCHITECTSSANDWCROSS}
NewXml := GetXmlItem (Xml, "sandw2_cross", true);
if NewXml <> nil then begin
output_script_define_architects_sandw2_cross := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_architects := output_script_define_architects or output_script_define_architects_sandw2_cross;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEARCHITECTSSANDWUNK}
NewXml := GetXmlItem (Xml, "sandw2_unk", true);
if NewXml <> nil then begin
output_script_define_architects_sandw2_unk := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_architects := output_script_define_architects or output_script_define_architects_sandw2_unk;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEARCHITECTSSANDWBIGMAC}
NewXml := GetXmlItem (Xml, "sandw_bigmac", true);
if NewXml <> nil then begin
output_script_define_architects_sandw_bigmac := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_architects := output_script_define_architects or output_script_define_architects_sandw_bigmac;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEARCHITECTSSINGLEBARREL}
NewXml := GetXmlItem (Xml, "single_barrel", true);
if NewXml <> nil then begin
output_script_define_architects_single_barrel := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_architects := output_script_define_architects or output_script_define_architects_single_barrel;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEARCHITECTSABSANDW}
NewXml := GetXmlItem (Xml, "ab_sandw", true);
if NewXml <> nil then begin
output_script_define_architects_ab_sandw := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_architects := output_script_define_architects or output_script_define_architects_ab_sandw;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEARCHITECTSROSSMANN}
NewXml := GetXmlItem (Xml, "rossmann", true);
if NewXml <> nil then begin
output_script_define_architects_rossmann := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_architects := output_script_define_architects or output_script_define_architects_rossmann;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEARCHITECTSABBARREL}
NewXml := GetXmlItem (Xml, "ab_barrel", true);
if NewXml <> nil then begin
output_script_define_architects_ab_barrel := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_architects := output_script_define_architects or output_script_define_architects_ab_barrel;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEARCHITECTSGFPBARREL}
NewXml := GetXmlItem (Xml, "gfp_barrel", true);
if NewXml <> nil then begin
output_script_define_architects_gfp_barrel := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_architects := output_script_define_architects or output_script_define_architects_gfp_barrel;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEARCHITECTSABABARREL}
NewXml := GetXmlItem (Xml, "aba_barrel", true);
if NewXml <> nil then begin
output_script_define_architects_aba_barrel := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_architects := output_script_define_architects or output_script_define_architects_aba_barrel;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEARCHITECTSSINGLESHEET}
NewXml := GetXmlItem (Xml, "single_sheet", true);
if NewXml <> nil then begin
output_script_define_architects_single_sheet := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_architects := output_script_define_architects or output_script_define_architects_single_sheet;
{$endif}
Xml := Xml^.Parent;
end;
output_script_define := output_script_define or output_script_define_architects;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEMOTIFS}
NewXml := GetXmlItem (Xml, "motifs", true);
if NewXml <> nil then begin
output_script_define_motifs := NewXml^.Value = "yes";
Xml := NewXml;
{$ifndef NOOUTPUTSCRIPTDEFINEMOTIFSJELLY}
NewXml := GetXmlItem (Xml, "jelly", true);
if NewXml <> nil then begin
output_script_define_motifs_jelly := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_motifs := output_script_define_motifs or output_script_define_motifs_jelly;
{$endif}
{$ifndef NOOUTPUTSCRIPTDEFINEMOTIFSINTER}
NewXml := GetXmlItem (Xml, "inter", true);
if NewXml <> nil then begin
output_script_define_motifs_inter := NewXml^.Value = "yes";
Xml := NewXml;
Xml := Xml^.Parent;
end;
output_script_define_motifs := output_script_define_motifs or output_script_define_motifs_inter;
{$endif}
← →
pasha_golub © (2011-09-05 16:26) [44]
> TUser © (05.09.11 16:25) [42]
И чего это должно собой ознаменовать? :)
← →
TUser © (2011-09-05 16:26) [45]+ еще примено столько же
← →
Юрий Зотов © (2011-09-05 16:29) [46]> pasha_golub © (05.09.11 16:06) [38]
> Какие будут предложения? Готов рассмотреть.
Написать модуль, содержащий полный набор арифметических функций для работы с целыми числами в любой системе счисления от 2 до 255 включительно. Число задается записью:
type
TNumber = packed record
Base: byte; // Основание системы счисления
Value: string // Строковое представление числа в этой системе
end;
Например:
function AddNumbers(X, Y: TNumber; OutBase: byte): string;
где
X и Y - числа, которые надо сложить;
OutBase - основание системы счисления результата;
Выход - строковое представление результата.
Полый набор - это AddNumbers, SubtractNumbers, MultiplyNumbers, DivNumbers, ModNumbers, ReadNumber (с консоли), WriteNumber (на консоль), ConvertNumber (перевод из одной системы счисления в другую).
Мой подопечный когда-то делал такой курсовик, еще на 1-м курсе. Не без помощи, но все же справился.
← →
pasha_golub © (2011-09-05 16:35) [47]
> Юрий Зотов © (05.09.11 16:29) [46]
Мощно. Однако для тестового задания...
← →
Kerk © (2011-09-05 16:43) [48]
> pasha_golub © (05.09.11 16:35) [47]
Как раз уровень первого курса.
← →
Юрий Зотов © (2011-09-05 17:13) [49]
> pasha_golub © (05.09.11 16:35) [47]
Надо написать ConvertNumber, после чего все становится очень просто.
Но ты ему об этом не говори, пусть сам догадается.
:o)
← →
Mystic © (2011-09-05 17:19) [50]> pasha_golub © (05.09.11 10:22)
Теперь логично попросить его исходники кодогенератора, которым создавался исходник
← →
Eraser © (2011-09-05 17:43) [51]>
>
> [0] pasha_golub © (05.09.11 10:22)
зачем кого-то растить? ) дать задание, если не справился или бесперспективный - выгнать. нанять следующего. 1 из 10 подходящий найдется. нужно, чтобы работник сам был заинтересован сделать как надо, а не делал одолжения.
← →
Ega23 © (2011-09-05 18:22) [52]
> TUser © (05.09.11 16:24) [40]
>
> ха
>
У меня такой файл был. Генерился на основании НД из БД. Константы там всякие, ГУИДы.
← →
DVM © (2011-09-05 18:45) [53]
> pasha_golub © (05.09.11 16:06) [38]
> Какие будут предложения? Готов рассмотреть.
Зависит от того, что должен уметь кандидат. Что от него требуется то?
← →
pasha_golub © (2011-09-05 19:03) [54]
> Mystic © (05.09.11 17:19) [50]
>
> Теперь логично попросить его исходники кодогенератора, которым
> создавался исходник
Сам об этом думал :))
> DVM © (05.09.11 18:45) [53]
>
>
> Зависит от того, что должен уметь кандидат. Что от него
> требуется то?
Базовые знания. Чтобы видно было, что голова светлая.
← →
Mystic © (2011-09-05 19:40) [55]
> pasha_golub © (05.09.11 19:03) [54]
> Сам об этом думал :))
На одной из работ я слышал байку о сотруднике, который в аналогичном ключе клепал SQL-запросы. При этом служба поддержки Oracle на вопросы про оптимизации его запросоы вежливо просила уточнить, какой генератор запросов использовался.
← →
Очень злой (2011-09-05 23:22) [56]
> Да я б его озолотил за усидчивость и упертость, была б моя
> воля. :) Это ж надо было 50 хендлеров написать.
Да там в основном копипаст. Наверное написал один раз, скопировал, 49 раз вставил и потом прошелся циферки подправил..
> Ну и дал одному перспективному задание: написать MineSweeper
> 5х5
ну вот он и написал его...
В следующий раз лучше в задании указывать не 5х5, а что-то побольше, чтобы убить стремление писать таким методом... Ну или лучше всего это когда размер поля должен определяться игроком.
← →
Inovet © (2011-09-05 23:54) [57]> [56] Очень злой (05.09.11 23:22)
> лучше всего это когда размер поля должен определяться игроком.
На каждый размер будет скопипастен код 5х5 и скопипастены дополнительные строчки.
← →
Очень злой (2011-09-06 00:00) [58]
> На каждый размер будет скопипастен код 5х5 и скопипастены
> дополнительные строчки.
размер от 5*5 до 40*40 уже предполагает 1296 вариантов (36*36)
Если человек решиться написать типа сабж, но в 1000+ раз длиннее, то может ему походу все-таки стукнет мысль, что он что-то не то делает...
← →
Sha © (2011-09-06 00:06) [59]> Юрий Зотов © (05.09.11 16:29) [46]
ReadNumber, WriteNumber для чисел в 255-ричной системе прикольно выглядели наверно?
← →
Германн © (2011-09-06 01:09) [60]
> OW © (05.09.11 11:52) [18]
>
>
> > Anatoly Podgoretsky © (05.09.11 11:43) [15]
>
> вот, правый верхний угол
> где бомба?
>
> ? 1
> ? 3 1
> Б Б 1
Дык это ж всё таки "Минёр", а не "Шахтёр". Порой приходиться угадывать. Не угадал - начинай новую жизнь! :)
← →
Anatoly Podgoretsky © (2011-09-06 08:43) [61]> Германн (06.09.2011 01:09:00) [60]
Сапер ошибается только один раз.
← →
Очень злой (2011-09-06 09:29) [62]
> Юрий Зотов © (05.09.11 16:29) [46]
>
...
> Написать модуль, содержащий полный набор арифметических
> функций для работы с целыми числами в любой системе счисления
> от 2 до 255 включительно. Число задается записью:
...
> Value: string // Строковое представление числа в этой системе
...
Что есть строковое представление числа в системе от 17 и более (особенно системе 255)?
← →
Inovet © (2011-09-06 09:48) [63]> [62] Очень злой (06.09.11 09:29)
> Что есть строковое представление числа в системе от 17 и
> более (особенно системе 255)?
Да какая разница. Нпример начиная от $00 и до $ff или для меньших оснований можно более привычными пользоваться
0123456789abcdefghijklmnopqrstuvwxyz... и т.д.
Для основания 65536 можно шрифт специальный сделать в матрице 4х4.:)
← →
jack128_ (2011-09-06 09:49) [64]
> Что есть строковое представление числа в системе от 17 и
ну например 33(в десятичной) = 1G(в семнадцатиричной)
> более (особенно системе 255)?
в анси 255 символов, так что проблем нет. А уж если юникод использовать...
← →
pasha_golub © (2011-09-06 11:22) [65]Я уж было поверил в светлое будущее с утра. Прислал мальчонка работающий, хороший код. Я ж на радостях с утра песенки пою. И тут мой значит темный попутчик заставляет меня пошарить на просторах интернета. Так и есть. Нахожу этот же код, немного подправленный в комментариях.
Не, ну твою ж мать! Они вообще что-ли безмозглые? Раз ты нашел решение, так перепиши по образу и подобию, но сам же! А этот вплоть до ресурсов, все один к одному.
← →
Inovet © (2011-09-06 11:55) [66]> [65] pasha_golub © (06.09.11 11:22)
> Нахожу этот же код, немного подправленный в комментариях.
Какие последуют санкции?
← →
Sha © (2011-09-06 12:38) [67]требования написать самостоятельно не было
← →
Anatoly Podgoretsky © (2011-09-06 12:43) [68]> jack128_ (06.09.2011 09:49:04) [64]
Но печатных меньше, наше все в Юникоде
← →
Sha © (2011-09-06 12:45) [69]а их все в ASCII, обидно, да?
← →
pasha_golub © (2011-09-06 13:24) [70]
> Inovet © (06.09.11 11:55) [66]
> Какие последуют санкции?
Прощаемся, конечно же. Я же в активном поиске.
> Sha © (06.09.11 12:38) [67]
>
> требования написать самостоятельно не было
Мы же не в США, где 90% юристов всего мира. Секир башка, и будь здоров :)
← →
Romkin © (2011-09-06 19:32) [71]
> Какие будут предложения? Готов рассмотреть.
А я тебе уже предлагал:
Однонаправленный список. В узлах хранится ключ типа word. Реализовать операции со списком и дополнительно метод обращения списка Reverse, переставляющий узлы в обратном порядке.
Для теста консольное приложение, вход - значения ключей, -1 означает конец ввода. Вывести список в обратном порядке.
Все. Пусть реализуют как понравится, а потом можно смеяться
← →
Sha © (2011-09-06 20:16) [72]> Romkin © (06.09.11 19:32) [71]
Тут вроде негде ошебиться :)
function Reverse(p: PNode): pNode;
var
q: pNode;
begin;
Result:=nil;
while p<>nil do begin;
q:=p.Next; p.Next:=Result; Result:=p; p:=q;
end;
end;
← →
Компромисс (2011-09-07 10:12) [73]
> Тут вроде негде ошебиться :)
Почему? Лично я убил бы за имена переменных.
q должно было быть next (или nextNode), p должно было быть current (или currentNode), вместо Result должна была быть еще одна переменная previos (previousNode), а Result присваиваться только один раз (Result := Current).
← →
pasha_golub © (2011-09-07 10:29) [74]
> а Result присваиваться только один раз (Result := Current).
Чойта? Всегда использую переменную Result без зазрения. Правда имя функции должно соответствовать.
← →
Inovet © (2011-09-07 10:33) [75]> [73] Компромисс (07.09.11 10:12)
> Лично я убил бы за имена переменных.
> q должно было быть next (или nextNode), p должно было быть
> current (или currentNode)
Имхо. Оно хорошо, но для локальных длинно слишком. Достаточко nn, cn, pn. Раз работа с нодами, то смысл понятен из контекста.
← →
oxffff © (2011-09-07 10:43) [76]C result нужно быть внимательным, бо логику можно заложить разную
function abc:string;
begin
.........
result:="b";
raise exception.create("");
.........
end;
var a:string;
begin
a:="a";
try
a:=abc;
except
showmessage(a);
end;
end;
← →
Kerk © (2011-09-07 10:47) [77]
> Достаточко nn, cn, pn. Раз работа с нодами, то смысл понятен
> из контекста.
Что за тяга такая буквы экономить?
← →
Inovet © (2011-09-07 10:57) [78]> [77] Kerk © (07.09.11 10:47)
> Что за тяга такая буквы экономить?
В данном случае как вместо Iterator написать i.
← →
Sergey Masloff (2011-09-07 11:13) [79]Kerk © (07.09.11 10:47) [77]
>Что за тяга такая буквы экономить?
Ну просто зачем они (лишние буквы) в именах локальных переменных в функции из 10 строк? В понятности ничего не добавляют... Чего плодить-то
← →
Kerk © (2011-09-07 11:19) [80]Скорость понимания кода при чтении такой подход снижает в разы.
Попробуй разгляди разницу между cn, pn и nn, не вчитываясь в каждую букву.
Страницы: 1 2 3 4 5 6 7 8 вся ветка
Форум: "Прочее";
Текущий архив: 2012.01.01;
Скачать: [xml.tar.bz2];
Память: 0.67 MB
Время: 0.017 c