Страница 1 из 3
очень нужна помощь по турбо-паскалю
Добавлено: 17 май 2007, 08:47
ExPeL
Сильно горят лабы для зачёта, а я в Паскале почти нуб. Понимаю что вас уже наверное достали такие топики, но всё же буду премного благодарен если посодействуете решению моих проблем. За работу готов вознаградить пивом, соками чем угодно, но только в Спб, т.к. вебмани не пользуюсь. Вот сообственно и Лабы:
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) Составьте процедуру, переставляющую в заданной матрице А первую и последнюю строки, вторую и предпоследнюю и т.п.
Re: очень нужна помощь по турбо-паскалю
Добавлено: 17 май 2007, 09:41
wewe
2 задание это случайно не матрица
Re: очень нужна помощь по турбо-паскалю
Добавлено: 17 май 2007, 09:45
ExPeL
нет тема одномерных массивов
Re: очень нужна помощь по турбо-паскалю
Добавлено: 17 май 2007, 10:04
somewhere
Второе:
Код: Выделить всё
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.
Re: очень нужна помощь по турбо-паскалю
Добавлено: 17 май 2007, 10:10
somewhere
ExPeL,
" писал(а):x=sh 1/2(степень) t +t, y=ch 1/2(степень)t -t
sh и ch - это гиперболические синус и косинус или нет? И можно понятнее формулу написать?
Re: очень нужна помощь по турбо-паскалю
Добавлено: 17 май 2007, 10:20
somewhere
Третья:
Код: Выделить всё
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.
Re: очень нужна помощь по турбо-паскалю
Добавлено: 17 май 2007, 10:23
ExPeL
Огромный Сэнкс за 2ое и 3е=)
Да это гиперболические косинус (t) и синус (t) в степени 1/2 каждый.
+t и -t соответственно.
Re: очень нужна помощь по турбо-паскалю
Добавлено: 17 май 2007, 10:27
somewhere
" писал(а):Да это гиперболические косинус (t) и синус (t) в степени 1/2 каждый.
+t и -t соответственно.
Все-равно че-то туплю, картинкой никак не выложить?
Re: очень нужна помощь по турбо-паскалю
Добавлено: 17 май 2007, 10:36
ExPeL
Код: Выделить всё
Попробую так :
1 1
- --
2 2
X= sh (t) +t , y=ch (t)-t
1/2 - это степени
Блин перепробывал все способы нарисовать, но отображается это не корректно. Вообщем степени 1/2 над sh(t) и ch(t)
Re: очень нужна помощь по турбо-паскалю
Добавлено: 17 май 2007, 10:48
somewhere
Так что-ли?