Автор Тема: ПОМОГИТЕ С ПАСКАЛЕМ!!!  (Прочитано 12700 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн GerM

  • Ветеран
  • *****
  • Сообщений: 3160
  • Карма: -1013
  • Пол: Мужской
  • ...хихик...
    • Просмотр профиля
ПОМОГИТЕ С ПАСКАЛЕМ!!!
« : 21.01.07, 22:14:18 »
Не знаю в том ли разделе я создал тему...ну да ладно, помогите пожалуйста с Паскалем, одному хорошему человеку, очень просил...вот задачка, просто надо написать программу в Паскале...

В квадратной таблице обменяйте местами элементы строки и столбца на пересечении которых ноходится минимальный из положит элементов.

Заранее спасибо...

МОдераторы, сорри, но очень надо... <:/
 (с) GerM :-)


ONLINE

  • Гость
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #21 : 12.10.07, 00:31:08 »
уххх скоко темка не обновлялась....

прощу помощи! на ночь глядя:
надо пощитать y=(ctg|a|)^(1/7)
знаю что где-то тупо накосячил,но изза того что точно не знаю функцию экспоненты,разобрацо не могу...

program lab;
var x,y,a:real;
begin
writeln('Вводим число');
readln(x);
a:=(x/2)+(x*x/4)+(x*x*x/8);
y:=EXP(Ln (cos(abs(a)))/(sin(abs(a))))*7);
writeln(y);
readln;
end.
если добавить библиотеку crt то изначально выдает деление на ноль...
а так вроде считает но только с целыми значениями,хотя интежер не стоят...
есть мысль дописать еще условие if (a>0) then y:=EXP(ln(ctg(a))*7)
тогда еще раз присвоение делать...
скажите точно мне синтаксис эспоненты мб там деление...=\

надеюсь на Вашу помощь,спасибо:)
« Последнее редактирование: 20.09.08, 23:13:50 от ONLINE »

Оффлайн _Atheist_

  • Постоялец
  • ***
  • Сообщений: 126
  • Карма: 16
    • Просмотр профиля
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #22 : 12.10.07, 09:38:43 »
Насколько мне помнится, в библиотеке CRT бага деления на ноль в турбопаскале возникает на всех компах быстрее 486. Посмотри вот здесь

Оффлайн Wizard

  • Ветеран
  • *****
  • Сообщений: 1861
  • Карма: -3
  • Пол: Мужской
    • Просмотр профиля
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #23 : 12.10.07, 16:53:20 »

прощу помощи! на ночь глядя:
надо пощитать y=(ctg|a|)^(1/7)
a:=(x/2)+(x*x/4)+(x*x*x/8);

y:=EXP(Ln (cos(abs(a)))/(sin(abs(a))))*7);
скажите точно мне синтаксис эспоненты мб там деление...=\


Умножение там. Но степень 1/7, значит надо умножать на 1/7 или делить на 7! Да и со скобками непорядок (лишние)
Т.е.
y:=exp(ln(cos(abs(a))/sin(abs(a)))/7);

Проверку на а<0 не нужно, там abs есть, а на а=0 сделать можно - там у функции разрыв.
« Последнее редактирование: 12.10.07, 17:07:02 от Wizard »

Оффлайн LEND

  • Пользователь
  • **
  • Сообщений: 95
  • Карма: 155
  • Истина как всегда где-то рядом
    • Просмотр профиля
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #24 : 12.10.07, 18:21:28 »
ONLINE

   y=(ctg|a|)^(1/7)
Это степенная функция.
Функция возвращает значение ctg|a| в степени 1/7 при ctg|a|
  или EXP((1/7)*Ln(ctg|a|)
  или EXP((1/7)*Ln(cos|a|/sin|a|)
Правильно ОНА пишется программно на ПАСКАЛЕ
y:=EXP((1/7)*Ln(cos(abs(a))/sin(abs(a))));

А вот тут WIZARD правильно написал:
Проверку на а<0 не нужно, там abs есть, а на а=0 сделать
можно - там у функции разрыв.
Возникает ошибка 200(Divizion by zero) - деление на нуль

Программа выглядит так:

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
program lab;
{uses crt;}
var x,y,a:real;
begin
writeln('Вводим число');
readln(x);
a:=(x/2)+(x*x/4)+(x*x*x/8);
a:=(x/2)+EXP(2*ln(x))/4+EXP(3*ln(x))/8; {Можно так}

(*a:=0 {Если хочешь разделить на ноль и УВИДЕТЬ номер ошибки 200 и сообщение}*)

(*y:=EXP(Ln(cos(abs(a)))/(sin(abs(a))))*7); {Неправильно}*)

y:=EXP( (1/7)* Ln(  cos(abs(a))/sin(abs(a)) )); {Правильно}

writeln(y:10:5);
readln;
end.

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Без CRT
При
     10 - 0.92000
     11 - 0.91965
     12 - 1.13570
     14 - 1.77897
     ..........
     20 - 0.93339
с CRT то же самое
   
При некоторых значениях  ВВОДА x
возникает ошибка 207(Invalid floating point operation)
 Недопустимая операция с плавающей запятой
 Возможна причина:
 Аргумент функции LN(логарифм) равен нулю или имеет отрицательное значение
В мире временном, сущность которого - тлен,
Не сдавайся вещам несущественным в плен. © О.Х.

ONLINE

  • Гость
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #25 : 12.10.07, 20:49:45 »
LEND , Wizard и _Atheist_ ОГРОМНЕЙШЕЕ СПАСИБО! 

разобрался вроде  :-:)

