Новые сообщения · Правила  
Модератор форума: Berestovskiy  
Решения задач на Паскале!Срочно нужно!
Всем доброго времени суток. Нужна помощь в решении задачи. Сортировочный автомат измеряет и направляет деталь в одну из n групп, на которые разбит допуск Т на выдерживаемый у детали номинальный диаметр d. Задайте количество и размеры деталей в партии, а затем рассортируйте их по группам.
Помогите пожалуйста!!!
581 | Автор: GusMaN18 | 2012-06-12, 18:23   |  Репутация: [ + 0 ]
Условия не понял..

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
582 | Автор: Berestovskiy | 2012-06-12, 18:44   |  Репутация: [ + 211 ]
Там смысл в том что сначала вычисляется номинальный диаметр, а потом близкие значения разбрасываются по группам. Вроде так.
583 | Автор: GusMaN18 | 2012-06-12, 19:07   |  Репутация: [ + 0 ]
Так может формулки какие-нибудь напишешь ли мне вместо тебя гуглить и т.д.?)
А желательно - напиши алгоритм, тогда вообще будет отлично)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
584 | Автор: Berestovskiy | 2012-06-12, 23:41   |  Репутация: [ + 211 ]
Сначала вводим кол-во деталей, затем номинальный диаметр с ним потом и будем все сравнивать, затем диаметры деталей, а вот потом и начинается самое интересное нужно что бы при сравнении диаметров с номинальным они отсеивались по группам, дальше не знаю как быть
вот начало
Program sortirovka;
USES CRT;
var
a:array[1..100] of real;
b:array[1..100] of real;
d:real;
i,j,n,k:integer;
begin
CLRSCR;
writeln('Êîëè÷åñòâî äåòàëåé');
readln(k);
writeln('Íîìèíàëüíûé äèàìåòð');
readln(d);
for i:=1 to k do
begin
writeln('Ðàçìåð äåòàëè #',i);
readln(a[i]);
d:=d+a[i];
end;
585 | Автор: GusMaN18 | 2012-06-12, 23:56   |  Репутация: [ + 0 ]
585 | Автор: GusMaN18 | 2012-06-12, 23:56   |  Репутация: [ + 0 ]
Всееем привет, нужна помощь по двум задачам на паскале(курсач такой курсач :c)

Решение логических задач с применением операторов цикла на языке программирования Pascal

Задача 1

Бригада из трех роботов собирает за день одного нового робота. Время жизни нового робота - пять дней, по истечении которых он погибает. Определить, сколько роботов будет успешно существовать через n дней, если на момент старта имеется 9 новых роботов. Роботы, не вошедшие в бригаду, простаивают.

Задача 2

Пароход в понедельник проплывает случайное расстояние от A до B; во вторник - в два раза больше, чем в понедельник; в среду - в три раза меньше, чем во вторник; в четверг - на 40% больше, чем в среду; в пятницу половину того, что он проплыл во вторник, среду и четверг вместе. В субботу и воскресенье пароход стоит. Определить полный путь парохода за n дней, если движение он начал в понедельник.
586 | Автор: Altair4eg | 2012-06-13, 00:03 | Изменено: Altair4eg - Ср, 2012-06-13, 00:05   |  Репутация: [ + 0 ]
Quote (M@RECS)
Помогите плиз, я написал прогу но почему то выдает одно и тоже значение помогите понять где ошибка вот условие задачи

может здесь
Quote
sum:=sum+num;

так нужно:
sum:=sum(f)+num;?

Добавлено (13.06.12, 05:56)
---------------------------------------------

Quote (Berestovskiy)
Зачем внешние ссылки то?)

Попытка наглядно показать, что поиском тоже можно пользоваться. И все-таки такая вещь не помешала бы и на "Примате".

Добавлено (13.06.12, 08:23)
---------------------------------------------

Quote
Бригада из трех роботов собирает за день одного нового робота.

Code
Var robots: array [1..5] of byte;
  n,i,sum:byte;
begin
  robots:=[0,0,0,0,9];//массив роботов по оставшимся дням жизни
  readln(n);
  for i:=1 to n do
  begin
   sum:=robots[1]+robots[2]+robots[3]+robots[4]+robots[5];//считаем сколько всего роботов
   if sum=0 then begin writeln('все роботы погибли, день:',n); exit; end; //если роботов больше нет сообщаем об этом и выходим
   robots[1]:=robots[2];//уменьшаем всем роботам время жизни на 1 день
   robots[2]:=robots[3];
   robots[3]:=robots[4];
   robots[4]:=robots[5];
   robots[5]:=sum div 3;//новые роботы каждый строится бригадой из трех
  end;
  sum:=robots[1]+robots[2]+robots[3]+robots[4]+robots[5];
  writeln('День:',n,'Осталось живых роботов:',sum);
