Учебная работа. Курсовая работа: Решение прикладной задачи

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Контрольные рефераты

Учебная работа. Курсовая работа: Решение прикладной задачи

ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Кафедра ИнОУП

Курсовая работа

Решение прикладной задачки

Выполнила: ст-ка группы 06 ВД-1

Е.А. Одинокова

Принял: доцент

А. И. Черноскутов

2007


Содержание

1 Цель работы…………………………………………………………………………………… 4

2 Постановка задачки………………………………………………………………………….. 5

3 Расчет контрольной точки………………………………………………………………. 6

4 Разработка схем алгоритмов и текстов подпрограмм, их описание…….. 10

4.1 Function Proizvedenie……………………………………………………………………. 10

4.2 Function Symma…………………………………………………………………………… 12

4.3 Procedure Massive_Z…………………………………………………………………….. 14

5 Разработка схемы метода и текста главный программки и их описание 16

Заключение………………………………………………………………………………………. 21

Перечень использованных источников литературы………………………………… 22

приложение А.
Листинг программки…………………………………………………… 23

Приложение Б. Итог работы программки…………………………………….. 26

Введение

Язык программирования Паскаль (назван в честь известного французского математика и философа Блез Паскаля (1623-1662)), разработан в 1968-1971 гг. Никлаусом Виртом, доктором, директором института информатики Швейцарской высшей политехнической школы. язык Паскаль, сделанный сначало для обучения программированию как периодической дисциплине, скоро стал обширно употребляться для разработки программных средств в проф программировании.

Разработка программ на Паскале содержит в себе последующие деяния (этапы разработки программки): ввод и редактирование текста программки на языке программирования Паскаль, ее трансляцию, отладку.

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

