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

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

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

> Нахождение простого числа.
urbAn
сообщение 30.09.2007 15:43
Сообщение #1





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

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


Я начинающий в этом деле , изучаю паскаль вторую неделю - но не могу разобратся с блоксхемой для данной задачи.

Задача:
Ввести число B ( обязательно не простое число ) . Найти ближайшее простое число к числу B (например B=9 то ближайшее должно получится 11 , а если 20 то ближайшее 23 ).

Впринципе понятно что надо писать программу при использовании циклов .И при использовании ( while и repeat ). Если кому то не лень повозится с новичком , то обьясните пожалуйсто.

Сообщение отредактировано: urbAn - 30.09.2007 15:44
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Neznaika
сообщение 6.10.2007 10:54
Сообщение #2


Пионер
**

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

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


Наверно уже не нужно, но я кажется знаю, что urbAn имеет в виду.


program Prog;

{ Проверка составного числа: Check. }
function Check( B : Integer ) : Boolean;
var
I : Integer;
begin
Check := TRUE;
for I := 2 to Trunc(Sqrt(B)) do
if (B mod I) = 0 then
Exit;
Check := FALSE
end; { Check }

var
B, I, X : Integer;
begin
Write('Введите число: ');
ReadLn(B);
if B < 2 then
begin
Write('ОШИБКА: ',B,' < 2!');
Exit
end;
if not Check(B) then
begin
Write('ОШИБКА: ',B,' - простое число!');
Exit
end;
{ === Решение задачи === }
X := 0;
for I := B + 1 to MAXINT do
if not Check(I) then { Найдено простое число! }
begin
X := I;
Break
end;
if X <> 0 then
Write('Ближайшее простое число после ',B,' равно ',X,'.')
else { X = 0! }
Write('Число не найдено.')
end.



Зачем я это написал?
Эта программа является "примером", показывающим зачем нужны подпрограммы:
Цитата
Когда в разных частях программы выполняются несколько одинаковых действий
(они решают одну и ту же задачу с возможно разными исходними данными и результатом),
такие действия лучше выделить в подпрограмму.

Для начинающих...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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