end.
587 | Автор: Fireleo | 2012-06-13, 08:23   |  Репутация: [ + 30 ]
Quote (Fireleo)
robots:=[0,0,0,0,9];//массив роботов по оставшимся дням жизни


Fireleo, спасибо большое за решение, но вот тут после закрытия скобок(строка 4, столбец 22) выдаёт ошибку: "Ошибка:попытка присвоить переменной типа array [1..5] of byte выражение типа set of byte"
588 | Автор: Altair4eg | 2012-06-13, 23:11   |  Репутация: [ + 0 ]
А ну тогда так нельзя :)
Делай так:

robots[1]:=0;
robots[2]:=0;
robots[3]:=0;
robots[4]:=0;
robots[5]:=9;
589 | Автор: Fireleo | 2012-06-14, 01:01   |  Репутация: [ + 30 ]
"Спасибо" принимается в виде повышения репутации ( Зелёный плюсик:) ).Спасибо

Это он не компиля писал наверное или завтыкал)
Сделай так:
robots[5]:=9;
for i:=1 to 4 do
robots[i]:=0;
вместо этой строки[quote=Fireleo]  robots:=[0,0,0,0,9];//массив роботов по оставшимся дням жизни[/quote]

и должно пахать)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
590 | Автор: Berestovskiy | 2012-06-14, 01:03   |  Репутация: [ + 211 ]
Эхх...опоздал я на 2 минуты))

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
591 | Автор: Berestovskiy | 2012-06-14, 01:03   |  Репутация: [ + 211 ]
Да без проблем:DD всё работает теперь :))

Добавлено (14.06.12, 17:14)
---------------------------------------------
А что скажете на счёт второй задачи?:)))

592 | Автор: Altair4eg | 2012-06-14, 17:14   |  Репутация: [ + 0 ]
Рады за тебя))

Напиши задачу вновь..)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
593 | Автор: Berestovskiy | 2012-06-15, 00:00   |  Репутация: [ + 211 ]


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
593 | Автор: Berestovskiy | 2012-06-15, 00:00   |  Репутация: [ + 211 ]
Задача 2

Пароход в понедельник проплывает случайное расстояние от A до B; во вторник - в два раза больше, чем в понедельник; в среду - в три раза меньше, чем во вторник; в четверг - на 40% больше, чем в среду; в пятницу половину того, что он проплыл во вторник, среду и четверг вместе. В субботу и воскресенье пароход стоит. Определить полный путь парохода за n дней, если движение он начал в понедельник.

Воооот)
594 | Автор: Altair4eg | 2012-06-15, 04:36   |  Репутация: [ + 0 ]
Code
Var week: array [1..5] of real;//массив пройденного пути по дням недели
  a,b,total: real;
  n,i:byte;

procedure ClearWeek; //очистка массива за неделю
begin
  week[1]:=0;
  week[2]:=0;
  week[3]:=0;
  week[4]:=0;
  week[5]:=0;
end;

begin
  writeln('введите А');
  readln(a);
  writeln('введите В');
  readln(b);
  writeln('количество дней');
  readln(n);
  ClesrWeek;
  total:=0; //сколько всего пройдено
  for i:=1 to n do
   case (i mod 7) of
    1: writeln('День ',n,' пон, пройдено', mon:3:2,'км');
    2: writeln('День ',n,' втр, пройдено', Tue:3:2,'км');
    3: writeln('День ',n,' срд, пройдено', Wed:3:2,'км');
    4: writeln('День ',n,' чет, пройдено', Thu:3:2,'км');
    5: writeln('День ',n,' птн, пройдено', Fri:3:2,'км');
    6: writeln('День ',n,' сбт, пройдено 0 км');
   else  
    begin
     ClearWeek;
     writeln('День ',n,' вск, пройдено 0 км');
    end;
   {end;}//не помню нужен тут или нет.
  writeln('всего за ',n, ' дней, пройдено ',total:3:2,' километров.');
end.


Если будут ошибки скажешь где и какие.

Добавлено (15.06.12, 05:47)
---------------------------------------------
Функции по дням недели, не влезли сразу.

