Реферат: Отчет по практике по Turbo Pascal
Название: Отчет по практике по Turbo Pascal Раздел: Рефераты по информатике, программированию Тип: реферат | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Практическое задание №1 Записать выражение на языке Паскаль. Использование стандартных функций. Оператор присваивания.
Цель задания 1. Освоение простейших конструкций языка Паскаль. 2. Получение навыков работы с числами. Использование стандартных функций, арифметических операций для записи математических выражений на языке Паскаль. 3. Получение практических навыков работы над ошибками. Освоение синтаксиса языка Паскаль. Поставка задачи Записать математическое выражение на языке Паскаль, и составить программу вычисления значения оператора присваивания. Описать порядок действий, над выражением исходя из приоритетности вычислений стандартных функций и арифметических операции.
Листинг программы 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. Получение практических навыков работы в интерактивном (диалоговом) режиме. Постановка задачи Организовать ввод/вывод данных заданных типов, предусмотрите выводы с соответствующими заголовками.
Листинг программы 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 Решение задач, описываемых алгоритмами циклической структуры с использованием двумерных массивов. Регулярные типы. Цель задания
Постановка задачи Построить систему координат с началом в центре координат. Переместить фигуру согласно рисунку и закрасить указанную область. 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 Решение задач, описываемых алгоритмами циклической структуры с использованием двумерных массивов. Регулярные типы. Заключение Список литературы Заключение Практические занятия используются для тщательного изучения содержательно-методических принципов построения программы школьного курса информатики и учебных пособий, содержания и структуры прикладного программного обеспечения школьного предмета информатики, обсуждения методики изучения отдельных тем курса с различными вариантами технического и методического обеспечения, в том числе сопровождаемого самостоятельными программными разработками студентов; разработки и обсуждения материалов для внеклассной работы по информатике и вычислительной технике в средней школе |