Для увеличения свойства и скорости разработки программ посреди 80-х гг. была сотворена система программирования Турбо Паскаль. слово «турбо» в заглавии системы программирования – это отражение марки компании – разраба Borland International, Inc. (США

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


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

Создать схему метода и программку для вычисления массива z по формуле:

.

Начальными данными являются:

Вычисление случайной суммы и произведения оформить функциями, вычисление массива — процедурой.


3. Расчет контрольной точки

Для расчета контрольной точки используем начальный данные. В качестве начальных данных принимаются:

Рассчитаем шаг для определения частей массива по формуле:

;

В согласовании с начальными данными Xmax равно 100, а Xmin – -10.

В итоге шаг равен:

Рассчитаем шаг для определения частей массива по формуле:

;

В согласовании с начальными данными Ymax равно 100, а Ymin – 0.1.

В итоге шаг равен:

Определим значения частей массива . За 1-ый элемент массива примем

.

Определим элементы массива . За 1-ый элемент массива примем

.

Определим значения частей массива согласно формуле:

.

Т.к. y[1] = 0.1 и y[1] < a, то расчет первого элемента массива произведем по формуле:

В итоге:

Т.к. y[2] = 25,075 и y[2] > a, то расчет первого элемента массива произведем по формуле:

В итоге:

Т.к. y[3] = 50,05 и y[3] > a, то расчет первого элемента массива произведем по формуле, приведенной в пт б.

В итоге:

Т.к. y[4] = 75,025 и y[4] > a, то расчет первого элемента массива произведем по формуле, приведенной в пт б.

В итоге:

Т.к. y[5] = 100 и y[5] > a, то расчет первого элемента массива произведем по формуле, приведенной в пт б.

В итоге:

Результаты вычисления контрольной точки сравним с результатом выполнения программки. Итог выполнения программки изображен на рисунке 1, также представлен в приложении А.

Создадим вывод, что программка производит вычисления правильно.


4. Разработка схем алгоритмов и текстов подпрограмм, их описание

4.1 Function Proizvedenie

Предназначение: вычисление произведения частей по формуле .

Воззвание: Proizvedenie (x,y[j],n);

Описание характеристик:

x – переменная типа massiv. Показывает массив размерностью 52.

Y – переменная типа double. Элемент массива .

n – количество частей в массиве x. n=12.

Требуемые функции и процедуры: нет.

Графическое

Листинг функции Proizvedenie:

Function Proizvedenie (x1:Massiv;y1:double;n1:integer):double;

var

p1:double;

i:integer;

begin

p1:=1;

for i:=1 to n1 do

p1:=p1*(x1[i]-y1);

Proizvedenie:=p1;

end;

4.2 Function Symma

Предназначение: вычисление суммы частей по формуле .

Воззвание: Symma (x,y[j],n);

Описание характеристик:

x – переменная типа massiv. Показывает массив размерностью 52.

Y – переменная типа double. Элемент массива .

n – количество частей в массиве x. n=12.

Требуемые функции и процедуры: нет.

Листинг функции Symma:

Function Symma (x1:Massiv;y1:double;n1:integer):real;

var

s1:real;

begin

s1:=0;

for i:=1 to n1 do

s1:=s1+(x1[i]-y1);

Symma:=s1;

end;

Графическое

4.3
Procedure Massive_Z

Предназначение: определение значения частей массива .

Воззвание: Massive_Z (y,m);

Описание характеристик:

y – переменная типа massiv. Показывает массив размерностью 15.

m – количество частей в массиве y. m=5.

Требуемые функции и процедуры:

Sqrt – арифметическая функция, возвращающая квадратный корень аргумента.

Sqr – арифметическая функция, возвращающая аргумент в квадрате.

Exp – возвращает экспоненту аргумента.

Cos – возвращает косинус аргумента.

Proizvedenie (x,y[j],n) – вычисляет произведение частей по формуле .

Symma (x,y[j],n) –вычисляет сумму частей по формуле .

Графическое

Листинг процедуры Massive_Z:

Procedure Massive_Z (y1:Massiv;m1:integer);

begin

for j:=1 to m1 do

if a>=y1[j] then

z[j]:=a*Sqr(cos(al))+(1/(b*Sqrt(exp(-t))))+Proizvedenie (x,y[j],n)

else

if a<y1[j] then

z[j]:=a*((exp(-(Sqr(t-tay))))/(Sqrt(a-b)))*Symma (x,y[j],n);

end;


5. Разработка схемы метода и текста главный программки и их описание

Разработанная программка написана на языке Turbo Pascal 7.0. программка создана для воплощения расчета по формулам, представленным выше.

В программке употребляется одна из директив компилятора {$N+), которая дозволяет употреблять числовой сопроцессор, т.е. реализовывать операции с плавающей точкой программно.

В программке употребляются константы:

в программке употребляется тип Massiv=array [1..d] of real.

В программке употребляются последующие переменные:

x:Massiv – озномерный массив вещественных чисел размерностью n.

y:Massiv – одномерный массив вещественных чисел размерностью m;

z – одномерный массив чисел типа double размерностью d;

i,j – типа integer;

h,k – типа double;

Графическое


Листинг главный программки:

Begin

clrscr;

writeln (‘Курсовая работа «Решение прикладной задачки«‘);

writeln;

k:=(Xmax-Xmin)/(n-1);

writeln (‘Шаг для вычисления массива x равен ‘,k:10:4);

h:=(Ymax-Ymin)/(m-1);

writeln (‘Шаг для вычисления массива y равен ‘,h:10:4);

x[1]:=Xmin;

for i:=2 to n do

x[i]:=x[i-1]+k;

y[1]:=Ymin;

for j:=2 to m do

y[j]:=y[j-1]+h;

writeln (‘Начальный массив x’);

for i:=1 to n do

begin

write (x[i]:10:4, »:2);

if ((i mod 5)=0) then writeln;

end;

writeln (‘Начальный массив y’);

for j:=1 to m do

write (y[j]:10:4, »:2);

writeln;

Massive_Z (y,m);

writeln (‘Вычисленный массив z равен’);

for j:=1 to m do

writeln (z[j]);

writeln;

write (‘Нажмите всякую кнопку…’);

readln;

End.


Заключение

В процессе выполнения данной курсовой работы были закреплены теоретические и практические способности в решении прикладных задач с применением функций и процедур, было освоен принцип структурного (модульного) программирования. Также в процессе выполнения данной курсовой работы была сотворена программки, осуществляющая формирование массива z в согласовании с приведенными формулами.


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

1. Фаронов В.В. Turbo Pascal 7.0 – М.: «Нолидж», 2001 г. – 576 с.


приложение А

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

Program Kyrsov_rabota;

{$N+}

uses crt;

const

n=10;

m=5;

a=23.56;

b=7.86;

al=0.364;

t=10;

tay=0.05;

d=100;

Ymin=0.1;

Ymax=100;

Xmin=-10;

Xmax=100;

type

Massiv=array [1..d] of real;

var

x,y:Massiv;

z:array [1..d] of double;

i,j:integer;

h,k:double;

Function Proizvedenie (x1:Massiv;y1:double;n1:integer):double;

var

p1:double;

i:integer;

begin

p1:=1;

for i:=1 to n1 do

p1:=p1*(x1[i]-y1);

Proizvedenie:=p1;

end;

Function Symma (x1:Massiv;y1:double;n1:integer):real;

var

s1:real;

begin

s1:=0;

for i:=1 to n1 do

s1:=s1+(x1[i]-y1);

Symma:=s1;

end;

Procedure Massive_Z (y1:Massiv;m1:integer);

begin

for j:=1 to m1 do

if a>=y1[j] then

z[j]:=a*Sqr(cos(al))+(1/(b*Sqrt(exp(-t))))+Proizvedenie (x,y[j],n)

else

if a<y1[j] then

z[j]:=a*((exp(-(Sqr(t-tay))))/(Sqrt(a-b)))*Symma (x,y[j],n);

end;

Begin

clrscr;

writeln (‘Курсовая работа «Решение прикладной задачки«‘);

writeln;

k:=(Xmax-Xmin)/(n-1);

writeln (‘Шаг для вычисления массива x равен ‘,k:10:4);

h:=(Ymax-Ymin)/(m-1);

writeln (‘Шаг для вычисления массива y равен ‘,h:10:4);

x[1]:=Xmin;

for i:=2 to n do

x[i]:=x[i-1]+k;

y[1]:=Ymin;

for j:=2 to m do

y[j]:=y[j-1]+h;

writeln (‘Начальный массив x’);

for i:=1 to n do

begin

write (x[i]:10:4, »:2);

if ((i mod 5)=0) then writeln;

end;

writeln (‘Начальный массив y’);

for j:=1 to m do

write (y[j]:10:4, »:2);

writeln;

Massive_Z (y,m);

writeln (‘Вычисленный массив z равен’);

for j:=1 to m do

writeln (z[j]);

writeln;

write (‘Нажмите всякую кнопку…’);

readln;

End.


приложение Б

Итог работы программки

Набросок Б1 – итог выполнения программки

]]>