Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/28: Рейтинг темы: голосов - 28, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 06.09.2010
Сообщений: 18

Вывод простых чисел

07.09.2010, 00:04. Показов 5884. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
нужно создать функцию аргумент кот будет двухбайтовое целое беззнаковое число,значение фун-ции истина если аргумент простое число - в противном-ложь. поместить фун-цию в отдельный пас файл,создать программу вывода в поле мемо1 простые числа от 0 до N.

Добавлено через 1 минуту
Цитата Сообщение от Son'ka Посмотреть сообщение
нужно создать функцию аргумент кот будет двухбайтовое целое беззнаковое число,значение фун-ции истина если аргумент простое число - в противном-ложь. поместить фун-цию в отдельный пас файл,создать программу вывода в поле мемо1 простые числа от 0 до N.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function prost (n : integer) : boolean;
var
 r : integer;
 j : integer;
begin
  r := 2;
  repeat
   j := n mod r;
  if j <> 0 then r := r+1
   until j=0;
   if r=n then prost := true
   else prost := false;
    end;
  begin
   if prost(j) then Memo1.Lines.Add(IntToStr(j));
Добавлено через 3 минуты
помогите пожалуйста что не так где ошибка?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.09.2010, 00:04
Ответы с готовыми решениями:

Генерация простых чисел
добрый вечер. Начал заниматься генераторами простых чисел и увы моих знаний не достаточно для получения чисел по теореме: пусть...

Нахождение простых, взаимно-простых и парно-простых чисел из указанного диапазона
Нужна помощь мне нужно создать программу для нахождение простых,взаимнопростых и парно простых чисел из указанного диапазона. у меня...

Найти первые десять простых чисел (остаток от деления простых целых)
procedure TForm1.Button1Click(Sender: TObject); var i, k, count, primes: word; n:integer; begin n:=strtoint(edit1.text);; k :=...

35
 Аватар для Vas-e-na
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
07.09.2010, 10:57
А где функция то заканчивается???
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
07.09.2010, 11:24
Цитата Сообщение от Son'ka Посмотреть сообщение
поместить фун-цию в отдельный пас файл,
Ну и как ее из этого файла в программу добывать?

Добавлено через 21 минуту
Поскольку числа от 0 до n, то функцию нужно написать примерно так.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function prost (n : integer) : boolean;
var 
 r : integer;
 f : boolean;
begin
if n<2 then f:=false
else
 begin
  r := 2;f:=true;
  repeat
   if (n>2)and(n mod r=0) then f:=false
   else inc(r);
  until (r>=round(sqrt(n)))or not(f);
 end; 
prost := f;
end;
2
0 / 0 / 0
Регистрация: 06.09.2010
Сообщений: 18
07.09.2010, 12:04  [ТС]
сама функция заканчиваеться после else prost := false; end;
а вот как дальше правильно вывести в мемо и чтоб заработало незнаю поэтому прошу помощи
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
07.09.2010, 12:11
Delphi
1
2
for i:=0 to n do
if prost(i) then Memo1.text:=Memo1.text+inttostr(i)+'  ';
Это пишете например в обработчике события OnClick кнопки Button.
1
0 / 0 / 0
Регистрация: 06.09.2010
Сообщений: 18
07.09.2010, 12:38  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Ну и как ее из этого файла в программу добывать?

Добавлено через 21 минуту
Поскольку числа от 0 до n, то функцию нужно написать примерно так.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function prost (n : integer) : boolean;
var 
 r : integer;
 f : boolean;
begin
if n<2 then f:=false
else
 begin
  r := 2;f:=true;
  repeat
   if (n>2)and(n mod r=0) then f:=false
   else inc(r);
  until (r>=round(sqrt(n)))or not(f);
 end; 
prost := f;
end;
извините но что означает inc(r) ?
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.09.2010, 12:40
Son'ka, а справку полистать, а ?
Inc(x) процедура x - порядкового типа Увеличивает x на 1
Dec(x) процедура x - порядкового типа Уменьшает x на 1
Inc(x,n) процедура x - порядкового типа, n - целого типа Увеличивает x на n
Dec(x,n) процедура x - порядкового типа, n - целого типа Уменьшает x на n
1
0 / 0 / 0
Регистрация: 06.09.2010
Сообщений: 18
07.09.2010, 13:04  [ТС]
спасибо большое уже почитала,я просто только учусь
вот вы выводите в мемо через text, а как вывести через мемо лайнз?

