Решения задач на Паскале!Срочно нужно!
|
|
[quote=margo]http://primat.org/forum/10-1204-1 ну и?решения то нету -__-[/quote]
зато алгоритм есть))
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Помогите плиз, я написал прогу но почему то выдает одно и тоже значение помогите понять где ошибка вот условие задачи
type reals = file of real; var f: reals; Опишите рекурсивную функцию sum без параметров для нахождения суммы элементов файла f.
а вот что я написал type reals = text; var f:reals; y,n,s:real; function sum( f:reals):integer; var sum,num:integer; begin sum:=0; if not eof(f) then begin readln(f,num); if num<>0 then begin sum:=sum+num; end; end; end; begin assign (f,'sum.txt'); reset(f); n:=sum(f); writeln('сумма элементов файла n=',n:4:3); readln; close(f); end.
а вот что выводит сумма элементов файла n=1954051118.000
№ 582 | Автор: M@RECS |
2012-06-11, 10:40 | Изменено: M@RECS - Пн, 2012-06-11, 10:41
|
Репутация: [ + 0 ]
|
|
|
[quote=M@RECS]if num<>0 then begin sum:=sum+num; end;[/quote]
бегин-енд тут не нужен
а в чём ошибка - не пойму.. не люблю я читать чужие коды, не понятно ничего) попробуй заново написать..должно помочь)
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Всем доброго времени суток. Нужна помощь в решении задачи. Сортировочный автомат измеряет и направляет деталь в одну из n групп, на которые разбит допуск Т на выдерживаемый у детали номинальный диаметр d. Задайте количество и размеры деталей в партии, а затем рассортируйте их по группам. Помогите пожалуйста!!!
|
|
|
Условия не понял..
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Там смысл в том что сначала вычисляется номинальный диаметр, а потом близкие значения разбрасываются по группам. Вроде так.
|
|
|
Так может формулки какие-нибудь напишешь ли мне вместо тебя гуглить и т.д.?) А желательно - напиши алгоритм, тогда вообще будет отлично)
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Сначала вводим кол-во деталей, затем номинальный диаметр с ним потом и будем все сравнивать, затем диаметры деталей, а вот потом и начинается самое интересное нужно что бы при сравнении диаметров с номинальным они отсеивались по группам, дальше не знаю как быть вот начало 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;
|
|
|
Всееем привет, нужна помощь по двум задачам на паскале(курсач такой курсач :c)
Решение логических задач с применением операторов цикла на языке программирования Pascal Задача 1
Бригада из трех роботов собирает за день одного нового робота. Время жизни нового робота - пять дней, по истечении которых он погибает. Определить, сколько роботов будет успешно существовать через n дней, если на момент старта имеется 9 новых роботов. Роботы, не вошедшие в бригаду, простаивают.
Задача 2
Пароход в понедельник проплывает случайное расстояние от A до B; во вторник - в два раза больше, чем в понедельник; в среду - в три раза меньше, чем во вторник; в четверг - на 40% больше, чем в среду; в пятницу половину того, что он проплыл во вторник, среду и четверг вместе. В субботу и воскресенье пароход стоит. Определить полный путь парохода за n дней, если движение он начал в понедельник.
№ 589 | Автор: Altair4eg |
2012-06-13, 00:03 | Изменено: Altair4eg - Ср, 2012-06-13, 00:05
|
Репутация: [ + 0 ]
|
|
|
Quote (M@RECS) Помогите плиз, я написал прогу но почему то выдает одно и тоже значение помогите понять где ошибка вот условие задачи может здесь так нужно: 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.
|
|
|
Quote (Fireleo) robots:=[0,0,0,0,9];//массив роботов по оставшимся дням жизни
Fireleo, спасибо большое за решение, но вот тут после закрытия скобок(строка 4, столбец 22) выдаёт ошибку: "Ошибка:попытка присвоить переменной типа array [1..5] of byte выражение типа set of byte"
|
|
|
А ну тогда так нельзя :) Делай так:
robots[1]:=0; robots[2]:=0; robots[3]:=0; robots[4]:=0; robots[5]:=9;
|
|
|
"Спасибо" принимается в виде повышения репутации ( Зелёный плюсик:) ).Спасибо
Это он не компиля писал наверное или завтыкал) Сделай так: robots[5]:=9; for i:=1 to 4 do robots[i]:=0; вместо этой строки[quote=Fireleo] robots:=[0,0,0,0,9];//массив роботов по оставшимся дням жизни[/quote]
и должно пахать)
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Эхх...опоздал я на 2 минуты))
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Да без проблем:DD всё работает теперь :)) Добавлено (14.06.12, 17:14) --------------------------------------------- А что скажете на счёт второй задачи?:)))
|
|
|
Рады за тебя))
Напиши задачу вновь..)
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Задача 2
Пароход в понедельник проплывает случайное расстояние от A до B; во вторник - в два раза больше, чем в понедельник; в среду - в три раза меньше, чем во вторник; в четверг - на 40% больше, чем в среду; в пятницу половину того, что он проплыл во вторник, среду и четверг вместе. В субботу и воскресенье пароход стоит. Определить полный путь парохода за n дней, если движение он начал в понедельник.
Воооот)
|
|
|
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;
|
|
|
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;
А куда это дописать*?
|
|
|
помогите написать в паскале ----->Написать программу на языке Паскаль для вычисления значений функции 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)
|
|
|