Operator007

  • Гость
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #26 : 20.11.07, 23:54:27 »
Люди добрые помогите решить задачку.
Текст задачки в прикрепленом файле

Оффлайн Nimak

  • Старожил
  • ****
  • Сообщений: 304
  • Карма: -666
    • Просмотр профиля
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #27 : 21.11.07, 01:13:36 »
Люди добрые помогите решить задачку.
Текст задачки в прикрепленом файле
Задачу та сделать можно. Но вот странно. У тебя "а" начинается с индексом 0 и заканчивается 0... Хотя ты уменьшаешь n на -1. И от куда брять значения q и S? Я так понимаю это геометрическая последовательность?

Operator007

  • Гость
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #28 : 21.11.07, 01:17:30 »
Люди добрые помогите решить задачку.
Текст задачки в прикрепленом файле
Задачу та сделать можно. Но вот странно. У тебя "а" начинается с индексом 0 и заканчивается 0... Хотя ты уменьшаешь n на -1. И от куда брять значения q и S? Я так понимаю это геометрическая последовательность?
тоже смутило это обстоятельство,завтра подойжу-узнаю точно, а q и S вводить с клавиатуры

Operator007

  • Гость
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #29 : 21.11.07, 16:44:17 »
прояснил ситуацию, как мне сказали "а" нулевое в конце получается путем "а" с индексом n-n, а это 0

Operator007

  • Гость
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #30 : 21.11.07, 20:21:01 »
ну хто поможет, к завтра нуна

Оффлайн Evgee

  • Пользователь
  • **
  • Сообщений: 78
  • Карма: 23
  • Пол: Женский
    • Просмотр профиля
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #31 : 21.11.07, 22:13:04 »
Очень прошу помогите решить задачу...

Оффлайн Nimak

  • Старожил
  • ****
  • Сообщений: 304
  • Карма: -666
    • Просмотр профиля
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #32 : 21.11.07, 22:40:55 »
Ну вроде работает. Задача для Оператора007. Кстати, не вводи "к" больше 100... Там массивы всего на 100 элементов.

program Z1;
uses CRT;
var
 a,b: array [1..100] of real;
 q,s,j, sum: real;
 k1,k2: integer;
begin
 clrscr;
 write('Введите S: ');
 readln(s);
 write('Введите j: ');
 readln(j);
 write('Введите q: ');
 readln(q);
 write('Введите количество эдементов (k): ');
 readln(k1);
 writeln;
 k2:=1;
 a[k2]:=1;
 b[k2]:=1;
 repeat
  k2:=k2+1;
  a[k2]:=q*sin(b[k2-1])+s*cos(a[k2-1]);
  b[k2]:=j*sqr(a[k2-1])+b[k2-1];
 until k2>k1;
 k2:=1;
 sum:=sum+a[k1]*b[k2];
 repeat
  k1:=k1-1;
  k2:=k2+1;
  sum:=sum+a[k1]*b[k2];
 until k1=0;
 writeln;
 writeln ('Сумма: ',sum:4:2);
 readln;
end.
« Последнее редактирование: 21.11.07, 22:54:35 от Nimak »

Operator007

  • Гость
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #33 : 21.11.07, 22:53:37 »
Ну вроде работает. Это первая задача.


спасибо большое=) у мя походу паскаль глюченый ошибку выдает Range chek error :'(

Оффлайн Nimak

  • Старожил
  • ****
  • Сообщений: 304
  • Карма: -666
    • Просмотр профиля
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #34 : 21.11.07, 22:56:38 »
Ну вроде работает. Это первая задача.


спасибо большое=) у мя походу паскаль глюченый ошибку выдает Range chek error :'(
Не знаю че у тебя за косяк, но я задачу прямо с форума в паскаль засунул, все работает, косяк только с кодировкой русского теста.

Оффлайн BERKYT

  • Старожил
  • ****
  • Сообщений: 866
  • Карма: 418
  • Пол: Мужской
    • Просмотр профиля
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #35 : 22.11.07, 09:23:21 »
Очень прошу помогите решить задачу...
тут вообщем то не сложно..главное формулы помнить..а я позабыл :-o
недавно что-то типо того решал...

