очень нужна помощь по турбо-паскалю
Сильно горят лабы для зачёта, а я в Паскале почти нуб. Понимаю что вас уже наверное достали такие топики, но всё же буду премного благодарен если посодействуете решению моих проблем. За работу готов вознаградить пивом, соками чем угодно, но только в Спб, т.к. вебмани не пользуюсь. Вот сообственно и Лабы:
1)Составьте программу табулирования функции, заданной параметрически, при изменении параметра t от a до b с шагом h.
x=sh 1/2(степень) t +t, y=ch 1/2(степень)t -t
2) Дана последовательность целых чисел x=(x1,x2,x3...,xn). Найдите y=x1+x1*x2+x1*x2*x3+ ... + x1*x2*x3*...*xm, где m - номер первогоотрицательного элемента, или 0, если отрицательных элементов нет.
3) Составьте процедуру, переставляющую в заданной матрице А первую и последнюю строки, вторую и предпоследнюю и т.п.
1)Составьте программу табулирования функции, заданной параметрически, при изменении параметра t от a до b с шагом h.
x=sh 1/2(степень) t +t, y=ch 1/2(степень)t -t
2) Дана последовательность целых чисел x=(x1,x2,x3...,xn). Найдите y=x1+x1*x2+x1*x2*x3+ ... + x1*x2*x3*...*xm, где m - номер первогоотрицательного элемента, или 0, если отрицательных элементов нет.
3) Составьте процедуру, переставляющую в заданной матрице А первую и последнюю строки, вторую и предпоследнюю и т.п.
2 задание это случайно не матрица
нет тема одномерных массивов
Второе:
Код: Выделить всё
uses crt;
const n = 20;
var
a : Array[1..n] of Integer;
x, m : Integer;
pr, s : Longint;
begin
ClrScr; Randomize;
{ Filling an array }
for x := 1 to n do a[x] := random(20) - 2;
For x := 1 to n do Write(a[x]:8);
Writeln;
{ Search the negative number }
m := 1;
While (m <= n) and (a[m] >= 0) do inc(m);
if m <= n then
begin
{ If is }
Writeln('The first negative number found at position ', m);
pr := 1; s:= 0;
for x := 1 to m do
begin
pr := pr * a[x];
s := s + pr;
end;
Writeln('Summ is ', s);
end else {If not } Writeln('There is no negative numbers');
end.
It's a long way to the top if you wanna rock'n'roll
ExPeL,
sh и ch - это гиперболические синус и косинус или нет? И можно понятнее формулу написать?" писал(а):x=sh 1/2(степень) t +t, y=ch 1/2(степень)t -t
It's a long way to the top if you wanna rock'n'roll
Третья:
Код: Выделить всё
uses crt;
const m = 10;
n = 8;
var
a : array[1..m, 1..n] of integer;
x, y : Integer;
Procedure MatrixRevert;
var x, y, t: Integer;
begin
For y := 1 to n div 2 do
for x := 1 to m do
begin
t := a[x, n-y+1];
a[x, n-y+1] := a[x, y];
a[x, y] := t;
end;
end;
begin
ClrScr; Randomize;
For x := 1 to m do for y := 1 to n do a[x,y] := random(200)-100;
Writeln('Source matrix: ');
Writeln;
For y := 1 to n do
begin
for x := 1 to m do Write(a[x,y]:4);
Writeln;
end;
MatrixRevert;
Writeln;
Writeln('Reverted matrix: ');
Writeln;
For y := 1 to n do
begin
for x := 1 to m do Write(a[x,y]:4);
Writeln;
end;
end.
It's a long way to the top if you wanna rock'n'roll
Огромный Сэнкс за 2ое и 3е=)
Да это гиперболические косинус (t) и синус (t) в степени 1/2 каждый.
+t и -t соответственно.
Да это гиперболические косинус (t) и синус (t) в степени 1/2 каждый.
+t и -t соответственно.
Все-равно че-то туплю, картинкой никак не выложить?" писал(а):Да это гиперболические косинус (t) и синус (t) в степени 1/2 каждый.
+t и -t соответственно.
It's a long way to the top if you wanna rock'n'roll
Код: Выделить всё
Попробую так :
1 1
- --
2 2
X= sh (t) +t , y=ch (t)-t
1/2 - это степени
Так что-ли?
It's a long way to the top if you wanna rock'n'roll