Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 08.01.2014, 15:19   #1 (permalink)
elena16
Новичок
 
Регистрация: 08.01.2014
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Программа на Паскале

условие задачи:

Ƴi= ai – bmax, если ci >0
(amin2+ bsr3):ci, если ci < 0
√ (asr * bsr), если ci = 0
asr , bsr - средние значения массивов, bmax - наибольшее значение массива, amin - наименьшее значение массива

как будет всё это на Паскале?
elena16 вне форума   Ответить с цитированием

Старый 08.01.2014, 15:19
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Пока в вашей теме не появились ответы, можете посмотреть эти

Программа в Паскале
Программа на Паскале

Старый 08.01.2014, 15:25   #2 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

А теперь более подробно, грамотным языком и по пунктам все задание

Немного вам помогу с формулировкой задания

Итак:
Дана система, описывающая отношения между ........ массивами следующим образом.........., в которой...........................
Все массивы имеют ..... тип, размерностью ..... элементов, значения элементов задаются ...............

Как говорится, заполните пропуски правильно
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 08.01.2014, 15:37   #3 (permalink)
elena16
Новичок
 
Регистрация: 08.01.2014
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

вот файл с заданием
paskal.doc
elena16 вне форума   Ответить с цитированием
Старый 08.01.2014, 15:45   #4 (permalink)
elena16
Новичок
 
Регистрация: 08.01.2014
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

я наверное что-то не так написала, но у меня только это условие и как написать программу?
elena16 вне форума   Ответить с цитированием
Старый 08.01.2014, 16:11   #5 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Допустим, что я понял задание правильно

Разобьем общую задачу на несколько подзадач для облегчения реализации.
1) определим три массива A,B,C с размерностью N и заполним их значениями. Так как не сказано, каким образом заполнять массивы, то используем для этого генератор псевдослучайных чисел.
2) анализируем массив A, находим элемент с минимальным значением и среднее арифметическое элементов массива.
3) анализируем массив B, находим элемент с максимальным значением и среднее арифметическое элементов массива.
4) заполняем массив Y размерностью N значениями, вычисленными согласно описанной системе.

Вот один из вариантов решения в FreePascal, на скорую руку и не самый оптимальный:
Цитата:
program mas_syst;
const n=10;
var a,b,c: array[1..n] of integer;
y: array[1..n] of real;
i,amin,bmax:integer;
asr,bsr:real;

{massiv a}
procedure mas_a;
begin
amin:=10000;
asr:=0;
writeln('massiv a:');
for i:=1 to n do begin
a[i]:=random(50);
if a[i]<amin then amin:=a[i];
asr:=asr+a[i];
writeln(a[i]);
end;
asr:=asr/n;
writeln('asr=',asr:2:4);
writeln('amin=',amin);
end; {end of mas_a}

{massiv b}
procedure mas_b;
begin
bmax:=-10000;
bsr:=0;
writeln('massiv b:');
for i:=1 to n do begin
b[i]:=random(50);
if b[i]>bmax then bmax:=b[i];
bsr:=bsr+b[i];
writeln(b[i]);
end;
bsr:=bsr/n;
writeln('bsr=',bsr:2:4);
writeln('bmax=',bmax);
end; {end of mas_b}

{massiv c}
procedure mas_c;
begin
writeln('massiv c:');
for i:=1 to n do begin
c[i]:=random(100)-50;
writeln(c[i]);
end;
end; {end of mas_c}

{main}
begin
randomize;
mas_a;
mas_b;
mas_c;
writeln('massiv y:');
for i:=1 to n do begin
if c[i]>0 then y[i]:=a[i]-bmax else if c[i]<0 then y[i]:=(amin*amin+bsr*bsr*bsr)/c[i] else y[i]:=sqrt(asr*bsr);
writeln(y[i]:2:4);
end;
readln
end.
При выполнении программы выводятся все массивы и переменные по порядку, затем результирующий массив. Если нужно больше элементов - просто увеличьте значение константы n.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 08.01.2014, 16:43   #6 (permalink)
elena16
Новичок
 
Регистрация: 08.01.2014
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

да,да, вы правильно говорите. большое спасибо за понимание
elena16 вне форума   Ответить с цитированием
Старый 08.01.2014, 16:51   #7 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Жду ваши вопросы, если что-то непонятно.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 08.01.2014, 17:01   #8 (permalink)
elena16
Новичок
 
Регистрация: 08.01.2014
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

я очень благодарна, большое спасибо, все поняла
elena16 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




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

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.