Оффлайн Kook

  • Старожил
  • ****
  • Сообщений: 294
  • Карма: 6
  • Music is my weapon
    • Просмотр профиля
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #36 : 22.11.07, 14:11:58 »
Поздно приеду сегодня! Лови ответ!

Цитировать
program Project1;
const
  x=2828.4E-3;
  y=4.1093;
  z=-7*sqrt(pi)/9.5;

var
  a,b,q:real;

begin
//x^y=exp(y*ln(x));
//Arccos(z)=-i*Ln(z+sqrt(z^2-1));
a:=(1+y)*(x*exp(1/2.5*ln(x+3))+(y/(x*x+4)))/(exp(-x-2)+1/(x*x+4));
b:=(1+cos(a+2))/(x*x*x*x/2+sqr(sin(z)));
q:=ln(abs(a+sqrt(b)));
q:=ln(q+sqrt(q*q-1));
writeln('-i *',q);
end.
Russian Music Makers
Пока есть синтез звука и он не исчерпан - будет интересно...

Оффлайн ANtZ [[devil]] RгоDkA

  • Ветеран
  • *****
  • Сообщений: 1518
  • Карма: 0
  • Пол: Женский
  • Я ηε ραδοταю β Эλςαϋτ!
    • Просмотр профиля
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #37 : 22.11.07, 14:54:28 »
Насколько мне помнится, в библиотеке CRT бага деления на ноль в турбопаскале возникает на всех компах быстрее 486. Посмотри вот здесь
только до целиков... можно использовать double тогда нормально пашет)
эτο ηε ωρυφτ - эτο ποҹερκ τακοϋ ;-)
у меня весомый аргумент!
местная шлюшка на расхват...

Оффлайн Дюна

  • Пользователь
  • **
  • Сообщений: 79
  • Карма: 31
  • Пол: Женский
  • Богов много, а мы одни.
    • Просмотр профиля
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #38 : 05.12.07, 19:18:23 »
помогите пожалуйста с задачками
в задачах (кроме номера 8 ) сначала дается общее условие, а в конце уже конкретная задача.

Оффлайн Nimak

  • Старожил
  • ****
  • Сообщений: 304
  • Карма: -666
    • Просмотр профиля
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #39 : 07.12.07, 22:24:06 »
помогите пожалуйста с задачками
в задачах (кроме номера 8 ) сначала дается общее условие, а в конце уже конкретная задача.
помогите, плииз, хотя бы по одной с каждого листа.. или просто одну
А теперь красавицы, напишите хотя бы по одной задачи с каждого листа печатным текстом... А то трудно подобрать ключ расшифровки к вашиму шрифту.

Оффлайн Дюна

  • Пользователь
  • **
  • Сообщений: 79
  • Карма: 31
  • Пол: Женский
  • Богов много, а мы одни.
    • Просмотр профиля
Re: ПОМОГИТЕ С ПАСКАЛЕМ!!!
« Ответ #40 : 09.12.07, 11:53:26 »

Составить подпрограмму, вычисляющую значение TRUE,если количество положительных элементов исходного одномерного массива больше количества его отрицательных элементов и значение FALSE в противном случае.
Если количество положительных элементов в заданном массиве В больше, чем отрицательных, подсчитать сумму индексов положительных элементов, иначе определить сумму отрицательных элементов

В=(2,5; -0,006; 45,92; 0; 2,74; -15; 51,7)


Задача 8

Создать функцию, вычисляющую количество строк матрицы А, состоящей из m строк и  n столбцов, сумма элементов каждой из которых меньше нуля. Использовать функцию для вычисления указанных  величин в следующих 2х матрицах: матрице С из 4х строк и 5 столбцов и матрице D  из 5 строк и 3 столбцов


Задача 9

Составить процедуру, формальными параметрами которой являются 2 массива В1,В2,?Вn;С1,С2,Сm либо один из них, или матрица А  из n строк и  n  столбцов.
Составленную процедуру использовать в основной части программы для обработки фактических массивов или матрицы.
Массив Р1,Р2,?Рn    Рi=1,если в  i-той строке матрицы А положительных элементов больше, чем отрицательных, иначе Рi=0


Задача 10

Разработайте программу, создав предварительно функцию или процедуру по условию задачи. Приведенные числа используйте для задания, типов данных и размеров массивов при вводе-выводе

Составить подпрограмму нахождения индексов максимального элемента матрицы. Используя такую подпрограмму найти скалярное произведение строки на столбец заданной квадратной матрицы В с номерами, соответственно равными  индексам ее максимального элемента


                     -0,0004     2,5           6,21
В=                19              -45,1       0
                     -2,75         5,7           12,9


Составить процедуру, формальными параметрами которой являются 2 массива В1,В2,?Вn;С1,С2,Сm либо один из них, или матрица А  из n строк и  n  столбцов.
Составленную процедуру использовать в основной части программы для обработки фактических массивов или матрицы.
Массив Р12,Р2,?Рm полученный из массива С1,С2,?Сm по правилу (формула с суммой на первом листе, хз как напечатать)