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


Ответ
 
Опции темы Опции просмотра
Старый 15.11.2016, 19:36   #1 (permalink)
АсяЯ
Member
 
Регистрация: 05.11.2016
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль. Процедуры и функции

Задание на фото.Буду благодарна.
Миниатюры
nieiie.png  
АсяЯ вне форума   Ответить с цитированием

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

Возможно, что вы еще не читали аналогичные по содержанию топики

Формирование матрицы с помощью функции как параметра процедуры, Паскаль
Написание программы через процедуры и функции. Паскаль
Паскаль. Процедуры, функции, параметры
Процедуры, функции

Старый 15.11.2016, 19:47   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от АсяЯ Посмотреть сообщение
Задание на фото.Буду благодарна.
Уважаемая АсяЯ, позволю себе обратить Ваше внимание на то, что наша цель - помощь в трудных случаях. А вовсе не тупое выполнение учебных заданий на освоение основ программирования. И еще, отмечал не раз, повторю и сейчас: курс на "дали задание - вывалила на форум - тупо списала решение - сдала" ведёт к краху.
Сейчас середина ноября, еще есть время взяться за ум - не упустите шанс. Мы же, разумеется, поможем. Если возникнут затруднения.
Успехов!
Vladimir_S вне форума   Ответить с цитированием
Старый 15.11.2016, 20:19   #3 (permalink)
АсяЯ
Member
 
Регистрация: 05.11.2016
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

шансов взяться за ум уже мало,у нас последние 2 недели обучения,а дальше диплом.мы не программисты и для меня это сложно,не понятно вообще как делать.
АсяЯ вне форума   Ответить с цитированием
Старый 15.11.2016, 20:20   #4 (permalink)
АсяЯ
Member
 
Регистрация: 05.11.2016
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию вот я начала 1 задание,но где то косяк

var a,m,p,n:real;
begin
writeln('введите значения');
readln(a,m,p);
n:=(exp(p*ln(a))+(1/exp(p*ln(a)))/(((2*exp(m*ln(a))-(exp(m-p)*ln(a))))));
writeln(n)
end.
АсяЯ вне форума   Ответить с цитированием
Старый 15.11.2016, 20:35   #5 (permalink)
АсяЯ
Member
 
Регистрация: 05.11.2016
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию вторая встает на этом,как это записать

program p173530;
var
i: integer
x: array[1..6] of real;
begin
for i := 1 to 11 do
readln (x[i]);
y:=exp(1/exp(e*x))*arctg(x)-
АсяЯ вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 15.11.2016, 20:39   #6 (permalink)
АсяЯ
Member
 
Регистрация: 05.11.2016
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию третья...а потом что писать??

var a=array[1..10] of integer;
b=array[1..10] of integer;
c=array[1..10] of integer;
begin
АсяЯ вне форума   Ответить с цитированием
Старый 16.11.2016, 10:19   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от АсяЯ Посмотреть сообщение
вот я начала 1 задание,но где то косяк
var a,m,p,n:real;
begin
writeln('введите значения');
readln(a,m,p);
n:=(exp(p*ln(a))+(1/exp(p*ln(a)))/(((2*exp(m*ln(a))-(exp(m-p)*ln(a))))));
writeln(n)
end.
Никаких особых косяков не вижу. Почти всё правильно, правда, с расстановкой скобок несколько Вы запутались. Кроме того:
1. В задании сказано использовать функцию, значит сделаем через функцию.
2. В некоторых версиях Паскаля нужно в конце поставить остановку, чтобы посмотреть на результат. Это делается оператором readln без параметров. Потом, для выхода из программы, нужно нажать "Enter".
Итого:
Код:
var a,m,p:real;

function n(a1,m1,p1:real):real;
begin
 n:=(exp(p1*ln(a1))+1/exp(p1*ln(a1)))/(2*exp(m1*ln(a1))-exp((m1-p1)*ln(a1)));
end;

begin
 writeln('введите значения a, m, p:');
 readln(a,m,p);
 writeln(n(a,m,p));
 readln
