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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2012, 20:55   #1
CKent
Пользователь
 
Регистрация: 07.12.2008
Сообщений: 10
Лампочка Азы delphi. Реализация класса. Задача.

Дорогие друзья прошу помочь мне с решением задачи с использованием ООП delphi. Текст задачи таков : задается число, определить количество нулей в числе. программу решить с реализацией класса. Это задачка для тех, для кого программирование вообще темный лес. Я очень хочу понять принцип. Спасибо откликнувшимся.
CKent вне форума Ответить с цитированием
Старый 26.02.2012, 21:30   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Это задачка для тех, для кого программирование вообще темный лес.
Темный лес и сразу ООП? И вообще, зачем использовать классы в этой задаче? Впринципе я могу предположить, как ее решить при помощи классов, но это всеравно что использовать перфоратор вместо дырокола...

Update:
Решил вспомнить... Вот с применением ООП и классов:
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
  SysUtils;
type
Tnumber=class
  value:real;
  constructor create(n:real);
  function GetZeros:integer;
end;

constructor Tnumber.create(n: Real);
begin
  value:=n;
end;

function Tnumber.GetZeros;
var
  s:string;
  i:integer;
begin
  result:=0;
  s:=floattostr(value);
  for i:=1 to length(s) do
    if s[i]='0' then
      inc(result);
end;

VAR
  a:Tnumber;
begin
  randomize;
  a:=Tnumber.create(random(1000000000)/random(9999));
  writeln(a.value);
  writeln(a.GetZeros);
  a.free;//можно написать деструктор, но в данной задаче это будет перебор
  readln;
end.
Update2: А вот задача без классов:
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
  SysUtils;
var
  i,res:integer;
  s:string;
begin
  randomize;
  s:=floattostr(random(1000000000)/random(9999));
  writeln(s);
  res:=0;
  for i:=1 to length(s) do
    if s[i]='0' then
      inc(res);
  writeln(res);
  readln
end.
На мой взгляд оптимальное решение очевидно.
Все тривиальное просто

Последний раз редактировалось whatever; 26.02.2012 в 22:05.
whatever вне форума Ответить с цитированием
Старый 27.02.2012, 00:41   #3
CKent
Пользователь
 
Регистрация: 07.12.2008
Сообщений: 10
По умолчанию

Огромное Вам спасибо =) ООП т.к. basic , c++ а так-же fortran изучались) К сожалению при изучении азов программирования был провал, или из-за моей деревянной головы, или из-за преподавания...И теперь многие вещи сложно осмыслить.( Реализация классов эт чтобы понять для чего они вообще, у нас такого рода вводное занятие. Учебная программа, ничего не поделаешь) Сам я первый раз компилятор делфи открыл недавно...Учитывая, что 2 года си не открывал) . И все-таки благодарю Вас, сейчас буду разбираться что да как.) Дальше гугл в помощь)
CKent вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Приложение на Delphi 7.0 + DOA под Oracle. Азы Rilent Помощь студентам 0 26.07.2011 15:58
Реализация класса Koketka Общие вопросы C/C++ 1 30.03.2011 02:25
Реализация класса на С++ danekne Помощь студентам 5 14.01.2010 18:32
DELPHI задача.Создание класса. Егор527 Помощь студентам 6 10.12.2009 12:31