• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Вычислить и напечатать таблицы значений функции y= f(x)

andreis459

Ученик
Регистрация
18 Мар 2011
Сообщения
11
Реакции
0
Баллы
0
Вычислить и напечатать таблицы значений функции y= f(x)

Вычислить и напечатать таблицы значений функции y= f(x) на
интервале значений x[a+b] с шагом h (решить задачу с помощью трех типов
циклов: с параметром, с предусловием, с постусловием; предусмотреть в
программе возможность выбора типа цикла):

y= f(x) y=(1+√x)/(ln|tg x|+sin x )
a≤x≤b 1≤x≤π
h 0,25
 
Помогите с решением
 
program EXAMPLE_5;
uses crt;
var x,y:real; i:integer; c:char;
begin
repeat
clrscr;
writeln('Задание 5. Вариант № 1');
write('Введите начальное значение х=');
readln(x);
writeln('Выберите вид цикла. Нажмите:');
writeln('1 - для цикла FOR');
writeln('2 - для цикла WHILE');
writeln('3 - для цикла REPEAT');
writeln('0 - выход из программы');
readln©;
case c of
'1':for i:=1 to 21 do
Begin
y:=sqr(1+√x)/(ln|tg x|+sin x )


проблема с ( y:=sqr(1+√x)/(ln|tg x|+sin x ) )
 
проблема с ( y:=sqr(1+√x)/(ln|tg x|+sin x ) )
Ну если только с этим проблема (кстати, откуда там sqr взялся? В формуле я его в упор не вижу), то так:
Формула y=(1+√x)/(ln|tg x|+sin x )
задается, как
y:=(1+sqrt(x))/(ln(Abs(sin(x)/cos(x)))+sin(x));
Кстати, у(х) было бы удобно и рационально оформить в виде подпрограммы-функции. Но это на Ваше усмотрение.
И еще совет.
Зачем Вам задавать формат переменной с, как литерный тип, если ее значения всё равно цифры? Объявите ее byte или integer, и тогда оператор выбора запишется, как
Case c of
0: ...
1: ...
....
end;
Просто цифры будут без кавычек.
(Это у Вас не ошибка, а просто "доставание левого уха через-под правое колено").
 
program EXAMPLE_5;
uses crt;
var x,y:real; i:integer; c:char;
begin
repeat
clrscr;
writeln('Задание 5. Вариант № 1');
write('Введите начальное значение х=');
readln(x);
writeln('Выберите вид цикла. Нажмите:');
writeln('1 - для цикла FOR');
writeln('2 - для цикла WHILE');
writeln('3 - для цикла REPEAT');
writeln('0 - выход из программы');
readln(c);
case c of
'1':for i:=1 to 21 do
Begin
y:=(1+sqrt(x))/(ln(abs(sin(x)/cos(x)))+sin(x));
writeln('При х=',x:5:2,' y=',y:5:2);
x:=x+0.25;
end;
'2':While x<=π do
Begin
y:=(1+sqrt(x))/(ln(abs(sin(x)/cos(x)))+sin(x));
writeln('При х=',x:5:2,' y=',y:5:2);
x:=x+0.25;
end;
'3':Repeat
y:=(1+sqrt(x))/(ln(abs(sin(x)/cos(x)))+sin(x));
writeln('При х=',x:5:2,' y=',y:5:2);
x:=x+0.25;
until x>π;
end;
readln;
until c='0';
end.
как правильно написать п?
Если не правильно исправЬте, пожалуйста, ошибки.

Вам ещё ошибки поисправлять? Ваш модератор.
 
п - это число Пи?

Если да - в Pascal есть специальная одноименная функция PI, возвращающая значение этого числа.
 
Назад
Сверху