Code
function Mon:real;//функции по дням недели
begin
  randomize;
  week[1]:=random(b-a+1)+a;
  total:=total+week[1];
  Mon:=week[1];
end;

function Tue:real;
begin
  week[2]:=week[1]*2;
  total:=total+week[2];
  Tue:=week[2];
end;

function Wed:real;
begin
  week[3]:=week[2]/3;
  total:=total+week[3];
  Wed:=week[3];
end;

function Thu:real;
begin
  week[4]:=1.4*week[3];
  total:=total+week[4];
  Thu:=week[4];
end;

function Fri:real;
begin
  week[5]:=(week[2]+week[3]+week[4])/2;
  total:=total+week[5];
  Fri:=week[5];
end;
595 | Автор: Fireleo | 2012-06-15, 05:47   |  Репутация: [ + 30 ]
Quote (Fireleo)
function Mon:real;//функции по дням недели
begin
  randomize;
  week[1]:=random(b-a+1)+a;
  total:=total+week[1];
  Mon:=week[1];
end;

function Tue:real;
begin
  week[2]:=week[1]*2;
  total:=total+week[2];
  Tue:=week[2];
end;

function Wed:real;
begin
  week[3]:=week[2]/3;
  total:=total+week[3];
  Wed:=week[3];
end;

function Thu:real;
begin
  week[4]:=1.4*week[3];
  total:=total+week[4];
  Thu:=week[4];
end;

function Fri:real;
begin
  week[5]:=(week[2]+week[3]+week[4])/2;
  total:=total+week[5];
  Fri:=week[5];
end;


А куда это дописать*?
596 | Автор: Altair4eg | 2012-06-15, 21:19   |  Репутация: [ + 0 ]
помогите написать в паскале ----->Написать программу на языке Паскаль для вычисления значений функции y на интервале [a,b] с шагом h. Значения a,b и h ввести с клавиатуры. На экран вывести результат вычислений в виде таблицы.
a b h

5 7 0.1

y:=(sqr(3*x+2)-sqrt(3*x))/sqr(3*x)
597 | Автор: Andryha89 | 2012-06-15, 21:44   |  Репутация: [ + 0 ]
var
s:integer;
h:real;
begin
h:=5;
repeat
s:=s+(sqr(3*x+2)-sqrt(3*x))/sqr(3*x);
h:=h+0.1;
until h=7;
writeln(s);
end.

"Спасибо" принимается в виде повышения репутации ( Зелёный плюсик:) ).Спасибо


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
598 | Автор: Berestovskiy | 2012-06-16, 11:48   |  Репутация: [ + 211 ]
Попробовал вставлять его после разных end;

Везде выдаёт ошибку в этой строке(последней с week[1])

Quote (Fireleo)
function Mon:real;//функции по дням недели
begin
  randomize;
  week[1]:=random(b-a+1)+a;


Пишет ошибку после закрытия скобок, то есть перед плюсованием "a", вот какая ошибка :
Ошибка : функция RANDOM с параметрами указанных типов не найдена

Добавлено (16.06.12, 23:47)
---------------------------------------------
А если ставлю же после этого end;

Quote (Fireleo)
 case (i mod 7) of
    1: writeln('День ',n,' пон, пройдено', mon:3:2,'км');
    2: writeln('День ',n,' втр, пройдено', Tue:3:2,'км');
    3: writeln('День ',n,' срд, пройдено', Wed:3:2,'км');
    4: writeln('День ',n,' чет, пройдено', Thu:3:2,'км');
    5: writeln('День ',n,' птн, пройдено', Fri:3:2,'км');
    6: writeln('День ',n,' сбт, пройдено 0 км');
   else  
    begin
     ClearWeek;
     writeln('День ',n,' вск, пройдено 0 км');
    end;


То выдаёт эту ошибку :
Неизвестный идентификатор mon

: ( (
599 | Автор: Altair4eg | 2012-06-16, 23:47   |  Репутация: [ + 0 ]
599 | Автор: Altair4eg | 2012-06-16, 23:47   |  Репутация: [ + 0 ]
Quote (Altair4eg)
А куда это дописать*?

После описания переменных

Добавлено (17.06.12, 13:16)
---------------------------------------------

Quote (Fireleo)
Ошибка : функция RANDOM с параметрами указанных типов не найдена

Попробуй для переменных a и b установить тип integer;
600 | Автор: Fireleo | 2012-06-17, 13:16   |  Репутация: [ + 30 ]
Поиск: