Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 17.02.2009, 23:47   #1 (permalink)
teknoid
Новичок
 
Регистрация: 17.02.2009
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Задачки в Паскале_2

Приветствую вас уважаемые светлые головы!!! Помогите пожалуйста решить 2 непростые, как мне кажется, задачищи

1. Составить квадратное уравнение:

ax^2-bx+c=0
a) если есть решение
b) если корни равны
c) если детерминант отрицателен

2. Введите массив из 10 чисел, расставив его так, чтобы сначала были отрицательные числа, а затем положительные.

Заранее спасибо
teknoid вне форума   Ответить с цитированием

Старый 17.02.2009, 23:47
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Участники нашего форума создавали похожие тем ранее

Решить задачки
Помогите решить задачки в Pascal
Задачки на массивы. Паскаль

Старый 18.02.2009, 10:32   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от teknoid Посмотреть сообщение
Приветствую вас уважаемые светлые головы!!! Помогите пожалуйста решить 2 непростые, как мне кажется, задачищи

1. Составить квадратное уравнение:

ax^2-bx+c=0
a) если есть решение
b) если корни равны
c) если детерминант отрицателен

2. Введите массив из 10 чисел, расставив его так, чтобы сначала были отрицательные числа, а затем положительные.

Заранее спасибо
1. Ничего не понял! Причем тут вообще Паскаль? Что требуется - примеры таких уравнений? Или как? Разъясните постановку задачи.

2. Например, так:
VAR
Y, Ypos, Yneg, Yzer:ARRAY[1..10] of INTEGER;
Npos, Nneg, Nzer, i, a:INTEGER;
BEGIN
Npos:=0; Nneg:=0; Nzer:=0;
FOR i:=1 TO 10 DO
BEGIN
Write('Enter next number '); ReadLn(a);
IF a<0 THEN
BEGIN
Nneg:=Nneg+1;
Yneg[Nneg]:=a;
END ELSE
IF a>0 THEN
BEGIN
Npos:=Npos+1;
Ypos[Npos]:=a;
END ELSE
IF a=0 THEN
BEGIN
Nzer:=Nzer+1;
Yzer[Nzer]:=a;
END;
END;
FOR i:=1 TO Nneg DO
Y[i]:=Yneg[i];
FOR i:=Nneg+1 TO Nneg+Npos DO
Y[i]:=Ypos[i-Nneg];
FOR i:=Nneg+Npos+1 TO Nneg+Npos+Nzer DO
Y[i]:=Yzer[i-Nneg-Npos];
FOR i:=1 TO 10 DO
Writeln(Y[i]);
ReadLn;
END.

Числа в массиве расположатся так: сначала отрицательные, затем положительные, затем нули. Вводить можно в произвольном порядке.
Vladimir_S вне форума   Ответить с цитированием
Старый 18.02.2009, 10:46   #3 (permalink)
ummasha
Member
 
Аватар для ummasha
 
Регистрация: 24.12.2008
Сообщений: 419
Записей в дневнике: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1311
По умолчанию

Vladimir_S, а что значат эти переменные:Ypos, Yneg, Yzer, Npos, Nneg, Nzer?
ummasha вне форума   Ответить с цитированием
Старый 18.02.2009, 10:53   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от ummasha Посмотреть сообщение
Vladimir_S, а что значат эти переменные:Ypos, Yneg, Yzer, Npos, Nneg, Nzer?
Программа построена так: если вводится отрицательное число, то оно становится следующим элементом массива Yneg, состоящего ТОЛЬКО из отрицательных чисел, если положительное - массива Ypos, а если "0" - то Yzer. Соответственно Nneg, Npos и Nzer - количество элементов в каждом из массивов. В конце все три массива сливаются в один Y.
Vladimir_S вне форума   Ответить с цитированием
Старый 18.02.2009, 10:57   #5 (permalink)
ummasha
Member
 
Аватар для ummasha
 
Регистрация: 24.12.2008
Сообщений: 419
Записей в дневнике: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1311
По умолчанию

