Программа


program KURSOVIK;
uses crt;
var  xy               : array[1..3,1..25] of real;
     xbeg,xend,dx,x,y : real;
     a,b,c,xmin,xmax,ymin,ymax,xcr,ycr : real;
     i,j,n,i1,k,l     : integer;
     ch               : char;
     lm               : word;
const m:array[1..5] of integer=(2330,1470,1470,2330,2330);
      t:array[1..12] of integer=(1470,1470,2330,2330,1470,1560,1470,1310,1310,1310,2200,2200);
      w:array[1..12] of integer=(1310,1310,2200,2200,1310,1470,1310,1160,1160,1160,1960,1960);
      g:array[1..16] of integer=(1160,1160,1960,1960,1160,1310,1160,1160,1160,1160,1850,1850,1960,2200,1560,1470);
      yy:array[1..16] of integer=(1160,1160,1960,1960,1160,1310,1160,1160,1160,1160,1850,1850,1960,2200,1850,2470);
      vc=6;   vb=8;     vg=11;
procedure titul;
      begin clrscr;
          textcolor(vc);
          gotoxy(18,2);
          writeln('МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ');
          gotoxy(15,4);
          writeln('САНКТ-ПЕТЕРБУРГСКИЙ АРХИТЕКТУРНО-СТРОИТЕЛЬНЫЙ ИНСТИТУТ');
          gotoxy(20,6);
          writeln('КАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИ И ИНФОРМАТИКИ');
          gotoxy(19,10);
          writeln('ЛАБОРАТОРНЫЕ РАБОТЫ ПО ДИСЦИПЛИНЕ " ИНФОРМАТИКА ":');
          gotoxy(25,12);
          writeln(' ПОЛЬЗОВАТЕЛЬСКИЙ ПАКЕТ ПРОГРАММ');
          gotoxy(12,16);
          writeln('РАЗРАБОТАЛ:                              Николенко Е.А.');
          gotoxy(12,18);
          writeln('ПРОВЕРИЛ:                                 БУКУНОВА О.В.');
          gotoxy(12,20);
          writeln('ПРЕДПОЛАГАЕМАЯ ОЦЕНКА:                             " УЖАСНО "');
          gotoxy(30,22);
          writeln('ВАРИАНТ N ');
          gotoxy(25,24);
          writeln('САНКТ-ПЕТЕРБУРГ  1999 г.');
          readln;
    end;
procedure oglav;
    begin  clrscr;
      gotoxy(28,2);
       textcolor(vg);
      writeln('   С О Д Е Р Ж А Н И Е ');
      gotoxy(20,4);
      writeln('Разветвляющаяся функция.......................1');
      gotoxy(20,6);
      writeln('Программирование циклических процессов........2');
      gotoxy(20,8);
      writeln('Табулирование функций.........................3');
      gotoxy(20,10);
      writeln('Суммирование бесконечных рядов................4');
      gotoxy(20,12);
      writeln('Работа с одномерными массивами................5');
      gotoxy(20,14);
      writeln('Работа с двумерными массивами.................6');
      gotoxy(20,16);
      gotoxy(20,18);
      writeln('Выход.........................................0');
      gotoxy(20,20);
      writeln('Введите номер выбранной вами работы');
    end;
Procedure Lab4;
const x0=0; dx=0.1; n=15; e=1E-5;
var s,x,y,a:real; i,k:integer;
begin clrscr;
x:=x0;
writeln ('             Николенко Евгений');
writeln ('               Группа 1-АХ-I');
writeln (' ');
writeln ('           Лабораторная работа # 4');
writeln ('                Вариант # 16');
writeln ('┌──┬──────────┬───────────────┬───────────────┐');
writeln ('│I │    X     │     Сумма     │       Y       │');
writeln ('├──┼──────────┼───────────────┼───────────────┤');
for k:=1 to n do
begin
s:=0;
a:=1;
i:=0;
while abs(a)>e do
begin s:=s+a;
a:=a*1.8*x/(i+1);
i:=i+1;
end;
y:=exp(1.8*x);
writeln ('│',k:2,'│',x:10:2,'│',s:15:5,'│',y:15:5,'│');
x:=x+dx;
end;
writeln ('└──┴──────────┴───────────────┴───────────────┘');
readln;
end;

PROCEDURE Lab1;
  Var Ch:char; { Буфер для сброса символа нажатой клавиши }
      X,Step:real; { Точка и шаг табулирования }
      QuantityStep:integer; { Количество шагов табулирования }
      i:integer; { Счетчик }
