• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Паскаль. Процедуры и функции

АсяЯ

Новые
Регистрация
5 Ноя 2016
Сообщения
14
Реакции
0
Баллы
0
Паскаль. Процедуры и функции

Задание на фото.Буду благодарна.
 

Вложения

  • Снимок.PNG.webp
    Снимок.PNG.webp
    43.9 KB · Просмотры: 363
Задание на фото.Буду благодарна.
Уважаемая АсяЯ, позволю себе обратить Ваше внимание на то, что наша цель - помощь в трудных случаях. А вовсе не тупое выполнение учебных заданий на освоение основ программирования. И еще, отмечал не раз, повторю и сейчас: курс на "дали задание - вывалила на форум - тупо списала решение - сдала" ведёт к краху.
Сейчас середина ноября, еще есть время взяться за ум - не упустите шанс. Мы же, разумеется, поможем. Если возникнут затруднения.
Успехов!
 
шансов взяться за ум уже мало,у нас последние 2 недели обучения,а дальше диплом.мы не программисты и для меня это сложно,не понятно вообще как делать.
 
вот я начала 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.
 
вторая встает на этом,как это записать

program p173530;
var
i: integer
x: array[1..6] of real;
begin
for i := 1 to 11 do
readln (x);
y:=exp(1/exp(e*x))*arctg(x)-
 
третья...а потом что писать??

var a=array[1..10] of integer;
b=array[1..10] of integer;
c=array[1..10] of integer;
begin
 
вот я начала 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.
 
вторая встает на этом,как это записать
program p173530;
var
i: integer
x: array[1..6] of real;
begin
for i := 1 to 11 do
readln (x);
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.
 
третья...а потом что писать??
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.
 
Назад
Сверху