Vladimir_S, спасибо вам за разъяснение))) Теперь я все поняла)))
ummasha вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 18.02.2009, 12:18   #6 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

По первой задаче:
напишите программу нахождения корней квадратного уравнения через дискриминат, потом экспериментальным путем при помощи программы подберите коэффициенты a, b, c такими, чтобы выполнялись все условия. Ответ запишите в виде 3 готовых уравнений.

Задача легче легкого на уровне 9 класса средней школы.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 18.02.2009, 13:01   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от AlexZir Посмотреть сообщение
По первой задаче:
напишите программу нахождения корней квадратного уравнения через дискриминат, потом экспериментальным путем при помощи программы подберите коэффициенты a, b, c такими, чтобы выполнялись все условия. Ответ запишите в виде 3 готовых уравнений.

Задача легче легкого на уровне 9 класса средней школы.
Вот именно что легче легкого. Таких уравнений я сходу могу десяток нарисовать. Безо всякого Паскаля. Или тут надо генератор случайных чисел врубать и вылавливать подходящие комбинации коэффициентов? Нет уж, пусть разъяснит, тогда напишем. В шесть секунд.
P.S. Между прочим, я даже не в курсе - не изменилось ли определение дискриминанта в школе с тех далеких времен, когда я в ней учился. Нас учили, что D = b*b - 4*a*c, а вот в "большой математике", исходя из каких-то общностей теории алгебраических уравнений, принято считать D = 4*a*c - b*b , и, соответственно, вещественное решение имеется, когда D<0. А как у них сейчас? Не знаю.
Vladimir_S вне форума   Ответить с цитированием
Старый 18.02.2009, 23:24   #8 (permalink)
teknoid
Новичок
 
Регистрация: 17.02.2009
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Zaranee izvenjajusj za translit, na noute net russkih bukov

Vobwem po pervoj zada4e... Mne nado sdelatj programku v paskale. Zadanie zvu4it tak. Sostavitj rewenie kvadratnogo uravnenie ax^2-bx+c=0 esli estj otvet,esli korni ravni, esli deskriminant negativnij... Mogut bitj neto4nosti v perevode, tak kak perevozu s drugogo jazika. Prowu pomo4,o4enj nado,,,Sam toka na4al u4itsja, poetomu pojasnitj to4nee 4to nado ne mogu...
teknoid вне форума   Ответить с цитированием
Старый 18.02.2009, 23:25   #9 (permalink)
teknoid
Новичок
 
Регистрация: 17.02.2009
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Zaranee izvenjajusj za translit, na noute net russkih bukov

Da kstati boljwoe spasibo za vtoruju zada4u
teknoid вне форума   Ответить с цитированием
Старый 18.02.2009, 23:52   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от teknoid Посмотреть сообщение
Vobwem po pervoj zada4e... Mne nado sdelatj programku v paskale. Zadanie zvu4it tak. Sostavitj rewenie kvadratnogo uravnenie ax^2-bx+c=0 esli estj otvet,esli korni ravni, esli deskriminant negativnij... Mogut bitj neto4nosti v perevode, tak kak perevozu s drugogo jazika. Prowu pomo4,o4enj nado,,,Sam toka na4al u4itsja, poetomu pojasnitj to4nee 4to nado ne mogu...
Ах всё-таки решение? Ну тогда дело другое.

VAR
a, b, c, D, X1, X2:REAL;
BEGIN
Write('a= '); ReadLn(a);
Write('b= '); ReadLn(b);
Write('c= '); ReadLn(c);
D:=SQR(b)-4*a*c;
IF D>0 THEN
BEGIN
WriteLn('X1 = ', (b+SQRT(D))/2/a);
WriteLn('X2 = ', (b-SQRT(D))/2/a);
END ELSE
IF ROUND(D*10000)=0 THEN
WriteLn('X1 = X2 = ', b/2/a) ELSE
Writeln('The equation has no solutions');
Readln;
END.

Последний раз редактировалось Vladimir_S; 19.02.2009 в 12:16
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 19:37.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.