![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Breid |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задание: Протабулировать функцию s(t). Функция s(t)=8t на отрезке от 0 до 1, s(t)=8 если 1<=t<=3, s(t)=-4t+20, если t>3. Аргумент функции t меняется от 0 до 5 с шагом 0,2.
program;
uses crt;
var x,f:real;i:integer;
function func(t:real;var f:real):boolean;
begin
func:=false;
if (t>=0) and (t<1) then
begin
f:=8*t;
func:=true;
end
else if (t>=1) and (t<=3) then
begin
f:=8;
func:=true;
end
else if (t>3) then
begin
f:=4*t+20;
func:=true;
end;
end;
BEGIN
clrscr;
writeln('x':10,'f(x)':10);
for i:=0 to 25 do begin
x:=0.2*i;
if func(x,f) then writeln(x:10 :1,f:10 :1)
else writeln(x:10 :1,'*':10);
if i=20 then begin
writeln('Press any key to continue');
readkey;
end;
end;
READLN
END.
это программа работает, ну вот только преподователю не понравилось что я использовал логический оператор "boolean", ну так собственно в этом то и вопрос, можно ли как то это дело упростить, т.е. сделать без "boolean"? подскажите плз п.с. я в паскале новичок, поэтому просьба сильно не пинать ![]() заранее спасибо |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
так ?
uses crt;
const
a = 0;
b = 5;
h = 0.2;
var
t : single;
function f(x : single) : single;
begin
if (x > 0) and (x < 1) then f := 8 * x
else if (x >= 1) and (x <= 3) then f := 8
else f := -4 * x + 20;
end;
begin
clrscr;
t := a;
while(t <= b + h/2) do begin
writeln('t = ',t:5:2,' f(t) = ',f(t):5:2);
t := t + h;
end;
readln
end.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
![]() Элементарно зайти в поиск, набрать "табулирование", получить больше 10 ссылок, и поменять функцию на свою... НЕТ же, нужно чтоб каждому решили заново, ИМЕННО его задачу ![]() |
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 4:49 |