Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Решение задач на Pascal. Форум 2
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]
Модераторы: paradise, KMA
  

KMA



Долгожитель

Zheka, я тебе быстыдно наврал. Я скопировал код, который был до сохранения рабочей программы... Посмотри выше, я чтобы не постить по сто раз одно и то же там все переправил.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 16 нояб. 2007 21:46 | IP
Zheka



Новичок

to KMA: Твоя программа работает, но всё же по условию задачи массив W состоит из 15 чисел, если сделать  L=15, то программа выдаёт ту же ошибку только теперь на 14-той итерации.
И вот ещё, определил где всё таки программа находит ошибку, оказалось в нахождении логарифма  ln(0.1-i)...


(Сообщение отредактировал Zheka 17 нояб. 2007 18:54)

Всего сообщений: 19 | Присоединился: октябрь 2007 | Отправлено: 17 нояб. 2007 19:40 | IP
KMA



Долгожитель


to KMA: Твоя программа работает, но всё же по условию задачи массив W состоит из 15 чисел, если сделать  L=15, то программа выдаёт ту же ошибку только теперь на 14-той итерации.
И вот ещё, определил где всё таки программа находит ошибку, оказалось в нахождении логарифма  ln(0.1-i)...



Ну хоть чуть-чуть повнимательнее будь, пожалуйста. Что ты вообще написал такое?


ln (0.1-i)


Это даже при всем желании чисто из математических соображений быть правильным не может. У тебя в задании стоит ln (0.1i).

Действительно при 15 моя программа уже теряется. Но до 15 это было связано как раз с тем логарифмом, в котором стоял косинус... Сделали упрощение, в итоге получили уже более приближенную задачу.

У меня кстати и на косинусах вылетает. С преподавателем говорил? Спроси у него, может чего посоветует дельного. Мне пока в голову никаких идей не идет.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 18 нояб. 2007 18:09 | IP
Guest



Новичок

помогите, пожалуйста.

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

Всего сообщений: Нет | Присоединился: Never | Отправлено: 18 нояб. 2007 22:11 | IP
Mira_5



Новичок

Здравствуйте, всем.
подскажите, пожалуйста, не могу с Паскалем разобраться:
Есть у меня задача: Задан массив из 10-ти КОМПЛЕКСНЫХ (!!!) чисел. Надо из этого массива найти наименьшее по модулю число.
Сам алгоритм простой...
Но вот не чего могу понять: как задавать эти комплексные числа? (ну, в Паскале есть integer, real... комплксных нету)...
И ещё: в самой операции: подскажите, пожалуйста, как состаить формулу для нахождения наименьшего по модулю комплексного числа?
Заранее спасибо большое за любую помощь...

Всего сообщений: 39 | Присоединился: сентябрь 2007 | Отправлено: 19 нояб. 2007 18:26 | IP
DDD 87


Новичок

Помогите пожалуста студенту.
Мне нужно блок-схема любая больше 20 дейстий, присшлите мне пожалуста све что ввас есть
Зарания спасибо

Всего сообщений: 1 | Присоединился: ноябрь 2007 | Отправлено: 19 нояб. 2007 19:41 | IP
KMA



Долгожитель


подскажите, пожалуйста, не могу с Паскалем разобраться: сть у меня задача: Задан массив из 10-ти КОМПЛЕКСНЫХ (!!!) чисел. Надо из этого массива найти наименьшее по модулю число.


Как таковых комплексных чисел в Паскале нет. Это действительно так. Но никто не мешает тебе их ввести. Я бы сделал так: Задал матрицу 2*10. В первой строке были бы действительный части чисел, а во второй комплексные. В принципе, и отделять бы не пришлось.

можно всегда конечно строчкой представить комплексное число, т. е. прямым видом a+bj, соответственно тогда тебе придется выделять числа из строки и преобразовывать их.  

Модуль комплексного числа есть квадрат суммы действительной и мнимой части.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 19 нояб. 2007 23:13 | IP
Mira_5



Новичок

To KMA (about the complexMass):

