Xwab
Форумыnavigate_nextДругие языки программирования

pascal задача
Сообщения
kamex

срочно нужна помощь в написании задачи:
дано натуральное число n>0. Используя операции деления нацело и взятия остатка от деления, найти число, полученное при прочтении числа n справа налево

29 Дек 2010, 13:31
Дмитрий

kamex, чтож вы на уроках делаете, если такие задачи решить не можете...
Var n:integer;
Begin
Writeln('Введите n');
Readln(n);
while n>0 do
Begin
Write(n mod 10);
n:=n div 10
end
End.
По уму ещё нужно сделать проверку, какое число вводит пользователь...

А вообще по паскалю отдельная тема есть.

29 Дек 2010, 14:42
kamex

Дмитрий, спасибо за задачу просто я pascal понять не могу

29 Дек 2010, 22:03
COOLBOY007

kamex, вот сделал проверку: VAR n: Integer;
BEGIN
 WriteLn('Enter number:');
 ReadLn(n);
 if n<=0 then
  begin
   WriteLn('Incorrect number!');
   ReadLn;
   Halt;
  end
 else
{---код программы---}
END. Понять можно все, просто нужно захотеть

30 Дек 2010, 15:05
Дмитрий

COOLBOY007, а не лучше так будет:
...
  Repeat
    Writeln('Введите n');
    Readln(n);
    if n<=0 then Writeln('n должно быть больше 0');
  until n>0;
...

30 Дек 2010, 16:50
COOLBOY007

Дмитрий, лучше  Просто я привык делать так, как я написал.

30 Дек 2010, 18:39
IIyX

народ - помогите плз, второй час уже сижу за задачей - чет вообще не идет она у меня)
вот собственно и она - В столовой предлагается N комплектов обедов, состоящих из Q блюд. Известна стоимость и калорийность каждого блюда. Сколько стоит самый дорогой и самый дешевый обед? сколько калорий содержит самое дорогое и самое дешевое блюдо?
Дело в том - что решать нужно с помощью записей....

04 Мар 2011, 17:10
Дмитрий

Const N=10;
Type bludo=record
       cena:real;
       calor:real;
     end;
Var menu:array[1..N] of bludo;
    max,min:real;
    max_i,min_i,i:integer;
Begin
  Randomize;
  for i:=1 to N do
    Begin
      menu[i].cena:=20+random(81);
      menu[i].calor:=0+random(101);
    end;
  max:=menu[1].cena;
  max_i:=1;
  min:=menu[1].cena;
  min_i:=1;
  for i:=1 to N do
    if menu[i].cena>=min then begin
      if menu[i].cena>=max then
        Begin
          max:=menu[i].cena;
          max_i:=i
        end; end
          else
            Begin
              min:=menu[i].cena;
              min_i:=i
            end;
  Writeln('Меню:');
  Writeln('?:   цена   калорийность');
  for i:=1 to N do
    Writeln(i,':   ',menu[i].cena,'   ',menu[i].calor);
  Writeln( ',max_i,', его цена ',menu[max_i].cena,' а калорийность ',menu[max_i].calor);
  Writeln('Самое дешевое блюдо номер ',min_i,', его цена ',menu[min_i].cena,' а калорийность ',menu[min_i].calor)
End.

Комментировать программу не стал, ибо лень.  Если есть вопросы по программе, спрашивай.

04 Мар 2011, 21:42
IIyX

помоги пож еще с одной - нужно рассмотреть последовательность произведений 1.1*2/11,1*2/11*3/21,...,1*2/11*3/21*...*(n-1).(n*10+1) требуется найти первое произведение, не превосходящее по величине В.... решать с помощью табулирования)) прошу сердешно помощи


__________
посл.ред. 10 Мар 2011, 8:33; всего 1 раз 10 Мар 2011, 8:28
Sanekl9

Помогите решить,Составить программу табулирования функции Y=x ln x на отрезке [0.5 , 6.5] с шагом 0.5

10 Мар 2011, 8:30
Ответить на тему