Помощь - Поиск - Пользователи - Календарь
Полная версия: Pascal! > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
baby_blues
Помогите, пожалуйста с задачей.
Не могу найти у себя ошибку.
Условие: вычислить и напечатать таблицу значений функции для 40 значений аргумента, задаваемых по вводу.
с=0.85
при x<=-1 y=c*sqrt(x*x+1)
при -1<x<=1 y=x*x*x +с
при x>1 y=c*ln(x)

Моё решение:
program lab;
uses crt;
const c=0.85;
type mass=array[1..40] of real;
var y:real;
x:mass;
i: integer;
n: text;
begin
clrscr;
writeln('Введите x');
readln(x[i]);
x[i]:=0;
for i:=1 to 40 do
if (x[i]<=-1) then y:=c*sqrt(x[i]*x[i]+1);
if (x[i]>-1) and (x[i]<=1) then y:=x[i]*x[i]*x[i]+c;
if (x[i]>1) then y:=c*ln(x[i]);
writeln('x[i]=',x[i]:7:2,' y=',y:7:2);
close(n);
end.

Заранee спасибо!
граф Монте-Кристо
Считывать нужно, во-первых, в цикле - все 40 входных чисел, а Вы считываете одно, причём не очень понятно, куда, поскольку i у Вас не определено. А потом Вы ещё зачем-то обнуляете x[i].
Ну и ещё у Вас n не определено.
baby_blues
Спасибо! программа работает!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.