Нужна Помощь В Решении Задачи

  • Автор темы hatpe
  • Дата начала
H

hatpe

Гость
#1
Даны массивы a1, ... , a7 ; b1, ... , b8 .
Определить
clip_image002.gif

Добавлено: Помогите решить задачу.
 

Senset

Well-Known Member
11.09.2006
136
0
#2
Даны массивы a1, ... , a7 ; b1, ... , b8 .
Определить
Посмотреть вложение 5142

Добавлено: Помогите решить задачу.
ну ё-моё, что ж так всё слабенько-то? Вы чем на парах занимаетесь?
Код:
uses crt;
var a:array[1..7] of real;
b:array[1..8] of real;
i:integer;

function zi(i:integer):real;
var result:real;
k:integer;
begin
result:=0; //сейчас будем считать сумму bi
for k:=1 to 8 do result:=result+b[k];
//теперь множитель и последнее константное слагаемое:
result:=result*a[5]+(a[i]+1)/a[i];
zi:=result;
end;

begin
clrscr;
for i:=1 to 7 do 
begin
write('a[',i,']=');
read(a[i]);
end;
for i:=1 to 8 do 
begin
write('b[',i,']=');
read(b[i]);
end;
writeln('Input I=');
readln(i);
writeln('z[i]=z[',i,']=',zi(i):0:4);
readkey;
end.
P.S. код для паскаля, для делфи (если не консоль):
1) убрать очистки и ожидание ввода символов (т.е. переделать весь ввод и вывод)
2) убрать result
3) убрать zi=result
4) нарисовать форму, покидать туда компонент, сделать батон --> в батон всё что в главной проге
 
H

hatpe

Гость
#3
Senset Когда инфа 1 раз в месяц, и ты этим не когда не занимался тяжко что то делать(((

А можно ее сделать в таком виде
Пример:

program mass;
var f, d, C: array[1..100] of real;
a : real;
i, n: integer;
begin
writeln ('vvedite poryadok massivov');
readln (n);
writeln ('vvedite massiv F');
for i:=1 to n do read (f);
writeln ('vvedite massiv D');
for i:=1 to n do read (d);
a:=0;
for i:=1 to 8 do a:=a + f;
for i:=1 to n do
begin
c:=((f-2.5)/d)*a;
write (C:8:2)
end;writeln;
end.
 

Senset

Well-Known Member
11.09.2006
136
0
#6
Senset
Можешь ее в таком виде сделать???
Эх, интеллигенция...
Конечно могу только че-то это как-то не смешно(((( ибо:
1) полный код уже есть (может конечно где-то накосячил с синтаксисом)
2) разница примера в вводе\выводе данных и нет отдельной функции
3) сделать так, чтобы код стал похож на Ваш = не сложно потому, я уверен что Вы сами справитесь
4) если не хотите подумать и подправить, ну т.е. по сути ничего не делать... то хотя бы почитайте 5 простых правил, которые находятся возле имени темы, которую создали
 
H

hatpe

Гость
#7
Senset ДА я с вами согласен.
Вот по побывал переделывать можете посмотреть.

program crt;
var
a:array[1..7] of real;
b:array[1..8] of real;
Z:array[1..7] of real;
d:real;
j,i,n:integer;
begin
writeln ('vvedite poryadok massivov');
readln (n);
writeln ('vvedite massiv a');
for i:=1 to n do read (a);
writeln ('vvedite massiv b');
for j:=1 to n do read (b[j]);
d:=0;
for j:=1 to 8 do d:=d+ b[j];

for i:=1 to n do
begin
Z:=d*a[5]+(a+1)/a;
write (Z:0:4);
end;writeln;
end.
 
A

Araneus

Гость
#8
hatpe

Не в обиду сказано, но не проще ли запустить в компиляторе и проверить код так, а не ждать, пока у кого-то найдеться время сделать работу за вас?
 

Senset

Well-Known Member
11.09.2006
136
0
#9
Ну... чисто визуально да (т.е. я не компилил и не проверял 100% рабочесть кода), вроде имено так.
Не в обиду сказано, но не проще ли запустить в компиляторе и проверить код так, а не ждать, пока у кого-то найдеться время сделать работу за вас?
Воспользуйтесь советом, а если ошибки с синтаксисом - то компилятор подскажет)
 
H

hatpe

Гость
#10
Araneus
Я не мего спец в программировании...Можешь расскажешь , что такое компилятор?
 

Senset

Well-Known Member
11.09.2006
136
0
#11
Araneus
Я не мего спец в программировании...Можешь расскажешь , что такое компилятор?
ну программу Вы в чем пишете? = в среде
компилятор "перебивает" код написанный на языке в машинный код (если в кратце)
1) Скачайте прикрепленный файл. Это Turbo Pascal 7.0 от Borland
2) Запустите файл turbo.exe в папке bin (предварительно распаковав архив)
3) наберите туда свой код
4) откомпилируйте и запустите (делается Ctrl+F9)
5) исправляйте ошибки, которые возникают на процессе компиляции
6) когда откомпилится --> наслаждайтесь работой программы (если нет логических ошибок)
 

Вложения

  • 1.5 МБ Просмотры: 2
H

hatpe

Гость
#12
Senset Собственно программа запускается, но я прошу помочь именно с логическими ошибками.
 
A

Araneus

Гость
#13
Senset Собственно программа запускается, но я прошу помочь именно с логическими ошибками.
Если программа запускаеться и работает правильно, то ошибок нету.
Если есть логические ошибки, то опиши их; расскажи, в чём они заключаються/проявляються. Тут же не экстрасенсы сидят))))

П.С. В какой среде пишешь? В Turbo Pascal, как предложил товарищ SunSet, или другая?
 

Senset

Well-Known Member
11.09.2006
136
0
#15
Senset Собственно программа запускается, но я прошу помочь именно с логическими ошибками.
Пример логической ошибки:
Условие:
F(x)=1, если x=0
F(x)=0, если x=1
Неверное решение 1:
function f(x:real):real;
begin
if (x=0) then f:=1
else f:=0;
end;
//В этом неверном решении логическая ошибка заключается в том, что f=0 при x любых x не равных нулю (т.е. либо область допустимых значений для x дискретна, состоит из целых чисел в интервале [0,1] - но в условии ничего про это не сказано, значит принимать x принадлежащем R необходимо в связи с отсутствием конкретики в условии) --> начальное условие нарушено (т.к. по умолчанию нигде и никогда переменные не задавались двумя числами, за исключением булевских
Верное решение:
function f(x:real):real;
begin
if (x=0) then f:=1
else
if (x=1) then f:=0;
end;
//Это абсолютно верное решение, даже при x принадлежащим R (все рациональные числа)

Т.е. логические ошибки = не ловятся компилятором, но приводят к не правильной работе алгоритма (т.е. косякам)
Чтобы убедиться в правильности выполнения алгоритма чаще всего студенты делают ручной расчет.
Подставьте пару тройку конкретных значений... получите результаты, посчитанные вручную и программой... сравните их... Они одинаковы? Тогда всё верно... иначе где-то логическая ошибка.