end.
Vladimir_S вне форума   Ответить с цитированием
Старый 16.11.2016, 10:52   #8 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от АсяЯ Посмотреть сообщение
вторая встает на этом,как это записать
program p173530;
var
i: integer
x: array[1..6] of real;
begin
for i := 1 to 11 do
readln (x[i]);
y:=exp(1/exp(e*x))*arctg(x)-
Естественно, встает. Потому что в Паскале (и не только!) функция арктангенс обозначается Arctan, а не Arctg. Ну и, натурально, требование об использовании функции при вычислении суммы нужно выполнить.
Код:
program p173530;
var
 k: integer;
 x,y: array[1..6] of real;

function Sum(Xs:real):Real;
var S:real; i:integer;
begin
 S:=0;
 for i:=1 to 8 do S:=S+exp(ln(Xs)*i)/i;
 Sum:=S;
end;

begin
 for k := 1 to 6 do
  begin
   write('x[',k,'] = ');
   readln(x[k]);
   y[k]:=exp(-x[k])*arctan(x[k])-Sum(x[k]);
  end;
 writeln;
 writeln('k  x[k]        y[k]');
 for k:=1 to 6 do
  writeln(k,x[k]:7:3,y[k]:15:3);
 readln
end.
Vladimir_S вне форума   Ответить с цитированием
Старый 16.11.2016, 11:29   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от АсяЯ Посмотреть сообщение
третья...а потом что писать??
var a=array[1..10] of integer; b=array[1..10] of integer; c=array[1..10] of integer; begin
Дык... программу, что ж ещё? Но для начала - если у Вас однотипные переменные, то не нужно для каждой отдельную строку в разделе Var, можно их просто через запятую. Кроме того, для ввода значений в массивы целесообразно подключить генератор случайных чисел, тем более, что речь в задаче о статобработке.
Конечно, понимаю, что если "мы не программисты и для меня это сложно, не понятно вообще как делать", то разобраться сразу в работе с подпрограммами, с типами, с форматами, со случайными числами и т.п. - трудно. Но что ж тут поделаешь? Если совсем непонятно будет, спрашивайте.
Код:
Const
 n=10;

Type
 Ar=array[1..n] of real;

Var
 a,b,c:Ar;
 i:integer;
 D,Delta:real;

Function M(x:Ar):real;
var S:real; k:integer;
begin
 S:=0;
 for k:=1 to n do S:=S+x[k];
 M:=S/n;
end;

Procedure Disp(x:Ar; var Ds:real; var Dlt:real);
var S,MM:real; k:integer;
begin
 MM:=M(x);
 S:=0;
 for k:=1 to n do S:=S+Sqr(x[k]-MM);
 Ds:=S/n;
 Dlt:=Sqrt(Ds);
end;

Begin
 Randomize;
 for i:=1 to n do
  begin
   a[i]:=0.9+0.2*Random;
   b[i]:=2.5+1.0*Random;
   c[i]:=5.0+4.0*Random;
  end;
 Writeln('Array a:');
 for i:=1 to n do write(a[i]:7:3);
 writeln;
 Disp(a,D,Delta);
 Writeln('M = ',M(a):0:3,'    D = ',D:0:3,'    Delta = ',Delta:0:3);
 writeln;
 Writeln('Array b:');
 for i:=1 to n do write(b[i]:7:3);
 writeln;
 Disp(b,D,Delta);
 Writeln('M = ',M(b):0:3,'    D = ',D:0:3,'    Delta = ',Delta:0:3);
 writeln;
 Writeln('Array c:');
 for i:=1 to n do write(c[i]:7:3);
 writeln;
 Disp(c,D,Delta);
 Writeln('M = ',M(c):0:3,'    D = ',D:0:3,'    Delta = ',Delta:0:3);
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Старый 16.11.2016, 17:44   #10 (permalink)
АсяЯ
Member
 
Регистрация: 05.11.2016
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

3-я не считает...
АсяЯ вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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