Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Задачи в Delphi (http://www.tehnari.ru/f43/t87074/)

annansk 02.04.2013 14:53

Задачи в 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

Léon 02.04.2013 15:23

Покажите ваши наработки. И скажите, что не получается. Такое количество программ писать вряд ли кто захочет.

annansk 02.04.2013 15:37

у меня есть задача похожая на первую,в первой задаче дробь,а у меня целое число
{$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.
я только приступила,так что не знаю что смогу сделать с других задачах

Léon 02.04.2013 15:47

Первая задача - первая ссылка в гугле.

Цитата:

Сообщение от annansk (Сообщение 890154)
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;


annansk 02.04.2013 15:49

это программа для функции,а мне не нужна функция,мне просто нужно найти

Gruvi 03.04.2013 00:10

Пишите в личку, все ваши задания решаемы.

annansk 03.04.2013 00:26

а вы сюда написать не можете?

Gruvi 03.04.2013 04:33

Если не срочно, на выходных напишу, просто сейчас времени нету.

annansk 03.04.2013 06:50

хорошо,буду ждать на выходных

interacia 03.04.2013 10:21

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.



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

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.