• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Объектно-ориентированное программирование в Паскале

  • Автор темы Автор темы NAt
  • Дата начала Дата начала

NAt

Новые
Регистрация
9 Дек 2012
Сообщения
45
Реакции
0
Баллы
0
Объектно-ориентированное программирование в Паскале

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

Код:
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.
Ну если добрались до ООП то одну процедуру по аналогии сами наверно сможете вписать. Попробуйте вдруг понравится.
 
спасибо большое, уже решила
 
Назад
Сверху