Может быть, у Вас (или у кого-то на форуме) есть примеры решения таких задач -- обработка массивов из комплексных чисел? даже не обязательно, чтобы это было в точности такое условие -- просто вот, например, я,  всё сразу понимаю, если перед глазами готовый пример

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

Всего сообщений: 39 | Присоединился: сентябрь 2007 | Отправлено: 23 нояб. 2007 14:09 | IP
KMA



Долгожитель

Нет, на форуме я такого не встречал. Опять же могу только предположить как это задается. Вообще программирование наука творческая и твое дело в том, как ты представишь. Вот я, например, решил представить комплексное число как пару, т. е. массив состоящий из двух строк, первая строка хранит реальную часть, а вторая мнимую, т. е. для числа 8.3-j5, массив будет иметь значение:

8.3
-5

Пример, написал.

Code Sample:
 
const size=2; {количество элементов в массиве}
Var
  _complexArray: array [1..2, 1..size] of real;
  _complexNumber: string;

{получаем из двух частей строку в виде комплексного числа}
function complexNumberToStr (realPart, imaginaryPart: real): string;
Var _buf: string; { переменная обменник}
   _res: string; { результирующая строка}
Begin
    str (realPart:5:2, _res); {переводим в строку реальну часть}
    str (imaginaryPart:5:2, _buf); { то же самое но мнимую}
    if _buf[1]='-' {проверяем на отрицательность}
       then _res:=_res+'-j'+copy (_buf, 2, length(_buf)-1)
       else _res:=_res+'+j'+copy (_buf, 2, length(_buf)-1);
    complexNumberToStr:=_res;
End;
{ВАЖНО: почему копируем со второго символа?
Потому что положительный числа преобразуется в строку так:
_12345, где _ это пробел, а отрицательные, соответственно с минусом.}


{получение из строки реальной и мнимой части}
procedure complexNumberFromStr (cmplNmbStr: string; var realPart, imaginaryPart: real);
Var i, _len: integer;
   _buf: string;
   _code: integer;
Begin
    i:=1;
    _buf:='';
    for i:=1 to length(cmplNmbStr) do {просто проверка на лишние пробелы}
     if cmplNmbStr[ i ]<>' '
        then _buf:=_buf+cmplNmbStr[ i ];
   
    i:=pos('j', _buf); {позиция начала мнимого числа}
    val (copy (_buf, 1, i-2), realPart,_code); {реальная часть}
    val (copy (_buf, i+1, length(_buf)), imaginaryPart, _code); {мнимая}
    if _buf[i-1]='-' {проверка, если мнимая оказалась отрицательной}
       then imaginaryPart:=-imaginaryPart;

End;

BEGIN
    complexNumberFromStr('11.5+j9.6', _complexArray[1, 1],_complexArray[2, 1]);
    writeLn ('задаем 1 комлексное число')
    writeLn (_complexArray[1, 1]:5:2,_complexArray[2, 1]:5:2);

     _complexArray[1, 2]:=23.5;
     _complexArray[2, 2]:=-3.6;
     writeLn ('Выводим заданное отрицательное число 2');
     writeLn (complexNumberToStr(_complexArray[1, 2],_complexArray[2, 2]))
    readLn;
END.



Тут я все проверял, программа должна быть рабочей. Я в принципе, достаточно написал для того, чтобы вы смогли решить вашу задачу.


(Сообщение отредактировал KMA 23 нояб. 2007 22:08)

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 23 нояб. 2007 22:07 | IP
Mira_5



Новичок

Спасибо Вам большое!

Я бы, конечно, так сама никогда не написала, по крайней мере, на теперешнем этапе своих "знаний"...
Даже предположений никаких не было

Сейчас попробую в этом разобраться

(Сообщение отредактировал Mira 5 23 нояб. 2007 23:17)

Всего сообщений: 39 | Присоединился: сентябрь 2007 | Отправлено: 23 нояб. 2007 23:12 | IP

Эта тема закрыта, новые ответы не принимаются

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]

Форум работает на скрипте © Ikonboard.com