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

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

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

Цель задания

    Освоение простейших конструкций языка Паскаль.

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

    Получение практических навыков работы над ошибками. Освоение синтаксиса языка Паскаль.

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

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

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

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

Цель задания

    Получение навыков в использовании условного оператора при написании программ.

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

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

Организуйте ввод и вывод пяти целых положительных чисел 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

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

Цель задания

    Получение практических навыков работы с одномерным массивом.

    Закрепление навыков в организации ввода/вывода значений одномерного массива.

    Получение практических навыков работы в интерактивном(диалоговом) режиме.

    Работа с диагностическими сообщениями транслятора при выполнении программ с одномерным массивом.

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

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

В массиве {z>i>}, 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

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

Цель задания

    Получение практических навыков работы с двумерным массивом.

    Закрепление навыков в организации ввода/вывода значений двумерного массива.

    Получение практических навыков работы в интерактивном (диалоговом) режиме.

    Работа с диагностическими сообщениями транслятора при выполнении программ с двумерным массивом.

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

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

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

Цель задания

    Получение практических навыков работы операторами графики.

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

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

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

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

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

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

Заключение

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

Заключение

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