|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
30.04.2011, 14:26 | #1 (permalink) |
Member
Регистрация: 11.04.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите с программой
прога program dz5_1; uses crt; var x,n,m:integer; y:real; f_in,f_out:text; const r=2; begin clrscr; assign(f_in,'C:\input.txt'); reset(f_in); assign(f_out,'C:\output.txt'); rewrite(f_out); readln(f_in,m,n); writeln(f_out,'funkcia idz 2 variant 12'); writeln(f_out,'______________________'); write(f_out,'| x'); writeln(f_out,' | y |'); writeln(f_out,'______________________'); for x:=m to n do begin If x>=7 then y:=2 Else if x>=-6 then y:=((x+2)/4) Else if x>=-2 then y:=sqrt(sqr(R)-sqr(x))+2 Else if x>=0 then y:=sqrt(sqr(R)-sqr(x-2)) Else if x>=2 then y:=((x-2)/-1) Else if (x<-7) and (x>3) then writeln (‘Reshenii net’); write(f_out,'|',x:8); writeln(f_out,'| ',y:8:2,'|'); end; writeln(f_out,'______________________'); close(f_out); readln; end. не могу условие правильно поставить и не выводит в файле решения нет |
30.04.2011, 14:26 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Давайте проясним ситуацию, прочитав похожие темы на форуме Помогите с программой Помогите с программой в Паскале |
30.04.2011, 16:26 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну вот один из возможных вариантов. Главные исправления:
1. Правильно сформулированы условия по х. 2. Убран входной файл - он тут явно "для мебели". 3. Поскольку использован файловый, а не экранный вывод, то и экранные команды тут абсолютно ни к чему. Поэтому убран модуль CRT, команды ClrScr и Readln в конце. Чего на пустой экран пялиться? 4. Переменная х должна иметь вещественный (real), а не целочисленный (integer) формат. Остальное - по мелочи. Код:
program dz5_1; const dx=0.1; var i:integer; x,y:real; f_out:text; begin assign(f_out,'C:\output.txt'); rewrite(f_out); writeln(f_out,'funkcia idz 2 variant 12'); writeln(f_out,'______________________'); writeln(f_out,'| x | y |'); writeln(f_out,'______________________'); for i:=0 to Round(10/dx) do begin x:=-7+dx*i; if x>2 then y:=2-x else if x>0 then y:=sqrt(4-sqr(x)) else if x>-2 then y:=2-sqrt(4-sqr(x+2)) else if x>-6 then y:=(x+2)/4 else y:=2; writeln(f_out,'| ',x:8:2,'| ',y:8:2,'|'); end; writeln(f_out,'______________________'); close(f_out); end. |
30.04.2011, 16:55 | #3 (permalink) |
Member
Регистрация: 11.04.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
не смотри, чтобы проверять значения нужно вводить интервал, а так просто таблица получается.
Нужно проверять точки на этом рисунке принадлежат ли они ему или нет |
30.04.2011, 17:34 | #4 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
program dz5_1; Uses CRT; var i,N:integer; x,y,Xmin,Xmax,dx:real; b:boolean; f_out:text; begin assign(f_out,'C:\output.txt'); rewrite(f_out); clrscr; write('Xmin= '); readln(Xmin); write('Xmax= '); readln(Xmax); write('Step= '); readln(dx); N:=Round((Xmax-Xmin)/dx); writeln('funkcia idz 2 variant 12'); writeln('______________________'); writeln('| x | y |'); writeln('______________________'); writeln(f_out,'funkcia idz 2 variant 12'); writeln(f_out,'______________________'); writeln(f_out,'| x | y |'); writeln(f_out,'______________________'); for i:=0 to N do begin x:=Xmin+dx*i; b:=true; if x>3 then b:=false else if x>2 then y:=2-x else if x>0 then y:=sqrt(4-sqr(x)) else if x>-2 then y:=2-sqrt(4-sqr(x+2)) else if x>-6 then y:=(x+2)/4 else if x>=-7 then y:=2 else b:=false; if b then writeln('| ',x:8:2,'| ',y:11:3,'|') else writeln('| ',x:8:2,'|out of range|'); if b then writeln(f_out,'| ',x:8:2,'| ',y:11:3,'|') else writeln(f_out,'| ',x:8:2,'|out of range|'); end; writeln('______________________'); writeln(f_out,'______________________'); close(f_out); readln; end. |
|
01.05.2011, 01:34 | #5 (permalink) |
Member
Регистрация: 11.04.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
во блин вообще четко=)
спасибо!!! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|