Программирование Рascal

Автор работы: Пользователь скрыл имя, 21 Февраля 2011 в 20:46, задача

Описание работы

Задания
1. Дано c, d.
Вычислить . Если , то вычислить и отпечатать . Если , напечатать «y=0», иначе вычислить
2. Дано a. Вычислить значение функции

где изменяется в интервале от 0,8 до 2 с шагом 0,1. Вывести на печать значения функции .
3. В заданном одномерном массиве определить
количество положительных элементов, равных первому положительному элементу. Если такие элементы в массиве есть, то вычислить сумму положительных элементов, рассматривая массив с конца. Если таких элементов нет, то напечатать об этом сообщение.

Файлы: 1 файл

Вар2.doc

— 367.00 Кб (Скачать файл)

Вариант 2

Задания

  1. Дано c, d.

Вычислить . Если , то вычислить и отпечатать . Если , напечатать «y=0», иначе вычислить

  1. Дано a. Вычислить значение функции

где изменяется в интервале от 0,8 до 2 с шагом 0,1. Вывести на печать значения функции .

  1. В заданном одномерном массиве определить

количество  положительных элементов, равных первому положительному элементу. Если такие элементы в массиве есть, то вычислить сумму положительных элементов, рассматривая массив с конца. Если таких элементов нет, то напечатать об этом сообщение.

 

1Блок-схема  

Программа

program v2_1;

uses crt;

var

c,d,x,y,z:real;

BEGIN

  clrscr;

  writeln('vvedite c');

  readln(c);

  writeln('vvedite d');

  readln(d);

  y:=exp(d)+sin(c/(1+sqrt(d*d+1)))/cos(c/(1+sqrt(d*d+1)));

  if y>0 then

    begin

      z:=c*y+d*y+c*d;

      writeln('z= ',z:5:2);

    end;

  if y=0 then

    writeln('y=0');

  if y<0 then

    begin

      x:=arctan(y/sqrt(1-y*y))+sin(d/2)/cos(d/2);

      writeln('x= ',x:5:2);

    end;

  readln;

END.

Тестовый  пример

 

2Блок-схема

Программа

program v2_2;

uses crt;

var

x,y,a:real;

BEGIN

  clrscr;

  writeln('vvedite a');

  readln(a);

    x:=0.8;

    while x<=2 do

      begin

        if x<1.3 then

          y:=Pi*x*x*x-7/(x*x);

        if x=1.3 then

          y:=a*x*x*x+7*sqrt(x);

        if x>1.3 then

          y:=ln(x)/ln(10)+7/sqrt(x);

        if y>0 then

          writeln('y= ',y:5:2);

        x:=x+0.1;

      end;

  readln;

END.

Тестовый  пример

 

3Блок-схема

Программа

program v2_3;

uses crt;

var

r:array [1..60] of integer;

i,n,k,l,m,sum :integer;

BEGIN

  clrscr;

  writeln('vvedite N<=60');

  readln(n);

  m:=0;

  k:=0;

  for i:=1 to n do

    begin

      writeln('vvedite ',i,' element');

      readln(r[i]);

     if (r[i]=l)and(m=1) then

        k:=k+1;

      if (r[i]>0)and(m=0) then

        begin

          l:=r[i];

          m:=1;

        end;

    end;

  if k=0 then

    writeln('net elementov ravnyh 1 polozhitelnomy elementu')

  else

    begin

      sum:=0;

      for i:=n downto 1 do

        begin

          if r[i]>0 then

            sum:=sum+r[i];

        end;

      writeln('summa polozhitelnyh elementov ravna  ',sum);

    end;

  readln;

END.

Тестовый  пример

Информация о работе Программирование Рascal