Другие языки программирования и технологии
Вопрос по Turbo Pascal
как составить программу, чтобы она располагала в порядке возрастания числа sin x, cos x, ln x. А при х меньше либо равном нуля, выводила сообщение о том, что логарифма не существует? помогите пожалуйста, срочно. заранее спасибо
ну я так понял это одномерный массив
Делаем 2 цикла- 1цикл-эт ввод x,2 цикл-распределение элементов в порядке возрастания (делаем по методу пузырька-самых простой). Надо не забыть про аномалии- If x<=0 then writeln("Ошибка! Элемент меньше 0 ") /ну там надо Repeаt поставить конечно, чтоб цикличность была
P.s если надо сделать эту программу-пиши в агент или почту (лучше в агент)
Делаем 2 цикла- 1цикл-эт ввод x,2 цикл-распределение элементов в порядке возрастания (делаем по методу пузырька-самых простой). Надо не забыть про аномалии- If x<=0 then writeln("Ошибка! Элемент меньше 0 ") /ну там надо Repeаt поставить конечно, чтоб цикличность была
P.s если надо сделать эту программу-пиши в агент или почту (лучше в агент)
Михаил Муратов
вот как раз таки та часть, где про метод пузырька, она и не понятна))
const n=3;
var
a: array [1..n] of real;
i,j:integer;
k,b,c,s,x:real;
begin
writeln(' vvedite x');
readln(x);
a[1]:= sin(x);
a[2]:= cos(x);
a[3]:= ln(x);
b:= ln(x);
c:= cos(x);
s:= sin(x);
begin
for i:=1 to n do
for j:= i+1 to n do
if (a> a[j]) then begin
k:=a; a:= a[j]; a[j]:=k;end;
end;
if (x>0) then begin
if (a[1]=s) then writeln ('sin(x)=',a[1]);
if (a[1]=c) then writeln ('cos(x)=',a[1]);
if (a[1]=b) then writeln ('ln(x)=',a[1]);
if (a[2]=s) then writeln ('sin(x)=',a[2]);
if (a[2]=c) then writeln ('cos(x)=',a[2]);
if (a[2]=b) then writeln ('ln(x)=',a[2]);
if (a[3]=s) then writeln ('sin(x)=',a[3]);
if (a[3]=c) then writeln ('cos(x)=',a[3]);
if (a[3]=b) then writeln ('ln(x)=',a[3]);
end;
if (x<0) then begin
if (a[1]=s) then writeln ('sin(x)=',a[1]);
if (a[1]=c) then writeln ('cos(x)=',a[1]);
if (a[1]=b) then writeln ('ln(x)- ne syshestvuet');
if (a[2]=s) then writeln ('sin(x)=',a[2]);
if (a[2]=c) then writeln ('cos(x)=',a[2]);
if (a[2]=b) then writeln ('ln(x)- ne syshestvuet');
if (a[3]=s) then writeln ('sin(x)=',a[3]);
if (a[3]=c) then writeln ('cos(x)=',a[3]);
if (a[3]=b) then writeln ('ln(x)- ne syshestvuet');
end;
writeln;
readln;
end.
var
a: array [1..n] of real;
i,j:integer;
k,b,c,s,x:real;
begin
writeln(' vvedite x');
readln(x);
a[1]:= sin(x);
a[2]:= cos(x);
a[3]:= ln(x);
b:= ln(x);
c:= cos(x);
s:= sin(x);
begin
for i:=1 to n do
for j:= i+1 to n do
if (a> a[j]) then begin
k:=a; a:= a[j]; a[j]:=k;end;
end;
if (x>0) then begin
if (a[1]=s) then writeln ('sin(x)=',a[1]);
if (a[1]=c) then writeln ('cos(x)=',a[1]);
if (a[1]=b) then writeln ('ln(x)=',a[1]);
if (a[2]=s) then writeln ('sin(x)=',a[2]);
if (a[2]=c) then writeln ('cos(x)=',a[2]);
if (a[2]=b) then writeln ('ln(x)=',a[2]);
if (a[3]=s) then writeln ('sin(x)=',a[3]);
if (a[3]=c) then writeln ('cos(x)=',a[3]);
if (a[3]=b) then writeln ('ln(x)=',a[3]);
end;
if (x<0) then begin
if (a[1]=s) then writeln ('sin(x)=',a[1]);
if (a[1]=c) then writeln ('cos(x)=',a[1]);
if (a[1]=b) then writeln ('ln(x)- ne syshestvuet');
if (a[2]=s) then writeln ('sin(x)=',a[2]);
if (a[2]=c) then writeln ('cos(x)=',a[2]);
if (a[2]=b) then writeln ('ln(x)- ne syshestvuet');
if (a[3]=s) then writeln ('sin(x)=',a[3]);
if (a[3]=c) then writeln ('cos(x)=',a[3]);
if (a[3]=b) then writeln ('ln(x)- ne syshestvuet');
end;
writeln;
readln;
end.
Похожие вопросы
- вопрос по Turbo Pascal
- Вопрос по Turbo Pascal
- Люди помогите пожалуйста....Кто понимает TURBO PASCAL
- Помогите сделать задания по програмированию(двумерные массивы)Turbo Pascal
- Как вставить текст в Turbo Pascal 7.1???
- Turbo Pascal
- Объясните смысл прогаммы в Turbo Pascal
- Я в коледже Turbo Pascal прохожу. Скажите он вообще где нибудь нужен? Может Turbo Pascal морально устарел?
- DOS OC или создание ОС на Turbo Pascal
- turbo pascal 7.0 Определить принадлежность к области точек с заданными координатами!!!