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


Ответ
 
Опции темы Опции просмотра
Старый 09.09.2013, 16:09   #1 (permalink)
NAt
Member
 
Регистрация: 09.12.2012
Сообщений: 45
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Объектно-ориентированное программирование в Паскале

здравствуйте. подскажите пожалуйста мне с задачей. я недавно начала изучать эту тем, но до сих пор путаюсь.
Создать класс chisla, заданный тремя целыми числами. Выполнить следующие пункты в виде методов класса:
1)равны ли суммы их цифр,
2)посчитать количество цифр «0 » и «5 » в каждом числе.
заранее спасибо)
NAt вне форума   Ответить с цитированием

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

Можете просмотреть аналогичные темы, это в большинстве случаев полезно

VBA программирование
Программирование на Ruby
Web программирование
Паскаль, объектно ориентированное программирование
Программирование МС
Программирование

Старый 09.09.2013, 21:08   #2 (permalink)
interacia
Member
 
Регистрация: 29.01.2013
Сообщений: 91
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 565
По умолчанию

Ваш класс без второго метода может выглядеть так.

Код:
Program chislaNAT;

type
  chisla=class
    chis1: integer;
    chis2: integer;
    chis3: integer;
   constructor Create(c1,c2,c3:integer);
  procedure Punct1;
//  procedure Punct2;
  end;

  constructor chisla.Create(c1,c2,c3:integer);
  begin
    chis1:=c1;
    chis2:=c2;
    chis3:=c3;
  end;
procedure chisla.Punct1; // реализация вашего пункта
var
c1,c2,c3:integer;
Sumc1,Sumc2,Sumc3:integer;
begin
c1:=chis1;
c2:=chis2;
c3:=chis3;
Sumc1:=0;
Sumc2:=0;
Sumc3:=0;

While C1>9 do
begin
Sumc1:=Sumc1+(c1 mod 10);
c1:=c1 div 10;
end;
Sumc1:=Sumc1+(c1 mod 10);
While C2>9 do
begin
Sumc2:=Sumc2+(c2 mod 10);
c2:=c2 div 10;
end;
Sumc2:=Sumc2+(c2 mod 10);
While C3>9 do
begin
Sumc3:=Sumc3+(c3 mod 10);
c3:=c3 div 10;
end;
Sumc3:=Sumc3+(c3 mod 10);
// вывод ответа на первый пункт
if (Sumc3=Sumc2)and(Sumc3=Sumc1) then writeln('Суммы цифр в числах равны.')
else writeln('Суммы цифр в числах неравны.')
end;

var
A:chisla;
// основная программа
begin
A:=chisla.Create(0,0,0);
// ввод значений
write('Введите 1 число :');
readln(a.chis1);
write('Введите 2 число :');
readln(a.chis2);
write('Введите 3 число :');
readln(a.chis3);
a.Punct1; // использование 1 пункта.
end.
Ну если добрались до ООП то одну процедуру по аналогии сами наверно сможете вписать. Попробуйте вдруг понравится.
interacia вне форума   Ответить с цитированием
Старый 09.09.2013, 23:06   #3 (permalink)
NAt
Member
 
Регистрация: 09.12.2012
Сообщений: 45
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо большое, уже решила
NAt вне форума   Ответить с цитированием
Ads

Яндекс

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

Опции темы
Опции просмотра

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

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




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

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