Begin
  ClrScr;  { Очистка экрана }
  Write('Введите начальную точку табулирования '); { Вывод приглашения }
  ReadLn(X); { Ввод значения }
  Write('Введите шаг табулирования '); { Вывод приглашения }
  ReadLn(Step); { Ввод значения }
  Write('Введите количество шагов табулирования '); { Вывод приглашения }
  ReadLn(QuantityStep); { Ввод значения }
  WriteLn;  { Пропуск строки }
  for i:=0 to QuantityStep do  { Цикл табулирования функции }
  begin
    if X<0.5 { Сравнение аргумента с граничным значением }
      then WriteLn('y(',X:0:2,')=',Cos(X):0:5) { Вычисление и вывод значения функции }
      else WriteLn('y(',X:0:2,')=',Cos(X):0:5);{ Вычисление и вывод значения функции }
    X:=X+Step { Пересчет аргумента }
  end;
  WriteLn;  { Пропуск строки }
  WriteLn('Нажмите клавишу');  { Вывод приглашения }
  Ch:=ReadKey  { Ожидание нажатия клавиши }
End;

PROCEDURE Lab2;
  Var Ch:char; { Буфер для сброса символа нажатой клавиши }
      Y,X:real; { Значение и аргумент }
      i:integer; { Счетчик }
Begin
  ClrScr;  { Очистка экрана }
  Y:=1; { Сброс результата }
  for i:=1 to 6 do { Цикл набора произведения }
  begin
    Write('Введите X',i:0,' '); { Вывод приглашения }
    ReadLn(X);  { Ввод аргумента }
    Y:=Y*Sqr(2*Sin(X)+1)  { Набор произведения }
  end;
  WriteLn;  { Пропуск строки }
  WriteLn('y=',Y); { Вывод произведения }
  WriteLn;  { Пропуск строки }
  WriteLn('Нажмите клавишу');  { Вывод приглашения }
  Ch:=ReadKey  { Ожидание нажатия клавиши }
End;

PROCEDURE Lab3;
  Const { Параметры функции: }
        a=0.1;
        b=0.6;
        d=1.65;
  Var Ch:char; { Буфер для сброса символа нажатой клавиши }
      xStart,xFinish,X:real; { Начальное, конечное, и промежуточное значения аргумента }
      Step:real; { Шаг изменения аргумента }
      i:integer; { Счетчик }
Begin
  ClrScr;  { Очистка экрана }
  Write('Введите начальное и конечное изменения аргумента '); { Вывод приглашения }
  ReadLn(xStart,xFinish);  { Ввод интервала }
  Write('Введите шаг изменения аргумента '); { Вывод приглашения }
  ReadLn(Step);  { Ввод шага }
  WriteLn;  { Пропуск строки }
  i:=0;  { Сброс счетчика }
  while X<xFinish do  { Цикл вычисления значений функции }
  begin
    X:=xStart+i*Step; { Определение аргумента }
    { Проверка принадлежности аргумента заданным условиям,
      вычисление и вывод значения функции: }
    if X<a
      then WriteLn('y(',X:0:1,')=',Pi*Sqr(X)-7*Sqrt(Abs(X)))
      else if X<=b
             then WriteLn('y(',X:0:1,')=',d*Sqr(X)+7/X)
             else WriteLn('y(',X:0:1,')=',Ln(Pi*Sqr(X)));
    i:=i+1  { Переопределение счетчика }
  end;
  WriteLn;  { Пропуск строки }
  WriteLn('Нажмите клавишу');  { Вывод приглашения }
  Ch:=ReadKey  { Ожидание нажатия клавиши }
End;

CONST QuantityElement=15;   { Количество элементов вектора }
TYPE VectorType=array [1..QuantityElement] of integer; { Вектор-тип }
PROCEDURE InputVector (var B:VectorType); { Процедура ввода вектора }
  Var i:word; { Счетчик }
  Begin
    for i:=1 to QuantityElement do { Цикл ввода элементов вектора }
      begin
        Write('Введите элемент [',i,'] ');
                                 { Вывод приглашения ввести элемент вектора }
        ReadLn(B[i])   { Ввод элемента вектора }
      end
  End;
PROCEDURE OutputVector (B:VectorType); { Процедура вывода вектора }
  Var i:word;   { Счетчик }
  Begin
    for i:=1 to QuantityElement do { Цикл вывода вектора }
      Write (B[i],'  ');  { Вывод элемента вектора }
    WriteLn  { Вывод конца строки }
  End;
PROCEDURE ProcessVector (B:VectorType;var Mult,Sum:real); { Процедура просмотра вектора }
  Var i:word;   { Счетчик }
      ZeroFlag:boolean; { Флаг прохождения через нулевой элемент }
  Begin
    ZeroFlag:=FALSE; { Сброс флага }
    Mult:=1;  { Сброс произведения }
    Sum:=0;   { Сброс суммы }
    for i:=1 to QuantityElement do { Цикл просмотра вектора }
      if ZeroFlag { Проверка флага }
        then Sum:=Sum+B[i] { Набор суммы }
        else if B[i]=0 { Проверка условия подъема флага }
               then ZeroFlag:=TRUE { Подъем флага }
               else Mult:=Mult*B[i] { Набор произведения }
  End;
