Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2010, 21:40   #1
Юлия428747
Новичок
Джуниор
 
Аватар для Юлия428747
 
Регистрация: 04.12.2010
Сообщений: 7
Смущение Паскаль


1.Даны два числа. Если эти числа кратны некоторому заданному числу, то большее из этих чисел уменьшить в два раза. В противном случае каждое из этих чисел увеличить на сумму их квадратов.

2.найти сумму корней квадратного уравнения. Если эта сумма положительна и кратна трем,то увеличить коэффициенты a и b в 0,5 раза.Иначе проверить,кратна ли данная сума произведению коэффициентов этого уравнения.Если уравнение не имеет корней,то вывести соответствующее сообщение!
Юлия428747 вне форума Ответить с цитированием
Старый 04.12.2010, 21:46   #2
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

а вы хоть какие то усилия приложили, кроме тех чтоб зарегиться и написать на форуме, для решения ваших же задач? если вы хотя бы наполовину решите задание, 2ю половину я допишу а так чтоб на готовенькое передрал и сдал я не люблю.
wm_leviathan вне форума Ответить с цитированием
Старый 04.12.2010, 22:10   #3
Юлия428747
Новичок
Джуниор
 
Аватар для Юлия428747
 
Регистрация: 04.12.2010
Сообщений: 7
По умолчанию

вообще не пониманимаю нифига((((((
нам эту тему не обьяснили даже
я могу только самые простые задачи решать
а эту не пойму!
ну допустим на паре я пыталась чтото сделать со второй задачей и вот что намутила!
Код:
Program n1;
Var c,a,b:integer;
begin
Writeln ('vvedite dva chisla');
Readln(a,b);
if a/c=0 and b/c=0 then
begin
if a>b then a:=a/2 else a<b then b:=b/2
end
else a:=a+sqr(a) and b:=b+sqr(b)
writeln(a,b);
readln
end.
училка сказала что так оформлять нельзя и ушла)я так ничего и не поняла(

Последний раз редактировалось Stilet; 05.12.2010 в 12:16.
Юлия428747 вне форума Ответить с цитированием
Старый 04.12.2010, 22:15   #4
DRAgon™
Форумчанин
 
Аватар для DRAgon™
 
Регистрация: 14.03.2010
Сообщений: 362
По умолчанию

есть такая функция mod,которая выводит остаток от числа, например,
6 mod 2
Ответ:0
замените это
Цитата:
if a/c=0
на
Цитата:
if a mod с=0
Чем больше моя слава, тем я больше тупею; и таково, несомненно, общее правило.(А.Эйнштейн)
DRAgon™ вне форума Ответить с цитированием
Старый 04.12.2010, 22:33   #5
Юлия428747
Новичок
Джуниор
 
Аватар для Юлия428747
 
Регистрация: 04.12.2010
Сообщений: 7
По умолчанию

ну ввела и всеравно дальше там ошибка в этой строчке)
Юлия428747 вне форума Ответить с цитированием
Старый 04.12.2010, 22:39   #6
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

ну скажем так это не 50% решенной задачи как я говорил но хоть что то пыталась вот решение 2й задачи. (паскаля у меня нету но вроде на глаз должно быть правильно)
Код:
Program leviathan;
Var D, X, X1, X2,sum : Real;
 A, B, C: ineger;
Begin
Writeln ('Введите коэффициенты уравнения (A, B, C) ');
readln(a,b,c);
If A=0 Then
If B=0 Then
If C=0 Then Writeln('X - любое число')
Else Writeln('Корней нет! ')
Else 
Begin 
X:=-C/B; 
Writeln('X= ',X); 
End
Else
Begin
D:=B*B-4*A*C;
If D<0 Then Writeln ('действительных корней нет! с мнимыми возиться не будем!')
Else
Begin
X1:=(-B+SQRT(D))/2/A;
X2:=(-B-SQRT(D))/2/A;
sum:=X1+X2;
if (sum>0) and ((sum mod 3)=0) then begin
A:=A*0.5;
B:=B*0.5;
end
else
if (sum mod (a*b*c))=0 then
writeln('кратна произведению');
End;
End;
End.
ЗЫ меня вообще никто не учил я заочник
wm_leviathan вне форума Ответить с цитированием
Старый 04.12.2010, 22:41   #7
Юлия428747
Новичок
Джуниор
 
Аватар для Юлия428747
 
Регистрация: 04.12.2010
Сообщений: 7
По умолчанию

спасибочки огромное )сейчас попробую ввести
Юлия428747 вне форума Ответить с цитированием
Старый 04.12.2010, 22:45   #8
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

кстати я так понял во 2м задании ошибка (гуру поправте меня пожалуйста если я неправ буду)
Цитата:
Если эта сумма положительна и кратна трем,то увеличить коэффициенты a и b в 0,5 раза
значит кофициэнты 'a' 'b' и 'c' должны быть Real Типа иначе нельзя умножить на 0.5 компилятор матюкнется. но тут еще и
Цитата:
Иначе проверить,кратна ли данная сума произведению коэффициентов этого уравнения
Код:
 (sum mod (a*b*c))=0
не выполнится так как делитель mod должен быть integer Типа. либо училка гонит либы я мб округлять умножение т.е.
A:=A*round(0.5);
B:=B*round(0.5);

но это уже умножение на 1 а не на 0.5. вот тут я действительно не вкурсе как поступить.

Последний раз редактировалось wm_leviathan; 04.12.2010 в 22:51.
wm_leviathan вне форума Ответить с цитированием
Старый 04.12.2010, 22:58   #9
Юлия428747
Новичок
Джуниор
 
Аватар для Юлия428747
 
Регистрация: 04.12.2010
Сообщений: 7
По умолчанию

ох ты госпади )))))с ума сойти можно))))
Юлия428747 вне форума Ответить с цитированием
Старый 04.12.2010, 23:05   #10
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

Код:
Program leviathan;
Var D, X, X1, X2,sum : Real;
 A, B, C: ineger;
Begin
Writeln ('Введите коэффициенты уравнения (A, B, C) ');
readln(a,b,c);
If A=0 Then
If B=0 Then
If C=0 Then Writeln('X - любое число')
Else Writeln('Корней нет! ')
Else 
Begin 
X:=-C/B; 
Writeln('X= ',X); 
End
Else
Begin
D:=B*B-4*A*C;
If D<0 Then Writeln ('действительных корней нет! с мнимыми возиться не будем!')
Else
Begin
X1:=(-B+SQRT(D))/2/A;
X2:=(-B-SQRT(D))/2/A;
sum:=X1+X2;
if (sum>0) and ((sum mod 3)=0) then begin
A:=A*round(0.5);
B:=B*round(0.5);
end
else
if (sum mod (a*b*c))=0 then
writeln('кратна произведению');
End;
End;
End.
такой код работать будет но умножает не на 0.5 а на 1. разбирайтесь с училкой че за задания такие. или мб она не вкурсе что типы integer и real это разные типы.
ЗЫ передайте ей я спрашиваю у нее разницу в типах ))
wm_leviathan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль, Борланд Паскаль-в чем разница??? Vremya-Dengy Паскаль, Turbo Pascal, PascalABC.NET 13 31.05.2011 18:23
Паскаль sllh_111 Помощь студентам 1 29.03.2010 12:06
Паскаль Yulia_508 Паскаль, Turbo Pascal, PascalABC.NET 2 10.05.2009 18:55