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

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

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

Цель задания

1.   

2.   

3.   

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

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

1.  a = (x+y/(5+x))/|y-sinx+x|+5arctgx

2.  b= etgu+1 lnarcsinv

 x=47,8

y=-5,5

u=2,3

v=0,8

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

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.   

2.   

3.   

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

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

целые числа

Вещественные числа

формат

формат

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 величины М, равной

            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.   

2.   

3.   

4.   

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

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

В массиве {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.   

2.   

3.   

4.   

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

Организуйте  построчный  ввод  вещественной  квадратной  матрицы  А  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.

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

Оглавление

Введение

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

Заключение

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