PROCEDURE Lab5;
  Var Ch:char; { Буфер для сброса символа нажатой клавиши }
      A:VectorType; { Массив }
      Mult,Sum:real; { Произведение и сумма элементов }
Begin
  ClrScr;  { Очистка экрана }
  InputVector(A); { Ввод массива }
  ProcessVector(A,Mult,Sum); { Обработка вектора }
  WriteLn;  { Пропуск строки }
  WriteLn('Массив:'); { Вывод заголовка }
  OutPutVector(A);  { Вывод вектора }
  WriteLn('Произведение ',Mult); { Вывод произведения }
  WriteLn('Сумма ',Sum); { Вывод суммы }
  WriteLn;  { Пропуск строки }
  WriteLn('Нажмите клавишу');  { Вывод приглашения }
  Ch:=ReadKey  { Ожидание нажатия клавиши }
End;

CONST Power=8;   { Размерность матрицы }
TYPE MatrixType=array [1..Power,1..Power] of integer; { Тип - матрица }
PROCEDURE InputMatrix (var B:MatrixType); { Процедура ввода матрицы }
  Var i,j:word;  { Счетчики }
  Begin           randomize;
    for i:=1 to Power do { Цикл ввода строк матрицы }
      for j:=1 to Power do { Цикл ввода элементов матрицы }
        begin
          Write('Введите элемент [',i,',',j,'] ');
                                 { Вывод приглашения ввести элемент матрицы }
          ReadLn(B[i,j])   { Ввод элемента матрицы }
        end
  End;
PROCEDURE OutputMatrix (B:MatrixType); { Процедура вывода матрицы }
  Var i,j:word;   { Счетчики }
  Begin
    for i:=1 to Power do { Цикл вывода строк матрицы }
      begin
        for j:=1 to Power do { Цикл вывода элементов матрицы }
          Write (B[i,j]:2,'  ');  { Вывод элемента матрицы }
        WriteLn  { Вывод конца строки }
      end
  End;
PROCEDURE ProcessMatrix (B:MatrixType;var Sum:real;var Quantity:integer;
                         var SumMod5:real); { Процедура просмотра матрицы }
  Var i,j:word;   { Счетчики }
  Begin
    { Сброс переменных: }
    Sum:=0;
    Quantity:=0;
    SumMod5:=0;
    for i:=1 to Power do { Цикл просмотра строк }
      for j:=Power-i+1 to Power do { Цикл просмотра элементов }
        begin
          if (B[i,j]<4)and(B[i,j]>-1) then Sum:=Sum+B[i,j]; { Набор суммы }
          if B[i,j]>1 then Quantity:=Quantity+1; { Набор количества }
          if Abs(B[i,j])<=5 then SumMod5:=SumMod5+B[i,j]; { Набор суммы }
        end
  End;
PROCEDURE Lab6;
  Var Ch:char; { Буфер для сброса символа нажатой клавиши }
      B:MatrixType; { Матрица }
      Sum:real; { Сумма элементов <4 и >-1 }
      Quantity:integer; { Количество элементов >1 }
      SumMod5:real;  { Сумма элементов <=5 и >=-5 }
Begin
  ClrScr;  { Очистка экрана }
  InputMatrix(B); { Ввод массива }
  ClrScr;  { Очистка экрана }
  WriteLn('Матрица:');  { Вывод заголовка }
  OutputMatrix(B); { Вывод матрицы }
  ProcessMatrix(B,Sum,Quantity,SumMod5);  { Обработка матрицы }
  WriteLn;  { Пропуск строки }
  { Вывод результатов: }
  WriteLn('Сумма элементов меньших 4 и больших -1: ',Sum);
  WriteLn('Количество элементов больших 1: ',Quantity);
  WriteLn('Сумма элементов, по модулю не превосходящих 5: ',SumMod5);
  WriteLn;  { Пропуск строки }
  WriteLn('Нажмите клавишу');  { Вывод приглашения }
  Ch:=ReadKey  { Ожидание нажатия клавиши }
End;
   {ГОЛОВНАЯ ПРОГРАММА}
      begin
         clrscr;
          lm:=lastmode;
         titul;
           repeat
                     oglav;
                     gotoxy(65,19);
                     writeln('┌──┐');
                     gotoxy(65,20);
                     writeln('│  │');
                     gotoxy(65,21);
                     writeln('└──┘');
                     gotoxy(67,20);
             readln(l);
             case l of
               1:begin lab1;textmode(lm); end;
               2:begin lab2;textmode(lm); end;
               3:begin lab3;textmode(lm); end;
               4:begin lab4;textmode(lm); end;
               5:begin lab5;textmode(lm); end;
               6:begin lab6;textmode(lm); end;
                            end;
          until l=0
    end.

Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию