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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2016, 12:52   #1
Лейля
 
Регистрация: 22.05.2016
Сообщений: 3
По умолчанию заданы 3 числа.Вычислить сумму простых из них. Для проверки является ли число кратным 9 использовать функцию. (НЕ работает(()

заданы 3 числа.Вычислить сумму простых из них. Для проверки является ли число кратным 9 использовать функцию. (НЕ работает(()

Код:
Var
a,b,s,c:integer;
m:set of byte;
  function Krat (var x1:byte):integer;
  begin
  
  if (x1 mod 9=0) then
  Writeln('делится')
  else
  
  Write('не делится');
  
   end;
   
   procedure Vvod( var x1:byte);
   begin
    Read(x1);
   end;
   
 Begin
 Write('первое число= ');
 Vvod(a);
 Krat(a);
 Write('второе число = ');
 Vvod(b);
 Krat(b);
 Write('третье число = ');
 Vvod(c);
 Krat(c);
  s:=0;
  m:=[1..9];
    if (a in m) and (b in m) and (c in m) then
    begin
    S:= s+a+b+c;
    Writeln('сумма простых чисел= ', s);
    end
    else
    Write('числа не простые');
  End.
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Лейля; 22.05.2016 в 21:30.
Лейля вне форума Ответить с цитированием
Старый 22.05.2016, 13:49   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
(НЕ работает(()
Что пишет? Какие ошибки выводит?

Цитата:
m:set of integer;
После слова of задаётся диапазон значений, из которых состоит множество. Если говорить о числах, то диапазон может состоять из 256 чисел максимум, каждое из которых не может превышать по значению 255, иначе говоря, самый широкий числовой диапазон для множества - 0..255. Вы же задаёте диапазон integer = 0.. 32766

Последний раз редактировалось Вадим Мошев; 22.05.2016 в 13:59.
Вадим Мошев вне форума Ответить с цитированием
Старый 22.05.2016, 14:02   #3
Лейля
 
Регистрация: 22.05.2016
Сообщений: 3
По умолчанию

первое число= 12
делится
второе число = 7
делится
третее число = 5
делится
подсчет суммы:
числа не простые

На все числа отвечает, что делится и даже, если числа простые не подсчитывает их сумму, а пишет, что числе не простые
Лейля вне форума Ответить с цитированием
Старый 22.05.2016, 14:06   #4
Лейля
 
Регистрация: 22.05.2016
Сообщений: 3
По умолчанию

спасибо, Вы правы, учту
Лейля вне форума Ответить с цитированием
Старый 22.05.2016, 15:35   #5
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

При вводе у вас планировалась процедура с параметром-переменной - поставьте var.
Без этого, даже после Vvod(a), Vvod(b)... переменные a, b,.. равны 0 - легко проверяется контрольной печатью writeln(a:3, b:3, c:3).
FPaul вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
блок-схема: Заданы три числа. Определить, есть ли среди них хотя бы одна пара равных по величине СергейКл Помощь студентам 3 25.05.2015 13:37
набор подпрограмм для выполнения операций над числами ( 1.Определение является ли число палиндромом; 2.Реверсирование числа) tweeker Паскаль, Turbo Pascal, PascalABC.NET 1 18.12.2013 19:33
Три задачи - Найти сумму натуральных чисел; Протабулировать функцию; вычислить сумму kolya1114 Паскаль, Turbo Pascal, PascalABC.NET 3 01.12.2012 19:01
1. Вычислить сумму (по заданному выражению) 2. проверить, если ли у числа N два простых делителя Minney-Mouse Помощь студентам 4 10.11.2011 16:06
Ассемблер.Заданы два массива слов.сли в каждом из них есть 2 отрицательных числа, то каждый 2-й элемент Лилея Помощь студентам 0 21.01.2011 20:20