Дизайн и креатив: разработка от профессионалов http://www.uptimecommerce.com/forum/ |
|
Помогите, пожалуйста, с Паскалем! http://www.uptimecommerce.com/forum/viewtopic.php?f=22&t=798 |
Страница 1 из 7 |
Автор: | YSA [ 12 янв 2010, 11:11 ] |
Заголовок сообщения: | Помогите, пожалуйста, с Паскалем! |
Мне необходимо доказать, что последовательность является знакочередующейся. Вот, что начала писать: Program lab_5; {induktivnie funkcii} uses crt; var x:integer; b:boolean; init,out:Text; begin clrScr; Assign(init,'init.txt'); Assign(out,'out.txt'); Rewrite(out); Writeln(out,'Laboratorna9 rabota # 5: Induktivna9 funkci9'); Writeln(out,'9vl9ets9 li posledovatelnost znako4ereduusheys9?'); Reset(init); read(init,x); Writeln(x); Writeln(out,x); Ну а далее кусок с циклом у меня не выходит. Не совсем понимаю, как сделать. Помогите, пожалуйста. |
Автор: | Kirilll [ 12 янв 2010, 11:20 ] |
Заголовок сообщения: | Re: Помогите, пожалуйста, с Паскалем! |
я правильно понял... надо прочитать файл init.txt... если последовательность 2, -3, 8, -10, 12, -16 то в файл out.txt вывести ету последовательность? |
Автор: | YSA [ 12 янв 2010, 11:26 ] |
Заголовок сообщения: | Re: Помогите, пожалуйста, с Паскалем! |
Да, именно так! Ну и внизу файла подписать, что она знакочередующаяся. А если в исходном файле знаки последовательности не меняются, то в текстовом файле вывести эту последовательность, и подписать, что она не знакочередующаяся. |
Автор: | Kirilll [ 12 янв 2010, 11:30 ] |
Заголовок сообщения: | Re: Помогите, пожалуйста, с Паскалем! |
щя) |
Автор: | Kirilll [ 12 янв 2010, 12:14 ] |
Заголовок сообщения: | Re: Помогите, пожалуйста, с Паскалем! |
uses crt; var x:integer;positive:boolean;result:string;init,out:Text; begin clrScr; Assign(init,'init.txt'); Assign(out,'out.txt'); Rewrite(out); Writeln(out,'Laboratorna9 rabota #5: Induktivna9 funkci9'); Writeln(out,'9vl9ets9 li posledovatelnost znako4ereduusheys9?'); Reset(init); repeat readln(init,x); write(out,x,';'); write(x,';'); if (x>=0) then begin if positive=true then begin result:='ne znako4ereduushayas9'; positive:=true; end else if result<>'ne znako4ereduushayas9' then begin result:='znako4ereduushayas9'; positive:=true; end; end else begin if positive=true then begin if result<>'ne znako4ereduushayas9' then begin result:='znako4ereduushayas9'; positive:=false; end; end else result:='ne znako4ereduushayas9'; positive:=false; end; until eof(init); writeln(out,''); writeln(out,result); close(init); close(out); writeln; writeln(result); readln; end. |
Автор: | Kirilll [ 12 янв 2010, 12:14 ] |
Заголовок сообщения: | Re: Помогите, пожалуйста, с Паскалем! |
в файле init.txt последовательность должна быть задана в стовпчик |
Автор: | YSA [ 12 янв 2010, 12:16 ] |
Заголовок сообщения: | Re: Помогите, пожалуйста, с Паскалем! |
Таааак, вижу :) Сейчас разберусь :) |
Автор: | YSA [ 12 янв 2010, 12:26 ] |
Заголовок сообщения: | Re: Помогите, пожалуйста, с Паскалем! |
Ммм...всё работает, спасибо тебе большое :) Но не мог ты пояснить мне принцип работы программы, что она делает и как, чтоб попонятнее было :) |
Автор: | Kirilll [ 12 янв 2010, 12:34 ] |
Заголовок сообщения: | Re: Помогите, пожалуйста, с Паскалем! |
все елементарно просто сначала проверяем прочитаное число. если оно >= 0 значит оно додатное) дальше проверяем значения positive.. если positive=true значит предыдущее значения тоже было додатное а значит ето уже не знакочередуемость и поетому присваиваем result:='ne znako4ereduushayas9'; и так как ето число то пишем positive:=true; иначе.. т.е. когда positive не равно true значит предыдущее значения было отрицательным тогда проверяем if result<>'ne znako4ereduushayas9' тоесть не было ли раньше записано что последовательность незнакочередуема... если не было такого result:='znako4ereduushayas9'; и присваиваем positive=true; в честь того что число |
Автор: | Kirilll [ 12 янв 2010, 12:38 ] |
Заголовок сообщения: | Re: Помогите, пожалуйста, с Паскалем! |
дальше иначе если число < 0 снова проверяем было ли предыдущее значения и не была ли последовательность обявлена result:='ne znako4ereduushayas9'; если нет значит result:='znako4ereduushayas9'; positive:=false; тоесть число не додатное иначе т.е. если предыдущее значения было отрицательным т.е. было positive:=false; то снова присваиваем что незнакочередующаяся...) ну и затем выводи результат в файл и в консоль.. ну вот)) если что нить непонятно.. спрашывай) |
Страница 1 из 7 | Часовой пояс: UTC |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |