IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Много разных задач., Помогите решить....
-Slim-
сообщение 20.04.2005 11:46
Сообщение #1


Гость






Помогите решить несколько простеньких(для вас, а не для меня) задач....
Вот задания:

1)Границы промежутка заданы случайными числами. Проверить существование данного промежутка. На данном промежутке найти все числа, кратные числу с и их количество.
Последовательность решения:
1. Описать переменные a, b, c как integer.
2. Задать с клавиатуры коэффициент кратности c.
3. Задать промежуток:
randomize; {подключение генератора случайных чисел}
a:=random(50); {задание случайного числа в пределах от 1 до 50}
в:=random(100); {задание случайного числа в пределах от 1 до 100}
4. Проанализировать существование промежутка: если a>b, то промежуток не существует.
5. Организовать цикл от a до b и найти все кратные числа:
for i:= а to в do {задание границ промежутка случайными числами }
if int(i/2)=i/2 then begin write( i, ’ ‘); k:=k+1; end;
6. Проанализировать значение счетчика к и выдать соответствующее сообщение.
7. Осуществить задержку результата на экране.
---------------------------------------------------------------------------------------------
2). Даны натуральные числа А и В. Определить их наименьшее общее кратное.
Последовательность решения:
• формируем тело программы и описываем переменные:
a,b,c,d,NOD-как integer; NOK – как real;
• вводим натуральные числа А и В;
• запоминаем их в ячейках C и D;
• находим НОД чисел А и В;
• запоминаем его в ячейке NOD;
• вычисляем НОК по формуле: NOK = C*D / NOD;
• выводим результат.
• Подбираем контрольный пример для проверки программы.
---------------------------------------------------------------------------------------------
3)Составить программу вычисления корней квадратного уравнения вида a x 2 + b x + c = 0

Последовательность действий:
1. Описать переменные a, b, c, d, x1,x2 как REAL.
2. Задать с клавиатуры коэффициенты a, b, c.
3. Вычислить значение дискриминанта d = b 2 – 4 a c
4. Вывести значение дискриминанта на экран
5. Проверить значение дискриминанта:
• Если дискриминант меньше нуля, то нет решения
• Если дискриминант больше или равен нулю, то вычислить
значения x1 и x2

Заранее спасибо.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 12)
klem4
сообщение 21.04.2005 6:59
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


И что не получается ? Покажите нам ваш код и если надо мы его поправим.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Atos
сообщение 21.04.2005 7:42
Сообщение #3


Прогрессор
****

Группа: Модераторы
Сообщений: 602
Пол: Мужской
Реальное имя: Михаил

Репутация: -  9  +


А вообще, если не знаешь паскаля, надо хотя бы попробовать учебник почитать. Например, Фаронов. ТурбоПаскаль. Учебный курс
Алгоритм решения у тебя уже есть, осталось перевести его на Паскаль. Если что-то не знаешь, читай соответствующую главу. Если уж совсем что-то непонятно, задавай конкретный вопрос по какому-либо действию. Если не пробовать хоть что-то написать самостоятельно, то никогда программированию не научишься.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
-Slim-
сообщение 28.04.2005 8:49
Сообщение #4


Гость






Объясните что это значит:

вводим натуральные числа А и В;
запоминаем их в ячейках C и D;

Как их запомнить в ячейках???????
 К началу страницы 
+ Ответить 
volvo
сообщение 28.04.2005 8:57
Сообщение #5


Гость






Описываем 4 переменные: A, B, C, D... Вводим A и B с клавиатуры, и далее - просто запоминаем эти же значения еще раз (чтобы они не потерялись при вычислении НОД):
C := A;
D := B;
 К началу страницы 
+ Ответить 
Guest
сообщение 28.04.2005 11:33
Сообщение #6


Гость






Объясните плиз....что я сделал не правильно.....пишет ошибка номер 200....

Program myNOK;
uses Crt;
var a,b,c,d,NOD:integer; NOK:real;
Begin
WriteLn('Введите первое число');
read( a );
a:=c;
WriteLn('Введите второе число');
read( B );
b:=d;
While c<>d do
if c>d then c:=c-d else d:=d-c;
d:=NOD;
Writeln('НОК равен ----> ',NOK,'');
readln;
Repeat until keypressed;
end.

 К началу страницы 
+ Ответить 
volvo
сообщение 28.04.2005 11:45
Сообщение #7


Гость






Ошибка №200 - это "непропатченный" модуль CRT... Читай здесь Ошибка 200 (и попробуй поискать по форуму: ключевое слово - "пропатченный")
 К началу страницы 
+ Ответить 
-Slim-
сообщение 28.04.2005 12:35
Сообщение #8


Гость






Я всё пропатчил....ничего не изменилось....я думаю что ошибка в коде.....потому что всё остальное у меня работает.....
 К началу страницы 
+ Ответить 
AlienEmperor
сообщение 28.04.2005 12:38
Сообщение #9


Бывалый
***

Группа: Пользователи
Сообщений: 160
Пол: Мужской
Реальное имя: Серый

Репутация: -  0  +


Это же можно легко проверить: убери из проги Uses Crt и, соответственно Repeat Until Keypressed... Будет работать - ОК, значит CRT, не будет - глючит компилятор....


--------------------
Все в жизни ботва... Кроме пчел!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 28.04.2005 12:44
Сообщение #10


Гость






-Slim-,
не будет это работать... Смотри:
Program myNOK;
uses Crt;
var a,b,c,d,NOD:integer; NOK:real; { <-- NOK вещественный ??? }
Begin
WriteLn('Введите первое число');
read( a );
a:=c;
WriteLn('Введите второе число');
read( B );
b:=d;
While c<>d do
if c>d then c:=c-d else d:=d-c;
{ До этого момента проблем быть не должно }
d:=NOD; { <-- Здесь: откуда берется NOD? Каково его значение? }
Writeln('НОК равен ----> ',NOK,''); { <-- Здесь: NOK?}
{ А что ему присваивали, чтобы его печатать }
readln;
Repeat until keypressed;
end.


Но и ошибки 200 здесь тоже быть не должно... Ну нет здесь деления на 0...
 К началу страницы 
+ Ответить 
-Slim-
сообщение 28.04.2005 12:45
Сообщение #11


Гость






Убрал.....всё равно не работает....всё таже ошибка 200.
А код то я правильно написал???????
 К началу страницы 
+ Ответить 
volvo
сообщение 28.04.2005 13:03
Сообщение #12


Гость






А вообще-то NOK вычисляется вот так:
Program myNOK;
var
a,b,c,d,NOD,NOK:integer; { все значения целые !!! }
Begin
WriteLn('Введите первое число'); readln( a );
c := a; { <-- не наоборот, а именно так !!! }
WriteLn('Введите второе число'); readln( B );
d := b; { <-- здесь тоже !!! }

while(c*d <> 0) do
if c < d then d := d mod c else c := c mod d;
NOD := c + d;

NOK := a*b div NOD; { div потому что NOK должен быть целым }
Writeln('НОК равен ----> ',NOK);
readln;
end.
 К началу страницы 
+ Ответить 
Guest
сообщение 28.04.2005 18:42
Сообщение #13


Гость






Спасибо!
А по тому алгоритму что я в самом начале написал...реально что-нибудь составить???
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 2:06
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"