Текущее время: 28 дек 2024, 08:46




 Страница 1 из 7 [ Сообщений: 66 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: Помогите, пожалуйста, с Паскалем!
СообщениеДобавлено: 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);

Ну а далее кусок с циклом у меня не выходит. Не совсем понимаю, как сделать. Помогите, пожалуйста.


   
 
 Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем!
СообщениеДобавлено: 12 янв 2010, 11:20 
Аватар пользователя

Зарегистрирован: 12 ноя 2009, 16:11
Сообщений: 69
я правильно понял... надо прочитать файл init.txt... если последовательность 2, -3, 8, -10, 12, -16 то в файл out.txt вывести ету последовательность?


   
 
 Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем!
СообщениеДобавлено: 12 янв 2010, 11:26 
Аватар пользователя

Зарегистрирован: 10 янв 2010, 12:06
Сообщений: 21
Да, именно так!
Ну и внизу файла подписать, что она знакочередующаяся.
А если в исходном файле знаки последовательности не меняются, то в текстовом файле вывести эту последовательность, и подписать, что она не знакочередующаяся.


   
 
 Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем!
СообщениеДобавлено: 12 янв 2010, 11:30 
Аватар пользователя

Зарегистрирован: 12 ноя 2009, 16:11
Сообщений: 69
щя)


   
 
 Заголовок сообщения: 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.


   
 
 Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем!
СообщениеДобавлено: 12 янв 2010, 12:14 
Аватар пользователя

Зарегистрирован: 12 ноя 2009, 16:11
Сообщений: 69
в файле init.txt последовательность должна быть задана в стовпчик


   
 
 Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем!
СообщениеДобавлено: 12 янв 2010, 12:16 
Аватар пользователя

Зарегистрирован: 10 янв 2010, 12:06
Сообщений: 21
Таааак, вижу :)
Сейчас разберусь :)


   
 
 Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем!
СообщениеДобавлено: 12 янв 2010, 12:26 
Аватар пользователя

Зарегистрирован: 10 янв 2010, 12:06
Сообщений: 21
Ммм...всё работает, спасибо тебе большое :)
Но не мог ты пояснить мне принцип работы программы, что она делает и как, чтоб попонятнее было :)


   
 
 Заголовок сообщения: 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; в честь того что число


   
 
 Заголовок сообщения: Re: Помогите, пожалуйста, с Паскалем!
СообщениеДобавлено: 12 янв 2010, 12:38 
Аватар пользователя

Зарегистрирован: 12 ноя 2009, 16:11
Сообщений: 69
дальше
иначе если число < 0
снова проверяем было ли предыдущее значения
и не была ли последовательность обявлена result:='ne znako4ereduushayas9';
если нет значит
result:='znako4ereduushayas9';
positive:=false; тоесть число не додатное
иначе т.е. если предыдущее значения было отрицательным т.е. было positive:=false; то снова присваиваем что незнакочередующаяся...)
ну и затем выводи результат в файл и в консоль..
ну вот))
если что нить непонятно.. спрашывай)


   
 
Показать сообщения за:  Сортировать по:  
 Страница 1 из 7 [ Сообщений: 66 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:

Продажа и покупка информационного товара в интернете услуги гаранта сделок в интернете онлайн - надежные сделки через гаранта. Сервис безопасных сделок без риска 24 часа в сутки 365 дней в году.
Сложные и нестандартные случаи, решение ваших проблем консультация психолога онлайн 24 часа в сутки и при личной встрече. Психолог.ПРО.
cron