![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Art87 |
![]()
Сообщение
#1
|
![]() snoWolf ![]() ![]() Группа: Пользователи Сообщений: 80 Пол: Мужской Реальное имя: Артем Репутация: ![]() ![]() ![]() |
Уважаемые форумчане. Помогите пожалуйста задачку решить.
Прикрепленные файлы ![]() -------------------- Нас десять братьев на тропе, идем мы быстро, на легке ...
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Art87, объясни мне, неужели нельзя было присоединить скриншот с экрана, а не сам DOC-файл? Я понимаю, что ТЕБЕ так удобнее, но ты и о других подумай !!!
![]() (кстати, заметь, мой файл по размеру меньше чем тот, что присоединил ты...) P.S. На форуме тема про вычисление траекторий снарядов поднималась неоднократно... Вот 2 примера решений: Задача с циклом Имитация полета снаряда |
Art87 |
![]()
Сообщение
#3
|
![]() snoWolf ![]() ![]() Группа: Пользователи Сообщений: 80 Пол: Мужской Реальное имя: Артем Репутация: ![]() ![]() ![]() |
Спасибо за ссылки, почитаю,
если что в следующий раз буду присоеденять :D -------------------- Нас десять братьев на тропе, идем мы быстро, на легке ...
|
Art87 |
![]()
Сообщение
#4
|
![]() snoWolf ![]() ![]() Группа: Пользователи Сообщений: 80 Пол: Мужской Реальное имя: Артем Репутация: ![]() ![]() ![]() |
Посмотрите, нормально, нет?
var f,g:real;
x,v,dx:integer;
function y(x:integer;f:real;v:integer):real;
var g:real;
begin
g:=0.0098/((1/60)*(1/60));
y:=x*sin(f)/1-(g*x*x)/(2*v*v*cos(f)*cos(f));
end;
begin
v:= 35;
f:=2*Pi/6;
x:=-2;
dx:=2;
repeat
x:=x+dx;
until y(x,f,v)<0;
writeln('With V=35km/h and Angle=2P/6 way(path) = ',x);
v:= 30;
f:=Pi/4;
x:=-2;
dx:=2;
repeat
x:=x+dx;
until y(x,f,v)<0;
writeln('With V=30km/h and Angle=P/4 way(path) = ',x);
readln;
end.
Сообщение отредактировано: Art87 - -------------------- Нас десять братьев на тропе, идем мы быстро, на легке ...
|
Art87 |
![]()
Сообщение
#5
|
![]() snoWolf ![]() ![]() Группа: Пользователи Сообщений: 80 Пол: Мужской Реальное имя: Артем Репутация: ![]() ![]() ![]() |
Такая задача,
Заданы массивы X1(7), X2(6), X3(4). Найти среднее арифмитическое сумм отрицательных элементов массивов. Определение суммы отрицательных элементов массива оформить в виде подпрограммы. type mass=array[1..7] of integer;
Var
X1,X2,X3:mass;
kX1,kX2,kX3:byte;
t:real;
Procedure Col(var A:mass; n:byte; var k:byte);
Var i,j:byte;
begin
writeln('Введите ', n , 'элементов массива');
for i:=1 to n do
read(X1[i]);
k:=0; j:=0;
For i:=1 to n do
begin
if X1[i] < 0 then begin
j:=j+X1[i];
k:=k+1;
end; end;t:=abs(j)/k; end;
begin
Col(X1,7,kx1);
writeln ('Среднее арифметическое', kx1 ,'элементов в массиве X1=',t:5:3);
Col(X2,6,kx2);
writeln ('Среднее арифметическое', kx2 ,'элементов в массиве X2=',t:5:3);
Col(X3,4,kx3);
writeln ('Среднее арифметическое', kx3 ,'элементов в массиве X3=',t:5:3);
end.
Программа запускается, но считает непонятно что ![]() -------------------- Нас десять братьев на тропе, идем мы быстро, на легке ...
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Ты уж если передаешь в процедуру A: mass как параметр, то им же и пользуйся... Кстати, использовать здесь функцию более оправдано, чем возвращать результат через глобальную переменную (глобальные переменные лучше вообще использовать как можно реже :yes: ). И еще: используй открытые массивы (A: array of <type>, без указания длины) как параметр. Работать с ними дальше - как с обычными массивами; единственное отличие - индексы не [1 .. n], а [0 .. n - 1]
type mass=array[1..7] of integer;
function Col(var A: array of integer; n: byte;
var k:byte): real;
Var i, sum: integer;
begin
writeln('Введите ', n , 'элементов массива');
for i:=0 to pred(n) do
read(A[i]);
k:=0; sum:=0;
For i:=0 to pred(n) do begin
if A[i] < 0 then begin
inc(sum, A[i]); inc(k);
end;
end;
Col := abs(sum)/k;
end;
var
t: real;
kX1,kX2,kX3: byte;
X1, X2, X3: array[1 .. 7] of integer;
begin
t := Col(X1,7,kx1);
writeln ('Среднее арифметическое ', kx1 ,' элементов в массиве X1=',t:5:3);
t := Col(X2,6,kx2);
writeln ('Среднее арифметическое ', kx2 ,' элементов в массиве X2=',t:5:3);
t := Col(X3,4,kx3);
writeln ('Среднее арифметическое ', kx3 ,' элементов в массиве X3=',t:5:3);
end.
|
Art87 |
![]()
Сообщение
#7
|
![]() snoWolf ![]() ![]() Группа: Пользователи Сообщений: 80 Пол: Мужской Реальное имя: Артем Репутация: ![]() ![]() ![]() |
volvo, спасибо за программу, а почему не предлогается ввести элементы массивов Х2 и Х3?
Сообщение отредактировано: Art87 - -------------------- Нас десять братьев на тропе, идем мы быстро, на легке ...
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Что значит "не предлагается"? Что, моя программа тебе не пишет
Цитата 'Введите 6 элементов массива' ... 'Введите 4 элементов массива' ? Она вообще-то делает ТО ЖЕ САМОЕ, что и твоя из поста №5, только еще и возвращает правильный результат... |
Art87 |
![]()
Сообщение
#9
|
![]() snoWolf ![]() ![]() Группа: Пользователи Сообщений: 80 Пол: Мужской Реальное имя: Артем Репутация: ![]() ![]() ![]() |
Нет, в моей, ввожу 7 элементов, Enter,
потом предлогается ввести массив X2 потом X3. А в вашем варианте, X1 вводится и ничего дальше не происходит ![]() -------------------- Нас десять братьев на тропе, идем мы быстро, на легке ...
|
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Вот лог выполнения моей программы:
Цитата Введите 7элементов массива Что не устраивает?2 -1 -7 8 -3 5 9 Среднее арифметическое 3 элементов в массиве X1=3.667 Введите 6элементов массива 1 2 -3 -4 5 6 Среднее арифметическое 2 элементов в массиве X2=3.500 Введите 4элементов массива -1 -2 -3 5 Среднее арифметическое 3 элементов в массиве X1=2.000 |
Art87 |
![]()
Сообщение
#11
|
![]() snoWolf ![]() ![]() Группа: Пользователи Сообщений: 80 Пол: Мужской Реальное имя: Артем Репутация: ![]() ![]() ![]() |
Мои извинения. Все работает, спасибо
![]() ![]() -------------------- Нас десять братьев на тропе, идем мы быстро, на легке ...
|
Art87 |
![]()
Сообщение
#12
|
![]() snoWolf ![]() ![]() Группа: Пользователи Сообщений: 80 Пол: Мужской Реальное имя: Артем Репутация: ![]() ![]() ![]() |
Да, долго ругался на меня сегодня препод. И это лишнее и это бред
![]() ![]() Заставила переделать СКАЗАЛА, много лишнего, ... корова. с for i:=0 to pred(n) do на for i:=1 to n do и i:=byte И еще убрались все kx1 Заданы массивы X1(7), X2(6), X3(4). Найти среднее арифмитическое сумм отрицательных элементов массивов. Определение суммы отрицательных элементов массива оформить в виде подпрограммы. А как эту же самую задачу с процедурой сделать ![]() Я на паре всю голову сломил, задачу урезал, но засейвить на дискету не успел. Был косяк с передачей формальных параметров из процедуры в программу. -------------------- Нас десять братьев на тропе, идем мы быстро, на легке ...
|
klem4 |
![]()
Сообщение
#13
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
вот так ?
procedure Additional(var A: array of integer; n: byte; var k:byte;
var Col :real
);
Var i, sum: integer;
begin
writeln('Введите ', n , 'элементов массива');
for i:=0 to pred(n) do
read(A[i]);
k:=0; sum:=0;
For i:=0 to pred(n) do begin
if A[i] < 0 then begin
inc(sum, A[i]); inc(k);
end;
end;
Col := abs(sum)/k;
end;
объяви глобальную переменную и передавай ее процедуре в параметр Col. После отработки процедуры эта переменная будет хранить значение abs(sum)/k; ![]() Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Art87 |
![]()
Сообщение
#14
|
![]() snoWolf ![]() ![]() Группа: Пользователи Сообщений: 80 Пол: Мужской Реальное имя: Артем Репутация: ![]() ![]() ![]() |
Спасибо, попробуем ;)
-------------------- Нас десять братьев на тропе, идем мы быстро, на легке ...
|
![]() ![]() |
![]() |
Текстовая версия | 18.04.2025 19:49 |