Программирование и комп-ры

Отчет по практике по Turbo Pascal


                           Практическое задание №1

   Записать выражение на языке Паскаль. Использование стандартных функций.
                           Оператор присваивания.

  Цель задания
Освоение простейших конструкций языка Паскаль.
Получение навыков  работы  с  числами.  Использование  стандартных  функций,
арифметических  операций  для  записи  математических  выражений  на   языке
Паскаль.
Получение практических навыков  работы  над  ошибками.  Освоение  синтаксиса
языка Паскаль.

    Поставка задачи

      Записать  математическое  выражение  на  языке  Паскаль,  и  составить
программу  вычисления  значения  оператора  присваивания.  Описать   порядок
действий, над выражением исходя  из  приоритетности  вычислений  стандартных
функций и арифметических операции.

|1.  a =                       | x=47,8   |
|(x+y/(5+x))/|y-sinx+x|+5arctgx|y=-5,5    |
|                              |u=2,3     |
|                              |v=0,8     |
|2.  b= etgu+1 lnarcsinv [pic] |          |


                              Листинг программы


program zadanie_1;
uses crt;
var
 x,y,u,v:real;
 a,b:real;
begin
clrscr;
 x:=47.8;
 y:=-5.5;
 u:=2.3;
 v:=0.8;
 writeln('Протокол работы програмы');
 writeln('вычисление значений a и b');
 a:=(x+y/(5+sqrt(x)))/abs(y-sin(x)+sqrt(x))+5*arctan(x);
 b:=exp(sin(u)/cos(u)+1)*ln(arctan(v/sqrt(1-v*v)));
 writeln('a=',a);
 writeln('b=',b);
 writeln('конец счета');
 readln;
 readln;
end.



                          Протокол работы програмы


                          вычисление значений a и b

                             a= 3.0959950475E+01

                             b=-6.7000345276E-02

                                 конец счета



      В данной программе были использованы следующие стандартные функции:
sin(x), cos(x), abs(x), sqr(x), sqrt(x), arctan(x),exp(x),ln(x).
       В частности через функции: arctan(x), sin(x), cos(x), были выражены
такие тригонометрические функции как arcos(x), tg(x).

      В ходе работы ошибок допущено не было.



                           Практическое задание №2



              Организация ввода/вывода стандартных типов данных


Цель задания
 1. Освоение простейшей структуры программы.
 1. Получение навыков в организации ввода/вывода значений стандартных типов
    данных.
 2. Получение практических  навыков  работы  в  интерактивном  (диалоговом)
    режиме.
Постановка задачи

  Организовать ввод/вывод данных заданных  типов,  предусмотрите  выводы  с
соответствующими заголовками.

|    |целые числа  |  |Вещественные числа     |
|    |  |формат    |  |формат                 |
|1   |2 |3  |4     |5 |6  |7|8  |9 |10       |
|N   |ко|ста|ш     |ко|Ст|ш|зна|си|печать   |
|    |ли|нда|и     |ли|ан| |ков|мв|булевской|
|в   |че|ртн|р     |че|да|и|   |ол|переменно|
|а   |ст|ый |и     |ст|рт|р|пос|ов|й        |
|р   |во|   |н     |во|ны|и|ле |  |         |
|и   |  |   |а     |  |й |н|.  |  |         |
|а   |  |   |      |  |  |а|   |  |         |
|н   |  |   |п     |  |  | |   |  |         |
|т   |  |   |о     |  |  | |   |  |         |
|а   |  |   |л     |  |  |п|   |  |         |
|    |  |   |я     |  |  |о|   |  |         |
|    |  |   |      |  |  |л|   |  |         |
|    |  |   |      |  |  |я|   |  |         |
|13  |3 |c  |3     |6 |C |5|2  |4 |FALSE    |


                              Листинг программы


program zadanie_2;
uses crt;
const
 log=false;
var
 k,l,m:integer;
 a,b,c,d,e,f:real;
 s1,s2,s3,s4:char;
begin
clrscr;
 writeln('Введите целые числа K,L,M:');
 read(k,l,m);
 writeln('':30,'целые числа');
 writeln('','стандартная форма','':18,'заданная ширина поля');
 writeln('',k,' ',l,' ',m,'':30,'K=',k:3,'  L=',l:3,'  M=',m:3);
 writeln;
 writeln('':25,'Введите вещественные числа A,B,C,D,E,F:');
 readln(a,b,c,d,e,f);
 writeln('':20,'стандартная форма');
 writeln('',a,' ',b,' ',c,' ',d,' ',e,' ',f);
 writeln('':18,'заданная ширина поля');
 writeln('A=',a:5:2,'  B=',b:5:2,'  C=',c:5:2,'  D=',d:5:2,'  E=',e:5:2,'
F=',f:5:2);
 writeln;
 writeln('Введите символы S1,S2,S3,S4:');
 readln(s1,s2,s3,s4);
 writeln('символьные переменные:');
 writeln('S1=',s1,'  S2=',s2,'  S3=',s3,'  S4=',s4);
 writeln('печать символьных переменных с шириной поля 5:');
 writeln(s1:5,s2:5,s3:5,s4:5);
 writeln('логическая переменная равна ',log);
 readln;
 readln;
end.
                               Протокол работы


Введите целые числа K,L,M:
1
2
3
                              целые числа
стандартная форма                  заданная ширина поля
1 2 3                              K=  1  L=  2  M=  3

                         Введите вещественные числа A,B,C,D,E,F:
234 4 5 6 7 8
                    стандартная форма
 2.3400000000E+02  4.0000000000E+00  5.0000000000E+00  6.0000000000E+00
7.00000
00000E+00  8.0000000000E+00
                  заданная ширина поля
A=234.00  B= 4.00  C= 5.00  D= 6.00  E= 7.00  F= 8.00

Введите символы S1,S2,S3,S4:
qwer
символьные переменные:
S1=q  S2=w  S3=e  S4=r
печать символьных переменных с шириной поля 5:
    q    w    e    r
логическая переменная равна FALSE



                                      3



                           Практическое задание №3



          Разветвляющие структуры. Оператор IF с GO TO, THEN, ELSE

  Цель задания
 1. Получение навыков в использовании  условного  оператора  при  написании
    программ.
 2. Разбор и  знакомство  с  задачами,  для  решения  которых  используется
    условный оператор.
  Постановка задачи
        Организуйте ввод и вывод пяти целых положительных чисел a, b, c,  p,
q. Определив остаток К от деления на 9  величины  М,  равной  [pic]вычислите
значение функции

      y=arctg4,7x/(x2-secx)-xcosx ,при к=0
      y=2sinx ,при к=1
      y=cos(|ax2+b|-1) ,при к=2

                              Листинг программы


program zadanie_3;
uses crt;
var
 a,b,c,p,q,k,m:integer;
 x,y:real;
begin
clrscr;
 writeln('Протокол работы');
 writeln('Введите исходные данные:');
 readln(a,b,c,p,q,x);
 writeln('a=', a,', b=',b,', c=',c,', p=',p,', q=',q,', x=',x:6:3);
 m:=(a+b+c+p) div q;
 k:=m mod 9;
 if k=0 then
  begin
   y:=sqrt(arctan(4.7*x)/x*x-sin(x))-exp(cos(x)*cos(x)*ln(x));
   writeln('К=0, значение переменной Y равно ',y:6:3);
  end;
 if k=1 then
  begin
   y:=exp(sin(x)*ln(2));
   writeln('К=1, значение переменной Y равно ',y:6:3);
  end;
 if k=2 then
  begin
   y:=cos(abs(a*x*x+b)-1);
   writeln('К=2, значение переменной Y равно ',y:6:3);
  end;
 if k>2 then
  writeln('Значение переменной Y неопредено т.к. К>2');
 readln;
end.



                               Протокол работы

      Введите исходные данные:
      2
      3
      76
      3
      76
      4
      a=2, b=3, c=76, p=3, q=76, x= 4.000
      К=1, значение переменной Y равно  0.592



      В данной программе было использовано четыре оператора IF в сокращенной
форме.
       При работе над данной программой ошибок допущено не было.



                           Практическое здание №4



       Решение задач, описываемых алгоритмами циклической структуры с
                     использованием одномерных массивов.


Цель задания
 1. Получение практических навыков работы с одномерным массивом.
 1. Закрепление навыков в  организации  ввода/вывода  значений  одномерного
    массива.
 2.  Получение  практических  навыков  работы  в  интерактивном(диалоговом)
    режиме.
 3.  Работа  с  диагностическими  сообщениями  транслятора  при  выполнении
    программ с одномерным массивом.
Постановка задачи

  Организуйте   ввод/вывод   одномерного   массива,   предусмотрите   вывод
соответствующими заголовками.

В массиве {zi}, i=1, 2, ... , 10 есть положительные и отрицательные
элементы. Подсчитать количество отрицательных и положительных элементов.
Решить задачу для двух наборов данных:
      а. –5,25,17,18,20,-10,-9,-5,12,23;
            б.15,20,15,4,-8,-5,-20,-43,-9,-25;


                              Листинг программы


program zadanie_4;
uses crt;
const
 n=10;
var
 z: array [1..n] of integer;
 a,b,i:integer;
begin
clrscr;
 writeln('Введите через пробел 10 чисел');
 for i:=1 to n do
  begin
   readln(z[i]);
   if z[i]>0 then
    a:=a+1;
   if z[i]<0 then
    b:=b+1;
  end;
clrscr;
 writeln('Исходные данные');
 for i:=1 to n do
  write(z[i]:4);
 writeln;
 writeln('Количество положительных элементов массива Z[1..n] равно',a:4);
 writeln('Количество отрицательных элементов массива Z[1..n] равно',b:4);
readln
end.



                               Протокол работы

А)Введите через пробел 10 чисел
-5
25
17
18
20
-10
-9
-5
12
23


Исходные данные
  -5  25  17  18  20 -10  -9  -5  12  23
Количество положительных элементов массива Z[1..n] равно   6
Количество отрицательных элементов массива Z[1..n] равно   4



Б)Введите через пробел 10 чисел
15
20
15
4
-8
-5
-20
-43
-9
-25

Исходные данные
  15  20  15   4  -8  -5 -20 -43  -9 -25
Количество положительных элементов массива Z[1..n] равно   4
Количество отрицательных элементов массива Z[1..n] равно   6



                           Практическое задание №5


       Решение задач, описываемых алгоритмами циклической структуры с
             использованием двумерных массивов. Регулярные типы.

Цель задания

 1. Получение практических навыков работы с двумерным массивом.
 1. Закрепление навыков  в  организации  ввода/вывода  значений  двумерного
    массива.
 2. Получение практических  навыков  работы  в  интерактивном  (диалоговом)
    режиме.
 3.  Работа  с  диагностическими  сообщениями  транслятора  при  выполнении
    программ с двумерным массивом.

Постановка задачи

      Организуйте  построчный  ввод  вещественной  квадратной  матрицы  А  4-
го порядка.  Сформировать  матрицу  В  4-го  порядка  выполнив  условие:
Начиная с первого элемента каждой строки А увеличить последующий на 2,
следующий на 4, на 6.


                              Листинг программы

program zadanie_5;
uses crt;
const
 n=4;
var
 a: array [1..n,1..n] of real;
 b: array [1..n,1..n] of real;
 i,j,d:integer;
begin
clrscr;
 for j:=1 to n do
  for i:=1 to n do
   begin
    clrscr; gotoxy(1,1);
    write('элемент - ',j,',',i,':'); readln(a[j,i]);
   end;
 clrscr;
 writeln;
 writeln('Исходная матрица:');
 for i:=1 to n do
  begin
   d:=d+2;
   for j:=1 to n do
    begin
     b[j,i]:=d+a[j,i];
     gotoxy(i*6,j+3);
     writeln(a[j,i]:3:1)
    end;
  end;
 writeln;
 writeln('преобразованная матрица:');
 for i:=1 to n do
  for j:=1 to n do
   begin
    gotoxy(i*6,j+10);
    writeln(b[j,i]:3:1)
   end;
 readln;
end.


                               Протокол работы


                              Исходная матрица:

                           34.0  4.0   5.0   34.0
                           45.0  43.0  54.0  34.0
                            5.0   6.0   4.0   5.0
                            6.0   7.8   56.0  5.0

                          преобразованная матрица:

                           36.0  8.0   11.0  42.0
                           47.0  47.0  60.0  42.0
                           7.0   10.0  10.0  13.0
                           8.0   11.8  62.0  13.0



                           Практическое задание №6


       Решение задач, описываемых алгоритмами циклической структуры с
             использованием двумерных массивов. Регулярные типы.

Цель задания

   1. Получение практических навыков работы операторами графики.
   2. Получение навыков построения графических  объектов  и  перемещение  на
      плоскости.
   3. Работа  с  диагностическими  сообщениями  транслятора  при  выполнении
      программ с графическими объектами.

Постановка задачи

Построить систему координат с началом в центре координат. Переместить
фигуру согласно рисунку и закрасить указанную область.

program zadanie_6;
uses graph, crt;
var
  GraphDriver,
  GraphMode,
  ErrorCode,
  X0,
  Y0
   : Integer;
Begin
0   GraphDriver := Detect;
  InitGraph(GraphDriver, GraphMode, '..\bp\bgi');
  ErrorCode := GraphResult;
  if ErrorCode <> grOk
    then
      begin
        WriteLn('Graphics error:', GraphErrorMsg(ErrorCode));
        Exit;
      end;
  X0 := GetMaxX div 2;
  Y0 := GetMaxY div 2;
  SetColor(White);
  Bar(0, 0, GetMaxX, GetMaxY);
  SetColor(black);
  Line(X0, 50, X0, GetMaxY - 50);
  Line(50, Y0, GetMaxX - 50, Y0);
  Rectangle(X0 + 80, Y0 - 80, X0 + 200, Y0 - 200);
  Rectangle(X0 + 105, Y0 - 105, X0 + 175,  Y0 - 175);
  Setfillstyle(1,black);
  Floodfill(450,125,black);
  OutTextXY(50, 400, 'Нажмите Enter для продолжения');
  ReadKey;
  Rectangle(X0 + 80, Y0 + 80, X0 + 200, Y0 + 200);
  Rectangle(X0 + 105, Y0 + 105, X0+175,Y0+175);
  SetFillStyle(1, Black);
  FloodFill(450, 415, Black);
  ReadKey;
  CloseGraph;
End.


                               Протокол работы



                                    [pic]
                                    [pic]



                                 Оглавление


                                  Введение

                           Практическое задание №1
 Записать выражение на языке Паскаль. Использование стандартных    функций.
                           Оператор присваивания.



                           Практическое задание №2


              Организация ввода/вывода стандартных типов данных



                           Практическое задание №3


          Разветвляющие структуры. Оператор IF с GO TO, THEN, ELSE



                           Практическое здание №4

       Решение задач, описываемых алгоритмами циклической структуры с
                     использованием одномерных массивов.



                           Практическое задание №5

       Решение задач, описываемых алгоритмами циклической структуры с
             использованием двумерных массивов. Регулярные типы.



                           Практическое задание №6

       Решение задач, описываемых алгоритмами циклической структуры с
             использованием двумерных массивов. Регулярные типы.

                                 Заключение

                              Список литературы



                                 Заключение


Практические занятия используются для  тщательного  изучения  содержательно-
методических принципов построения программы школьного  курса  информатики  и
учебных   пособий,   содержания   и   структуры   прикладного   программного
обеспечения школьного предмета  информатики,  обсуждения  методики  изучения
отдельных тем курса с различными  вариантами  технического  и  методического
обеспечения,  в  том  числе  сопровождаемого  самостоятельными  программными
разработками студентов; разработки и обсуждения материалов  для  внеклассной
работы по информатике и вычислительной технике в средней школе



смотреть на рефераты похожие на "Отчет по практике по Turbo Pascal "