Добавлено через 2 минуты
Цитата Сообщение от Puporev Посмотреть сообщение
Ну и как ее из этого файла в программу добывать?

Добавлено через 21 минуту
Поскольку числа от 0 до n, то функцию нужно написать примерно так.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function prost (n : integer) : boolean;
var 
 r : integer;
 f : boolean;
begin
if n<2 then f:=false
else
 begin
  r := 2;f:=true;
  repeat
   if (n>2)and(n mod r=0) then f:=false
   else inc(r);
  until (r>=round(sqrt(n)))or not(f);
 end; 
prost := f;
end;
if n<2 then f:=false
else выводит ошибку почему?
0
 Аватар для Vas-e-na
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
07.09.2010, 13:07
Delphi
1
2
3
Memo1.Clear;
for i:=0 to n do
if prost(i) then Memo1.Lines.Add(nttostr(i));
Добавлено через 42 секунды
Цитата Сообщение от Son'ka Посмотреть сообщение
else выводит ошибку почему?
что за ошибка???
1
0 / 0 / 0
Регистрация: 06.09.2010
Сообщений: 18
07.09.2010, 13:13  [ТС]
Цитата Сообщение от Vas-e-na Посмотреть сообщение
Delphi
1
2
3
Memo1.Clear;
for i:=0 to n do
if prost(i) then Memo1.Lines.Add(nttostr(i));
Добавлено через 42 секунды

что за ошибка???
[Error] Unit1.pas(35): Incompatible types: 'Integer' and 'Boolean'
[Error] Unit1.pas(36): ';' not allowed before 'ELSE'
я так понимаю тип указан не верно может подойдет longint или я ошибаюсь?
0
 Аватар для Vas-e-na
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
07.09.2010, 13:16
а теперь код функции которая !У ВАС! написана...

Добавлено через 1 минуту
хотя можно и поэкстрасенсорить:
Delphi
1
if (n>2)and(n mod r=0) then f:=false // <- Здесь НЕТ точки с запятой!!!
1
0 / 0 / 0
Регистрация: 06.09.2010
Сообщений: 18
07.09.2010, 14:06  [ТС]
Pascal
1
2
3
4
5
6
var
 r : integer;
 f : integer;
begin
 if n < 2 then f := false
  else;
выводит ошибку где else [Error] Unit1.pas(36): Incompatible types: 'Integer' and 'Boolean'

Добавлено через 18 минут
может я глупая но не понимаю почему не идёт программа где ошибки? задачу нужно решить к заврешнему утру а вот как только уже все методы перепробовала а почему не идет незнаю
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
07.09.2010, 14:10
Son'ka, Приложите архив с вашим проектом в тему, посмотрим.
1
0 / 0 / 0
Регистрация: 06.09.2010
Сообщений: 18
07.09.2010, 14:24  [ТС]
Delphi
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
procedure TForm1.Button1Clik(Sender: TObject);
function prost (n : integer) : boolean;
var
 r : integer;
 f : integer;
begin
 if n < 2 then f := false
  else;
  begin
   r := 2;
   f := true;
  repeat
  if (n>2) and (n mod r=0) then f := false
   else inc (r);
   until (r >= round(sqrt(n))) or not f;
    end;
 prost := f;
  end;
 Memo1.Clear;
 for f := 0 to n do
  begin
   if prost(f) then Memo1.Lines.Add(IntToStr(f));
   end;
 
end.
после begin
 if n < 2 then f := false
else; выводит ошибку[Error] Unit1.pas(36): Incompatible types: 'Integer' and 'Boolean'
после else может что то еще нужно хотя ошибка говорит о том что тип неправильный
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
07.09.2010, 14:30
Son'ka, Вообще-то я просил сам проект, чтобы быстро проверить. Мне что сейчас делать форму и т.д.?

Добавлено через 1 минуту
Цитата Сообщение от Son'ka Посмотреть сообщение
begin
*if n < 2 then f := false
* else;
Уберите нафиг точку с запятой после else, вам же писали про это!

Добавлено через 1 минуту
Функцию вынесите выше процедуры.
0
0 / 0 / 0
Регистрация: 06.09.2010
Сообщений: 18
07.09.2010, 14:31  [ТС]
да убирала уже все равно тоже самое вот в этом и загвоздка
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
07.09.2010, 14:36
Son'ka, Вы хоть думайте чуть. С какого у вас логическая переменная стала числом и счетчиком цикла?

Delphi
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
implementation
 
{$R *.dfm}
function prost (n : integer) : boolean;
var
 r : integer;
 f : boolean;
begin
if n<2 then f:=false
else
 begin
  r := 2;f:=true;
  repeat
   if (n>2)and(n mod r=0) then f:=false
   else inc(r);
  until (r>=round(sqrt(n)))or not(f);
 end; 
prost := f;
end;
procedure TForm1.Button1Click(Sender: TObject);
var n,i:integer;
begin
 n:=StrToInt(Edit1.Text);
Memo1.Clear;
for i := 0 to n do
if prost(i) then Memo1.Lines.Add(IntToStr(i));
end;
1
0 / 0 / 0
Регистрация: 06.09.2010
Сообщений: 18
07.09.2010, 15:30  [ТС]
Delphi
1
2
3
4
5
6
7
procedure TForm1.Button1Click(Sender: TObject);
var
 n:integer;
 i:integer;
begin
 n:=StrToInt(Edit1.Text);
Memo1.Clear;
все равно выдает ошибки [Error] Unit1.pas(47): ';' expected but '.' found это после TForm1, пыталась без него он после эдит тогда выдает ошибку

Добавлено через 1 минуту
не угайтесь на меня я только учусь
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
07.09.2010, 15:31
не угайтесь на меня я только учусь
Если вы даже списать не умеете, то вряд ли чему-то научитесь.
Вложения
Тип файла: rar Простые.rar (3.3 Кб, 37 просмотров)
1
0 / 0 / 0
Регистрация: 06.09.2010
Сообщений: 18
07.09.2010, 15:48  [ТС]
Delphi
1
2
3
4
5
program Project1;
 
uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};
вот вы ругаетесь а делфи здесь выдает ошибку

Добавлено через 8 минут
Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Spin;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    label1: TLabel;
    Edit1: TEdit;
    procedure Button1Clik(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
function prost (n : integer) : boolean;
var
 r : integer;
 f : boolean;
begin
 if n < 2 then f := false
  else
  begin
   r := 2;
   f := true;
  repeat
  if (n>2) and (n mod r=0) then f := false
   else inc (r);
   until (r >= round(sqrt(n))) or not f;
    end;
 prost := f;
  end;
procedure TForm1.Button1Click(Sender: TObject);
var
 n:integer;
 i:integer;
begin
 n:=StrToInt(Edit1.Text);
Memo1.Clear;
for i := 0 to n do
if prost(i) then Memo1.Lines.Add(IntToStr(i));
end;
 
end.
всё как у вас но procedure TForm1.Button1Click(Sender: TObject); вот здесь программа выдает ошибку сейчас пытаюсь понять почему
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.09.2010, 15:48
Помогаю со студенческими работами здесь

Определите x,y,z где, x - множество целых чисел от 5 до 33, y - мн-во простых чисел, z - мн-во составных чисел
Определите x,y,z где,x-множество целых чисел от 5 до 33, y-множество простых чисел, z-множество составных чисел.

Генерация простых чисел
Ребят срочно нужно на Зачет,Помогите новичку. Составить программу-генератор простых чисел, в основу положить формулу 2х2 + 29 при 0 ≥...

Генератор простых чисел
задачи по теме Циклы 1)Составить программу-генератор простых чисел, в основу положить формулу 2sqr(x)+29 при 0&lt;x&lt;28

Подсчитать количество простых чисел
Товарищи!!! Помогите начинающему) Разработать программу печати всех простых чисел в диапазоне от N до M (значения N,M задаются с...

Сумма простых чисел в ряде Фибоначчи
Добрый день, Подскажите пожалуйста как вывести с помощью консоли сумму простых чисел в этом ряде, сейчас программа выводит первые 16 чисел...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru