|
Текущее время: 28 дек 2024, 08:46
|
Сообщения без ответов | Активные темы
|
|
|
|
Автор |
Сообщение |
YSA
|
Заголовок сообщения: Помогите, пожалуйста, с Паскалем! Добавлено: 12 янв 2010, 11:11 |
Зарегистрирован: 10 янв 2010, 12:06 Сообщений: 21
|
Мне необходимо доказать, что последовательность является знакочередующейся. Вот, что начала писать: 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
|
Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем! Добавлено: 12 янв 2010, 11:20 |
Зарегистрирован: 12 ноя 2009, 16:11 Сообщений: 69
|
я правильно понял... надо прочитать файл init.txt... если последовательность 2, -3, 8, -10, 12, -16 то в файл out.txt вывести ету последовательность?
|
|
|
|
|
YSA
|
Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем! Добавлено: 12 янв 2010, 11:26 |
Зарегистрирован: 10 янв 2010, 12:06 Сообщений: 21
|
Да, именно так! Ну и внизу файла подписать, что она знакочередующаяся. А если в исходном файле знаки последовательности не меняются, то в текстовом файле вывести эту последовательность, и подписать, что она не знакочередующаяся.
|
|
|
|
|
Kirilll
|
Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем! Добавлено: 12 янв 2010, 11:30 |
Зарегистрирован: 12 ноя 2009, 16:11 Сообщений: 69
|
|
|
|
|
Kirilll
|
Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем! Добавлено: 12 янв 2010, 12:14 |
Зарегистрирован: 12 ноя 2009, 16:11 Сообщений: 69
|
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
|
Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем! Добавлено: 12 янв 2010, 12:14 |
Зарегистрирован: 12 ноя 2009, 16:11 Сообщений: 69
|
в файле init.txt последовательность должна быть задана в стовпчик
|
|
|
|
|
YSA
|
Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем! Добавлено: 12 янв 2010, 12:16 |
Зарегистрирован: 10 янв 2010, 12:06 Сообщений: 21
|
Таааак, вижу :) Сейчас разберусь :)
|
|
|
|
|
YSA
|
Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем! Добавлено: 12 янв 2010, 12:26 |
Зарегистрирован: 10 янв 2010, 12:06 Сообщений: 21
|
Ммм...всё работает, спасибо тебе большое :) Но не мог ты пояснить мне принцип работы программы, что она делает и как, чтоб попонятнее было :)
|
|
|
|
|
Kirilll
|
Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем! Добавлено: 12 янв 2010, 12:34 |
Зарегистрирован: 12 ноя 2009, 16:11 Сообщений: 69
|
все елементарно просто
сначала проверяем прочитаное число. если оно >= 0 значит оно додатное) дальше проверяем значения positive.. если positive=true значит предыдущее значения тоже было додатное а значит ето уже не знакочередуемость и поетому присваиваем result:='ne znako4ereduushayas9'; и так как ето число то пишем positive:=true;
иначе.. т.е. когда positive не равно true значит предыдущее значения было отрицательным тогда проверяем if result<>'ne znako4ereduushayas9' тоесть не было ли раньше записано что последовательность незнакочередуема... если не было такого result:='znako4ereduushayas9'; и присваиваем positive=true; в честь того что число
|
|
|
|
|
Kirilll
|
Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем! Добавлено: 12 янв 2010, 12:38 |
Зарегистрирован: 12 ноя 2009, 16:11 Сообщений: 69
|
дальше иначе если число < 0 снова проверяем было ли предыдущее значения и не была ли последовательность обявлена result:='ne znako4ereduushayas9'; если нет значит result:='znako4ereduushayas9'; positive:=false; тоесть число не додатное иначе т.е. если предыдущее значения было отрицательным т.е. было positive:=false; то снова присваиваем что незнакочередующаяся...) ну и затем выводи результат в файл и в консоль.. ну вот)) если что нить непонятно.. спрашывай)
|
|
|
|
|
|
|
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
Продажа и покупка информационного товара в интернете услуги гаранта сделок в интернете онлайн - надежные сделки через гаранта. Сервис безопасных сделок без риска 24 часа в сутки 365 дней в году.
Сложные и нестандартные случаи, решение ваших проблем консультация психолога онлайн 24 часа в сутки и при личной встрече. Психолог.ПРО.
|