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

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

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

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

Задачи в Delphi

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

annansk

Ученик
Регистрация
2 Апр 2013
Сообщения
5
Реакции
0
Баллы
0
Задачи в Delphi

помогите написать программы
1.Сформировать строку, содержащую двоичное представление неотрицательной дроби.
2.Вычислить р = (1 – ( 1/2 )^2)( 1 – (1/3)^2)…( 1 – (1/n)^2), n > 2.
3.Сформировать целое число b из значений чётных разрядов целого числа a. Например: a = 12345, b = 24.
4.Сформировать целое число b из значений нечётных разрядов целого числа a. Например: a = 12345, b = 135.
5.Найти максимальное значение r среди разрядов целого числа a. Например, а = 12543, r = 5.
6.Найти сумму s значений разрядов целого числа a. Например, а = 12543, s = 15.
7.Найти номер разряда, в котором находится максимальное значение r среди разрядов целого числа a. Разряды числа, пронумерованы справа налево, начиная с единицы. Например, а = 12543, r = 3.
8.Сдвинуть циклически значения разрядов целого числа на одну позицию вправо. Например:
Исходное число: 123456
Результат: 612345
9.Сдвинуть циклически значения разрядов целого числа на заданное число позиций вправо. Например, сдвиг на две позиции:
Исходное число: 123456
Результат: 561234
10.Сдвинуть циклически значения разрядов целого числа на заданное число позиций в заданном направлении. Например, сдвиг на две позиции влево:
Исходное число: 123456
Результат: 345612
 
Покажите ваши наработки. И скажите, что не получается. Такое количество программ писать вряд ли кто захочет.
 
у меня есть задача похожая на первую,в первой задаче дробь,а у меня целое число
{$APPTYPE CONSOLE}
uses
SysUtils,windows;
var
sDv: string;
iMod, iDch, iDchr :integer;
begin
setconsolecp(1251);
setconsoleoutputcp(1251);

Write('десятичноечисло: ');
Readln(iDch);
iDchr := iDch;
while iDch >= 2 do
begin
iMod := iDch mod 2;
iDch := iDch div 2;
sDv := IntToStr(iMod) + sDv;
end;
sDv := IntToStr(iDch) + sDv;
Writeln(iDchr, '(10) = ', sDv, '(2)');
Readln;
end.
я только приступила,так что не знаю что смогу сделать с других задачах
 
Первая задача - первая ссылка в гугле.

5.Найти максимальное значение r среди разрядов целого числа a. Например, а = 12543, r = 5.
Функция поиска максимального значения r среди разрядов целого числа a:
Код:
{$R *.dfm}
function MaxDigit(n:integer):byte;
var m:integer;
begin
m:=abs(n);
result:=0;
while m>0 do
 begin
  if m mod 10>result then result:=m mod 10;
  m:=m div 10;
 end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var n:integer;
begin
n:=StrToInt(Edit1.Text);
Edit2.Text:='Максимальная цифра='+IntToStr(MaxDigit(n))
end;
 
это программа для функции,а мне не нужна функция,мне просто нужно найти
 
Пишите в личку, все ваши задания решаемы.
 
а вы сюда написать не можете?
 
Если не срочно, на выходных напишу, просто сейчас времени нету.
 
хорошо,буду ждать на выходных
 
3)
Код:
program Cel1;
var
B: integer;
A: integer;
temp,AA: integer;
bol:boolean;
begin
  Write('Введите А: ');
  Readln(A);
  AA:=A;
  B:=0;
  bol:=false;
  while AA>0 do
  begin
  AA:=AA div 10;
  if bol then bol:=false
  else bol:=true;
  end;
  AA:=A;
    Write('Bol:',Bol);
    temp:=1;
while AA>0 do
  begin
  if bol then
    begin bol:=false; end
  else
     begin
      bol:=true;
      B:=B+(AA mod 10)*temp;
      temp:=temp*10;
     end;
  AA:=AA div 10;
  end;
  Write('B:',B);
end.
 
В 3) задании в начале поменяв bol:=false; на bol:=true; получите 4) задание.

5) задание
Код:
program Cel1;
var
R: integer;
A: integer;
begin
  Write('Введите А: ');
  Readln(A);
 R:=A mod 10;
  while A>0 do
  begin
  A:=A div 10;
  if R<(A mod 10) then R:=A mod 10;
  end;
  Write('R:',R);
end.
 
7)
Код:
program Cel1;
var
R: integer;
A: integer;
max:integer;
i:integer;
begin
  Write('Введите А: ');
  Readln(A);
 R:=A mod 10;
 i:=1;
 max:=1;
  while A>0 do
  begin
  A:=A div 10;
  inc(i);
  if R<(A mod 10) then begin R:=A mod 10;max:=i;  end;
  end;
  Write('Max:',max);
end.
6) задание
Найти сумму s значений разрядов целого числа a
Яндекс выдает Нашлось 1 млн ответов.

Другими словами

Найти сумма цифр целого числа
Яндекс выдает Нашлось 2 млн ответов.

Даже здесь на форуме наверняка неоднократно решалась.
 
8)
Код:
program Cel1;
var
R: integer;
A: integer;
AA,i:integer;
begin
  Write('Введите А: ');
  Readln(A);
 R:=A mod 10;
 A:=A div 10;
 i:=1;
 AA:=A;
  while A>0 do
  begin
  A:=A div 10;
  i:=i*10;
  end;
A:=R*i+AA;
  Write('A:',A);
end.
 
Назад
Сверху