на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка алгоритмов различной структуры и их реализация с помощью программных средств
p align="left">· подготовка отчетов работы в виде печатных документов;

· подготовка Web-страниц и публикация результатов в Интернете;

· получение различной справочной информации из области математики.

Со всеми этими (а также некоторыми другими) задачами с успехом справляется Mathcad:

· математические выражения и текст вводятся с помощью формульного редактора Mathcad, который по возможностям и простоте использования не уступает, к примеру, редактору формул, встроенному в Microsoft Word;

· математические расчеты производятся немедленно, в соответствии с введенными формулами;

· графики различных типов (по выбору пользователя) с богатыми возможностями форматирования вставляются непосредственно в документы;

· возможен ввод и вывод данных в файлы различных форматов;

· документы могут быть распечатаны непосредственно в Mathcad в том виде, который пользователь видит на экране компьютера, или сохранены в формате RTF для последующего редактирования в более мощных текстовых редакторах (например Microsoft Word);

· возможно полноценное сохранение документов Mathcad 11 в формате Web-страниц (генерация вспомогательных графических файлов происходит автоматически);

· имеется опция объединения разрабатываемых Вами документов в электронные книги, которые, с одной стороны, позволяют в удобном виде хранить математическую информацию, а с другой -- являются полноценными Mathcad-программами, способными осуществлять расчеты;

· символьные вычисления позволяют осуществлять аналитические преобразования, а также мгновенно получать разнообразную справочную математическую информацию

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

2 Практическая часть

Задача 1. Даны x,y,z. Вычислить a, b если

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

Входные данные -значения x, y, z, а также функции а и b

Выходные данные - значение функции a и b для различных значений аргумента х,y,z

Цель реализации алгоритма: нахождение значений a и b при заданных значениях x, y, z.

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

Словесное описание алгоритма.

Начало

1. Ввести x, y, z;

2. a:=y+(x/(y*y+(x*x/(y+(x*x*x/3)))));

3. b:=(1+sqr(sin(z/2)/cos(z/2)));

4. Вывод (a, b).

Конец

Текст программы приведен ниже

Program zadacha1;

Var

x, y, z:real;

a, b:real;

begin

writeln(`vvedite x,y,z');

readln(x,y,z);

a:=y+(x/(y*y+(x*x/(y+(x*x*x/3)))));

b:=(1+sqr(sin(z/2)/cos(z/2)));

writeln(`a=',a:7:3,'b=',b:7:3);

end.

Задача 2. Даны действительные числа x, y. Определить принадлежит ли точка с координатами х и у заштрихованной части плоскости.

У 1

-1 1 х

-1

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

Входные данные -значения x, y.

Выходные данные - нужно определить принадлежит ли точка с координатами х и у заштрихованной плоскости.

Цель реализации алгоритма: ввести значения х и у, и определить принадлежит ли точка плоскости. Для этого мы будем использовать функцию программиста.

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

Словесное описание алгоритма.

Начало

1. Читаем с экрана x и y

2. Определяем положение заданной точки относительно первого отрезка (1,0;0,1)

Положение определяем, считая произведение векторов проходящих через:

1-й вектор начальная - конечная точка отрезка,

2-й вектор начальная точка отрезка - заданная точка.

Произведение > 0 => точка лежит слева от отрезка,

Произведение < 0 => справа,

Произведение = 0 =>лежит на отрезке.

3. Аналогично считаем для оставшихся отрезков.

4. Если для все отрезков точка находится слева, значит она внутри области,

Если хоть для одного справа, значит вне области , ну и если лежит на отрезке, то на границе области.

5. Выводим ответ.

Конец

(Направление отрезков против часовой стрелки)

Текст программы приведен ниже

program zadacha2;

var

x,y,z: real;

function location(xlin1,ylin1,xlin2,ylin2: real): integer;

var

tmp: real;

begin

tmp := (xlin2-xlin1)*(y-ylin1) - (ylin2-ylin1)*(x-xlin1);

if tmp < 0 then location:= -1

else if tmp > 0 then location:= 1

else location:= 0;

end;

begin

repeat

write('x = ');

Readln(x);

write('y = ');

Readln(y);

if ((location(1,0,0,1)> 0) and (location(0,1,-1,0)>0) and (location(-1,0,0,-1)> 0) and (location(0,-1,1,0)>0))

then writeln('tochka prinadlegit oblasti')

else if ((location(1,0,0,1)< 0) or (location(0,1,-1,0)<0) or (location(-1,0,0,-1)< 0) or (location(0,-1,1,0)<0))

then writeln('tochka ne prinadlegit oblasti')

else writeln('tochka na granice oblasti');

Writeln;

until false;

end.

Задача 3. Дано действительное число а. Вычислить f(a), если

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

Входные данные - значение а, а так же функция f(x).

Выходные данные - значение функции f(a).

Цель реализации алгоритма: ввести значение а, вычислить значение f(a), при известной функции f(x).

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

Словесное описание алгоритма:

Начало

1. Читаем а

2. Проверяем условие -2 <= a <= 2

3. Если верно, то f(a) = 2*a^2 иначе f(a) = 4

Выводим f

Конец

Текст программы приведен ниже

program zadacha3;

var

a,f: double;

begin

repeat

write('a = ');

readln(a);

if ( (a>= -2) and (a<= 2) ) then

f:= 2*sqr(a)

else f:= 4;

write('f(a) = ');

writeln(f:0:3);

writeln;

writeln;

until false;

end.

Задача 4. Даны натуральное число n, действительная матрица размером n*9. Найти среднее арифметическое каждой из строк.

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

Входные данные - натурально число n, матрица размером n*9

Выходные данные - в зависимости от n, получаем определенное количество строк и выводим среднее арифметическое каждой из строк.

Цель реализации алгоритма: ввести значение n, создать матрицу размера n*9,вычислить среднее арифметическое каждой из строк.

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

Словесное описание алгоритма:

Начало

1. Читаем n

2. Создаем динамический массив размерностью nx9

3. В цикле поочередно считываем с экрана его элементы

4. В цикле считаем сумму элементов в строке и делим ее на 9

5. Выводим полученный ответ на экран

Конец

Текст программы

program Project4;

var

A: array of array of double;

n, i, j: integer;

tmp: double;

begin

write('n = ');

readln(n);

SetLength(A,n);

for i:=0 to n-1 do

SetLength(A[i],9);

for i:=0 to n-1 do

for j:=0 to 8 do

begin

write('A[',i,',',j,'] = ');

readln(A[i,j]);

end;

for i:=0 to n-1 do

begin

tmp:= 0;

for j:= 0 to 8 do

begin

tmp:= tmp + A[i,j];

end;

writeln('str',i+1,' ',tmp/9:0:3);

end;

readln;

end.

Задача 5. Получить единичную квадратную матрицу порядка n.

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

Входные данные - n-число строк и столбцов

Выходные данные - матрица размером n*n.

Цель реализации алгоритма: ввести значение n, создать единичную матрицу размера n*n, для этого будем использовать массив.

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

Словесное описание алгоритма:

Начало

1. Читаем n

2. Создаем динамический массив размерностью nxn

3. В цикле заполняем значениями его элементы:

Если номер строки и номер столбца совпадают, то 1

Иначе 0.

4. Выводим массив на экран.

Конец

Текст программы

program Project5;

var

A: array of array of byte;

n,i,j: integer;

begin

write('n = ');

readln(n);

SetLength(A,n);

for i:= 0 to n-1 do

SetLength(A[i],n);

for i:= 0 to n-1 do

for j:= 0 to n-1 do

if (i = j) then A[i,j]:= 1

else A[i,j]:= 0;

for i:= 0 to n-1 do

begin

writeln;

for j:= 0 to n-1 do

write(A[i,j],' ');

end;

writeln;

readln;

end.

Задача 6. Вычислить значения z, соответствующие каждому значению х (хn<=x<=xk шаг изменения х равен dx) по формуле .

Вычислить , сумму значений z, произведение отрицательных значений z, количество вычислительных z. Контрольный расчет провести при а=2.62, хn=-3, xk=3, dx=0.6.

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

Входные данные - Xn, Xk, dx, a.

Выходные данне - Z и F.

Цель реализации алгоритма: ввести значение Xn, Xk, dx, a, и при этих значениях вычислить по приведенным фомулам Z и F.

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

Словесное описание алгоритма:

Начало

1. Читаем Xn, Xk, dx, a

2. x = Xn

3. Пока x <= Xk делаем:

1) Вычисляем z

2) Если z >=0 то добавляем его в сумму положительных z

Иначе в произведение отрицательных

3) Добавляем z в общую сумму

4) Увеличиваем на 1 количество посчитанных z

5) x = x + dx

4. F = произведение отрицательных z + сумма положительных z

5. Выводим полученные значения на экран

Конец

Текст программы

program Project6;

var

Xn, Xk, x, dx, a, tmp,

summa,

proizveden,

F,

allsumma : double;

Count: integer;

first: boolean;

function z(x: double): double;

begin

z:= (sqr(a*x)*exp(1/3*ln(1/sqr(a+x))) )/( a*ln(a + sqr(x)) ) ;

end;

begin

write('Xn = ' );

readln(Xn);

write('Xk = ');

readln(Xk);

write('dx = ');

readln(dx);

write('a = ');

readln(a);

if (Xk < Xn) then

begin

tmp:= Xk;

Xk:= Xn;

Xn:= tmp;

end;

x:= Xn;

proizveden:= 0;

summa:= 0;

count:= 0;

allsumma:= 0;

first:= true;

while (x<=Xk) do

begin

tmp:= z(x);

if (tmp < 0) then if first then

begin

proizveden:= tmp;

first:= false;

end

else

proizveden:= proizveden * tmp

else summa:= summa + tmp;

allsumma:= allsumma + tmp;

Count:= Count + 1;

x:= x + dx;

end;

F:= proizveden + summa;

writeln;

writeln('F = ', F:0:5);

writeln('summa znachenij z = ', allsumma:0:5);

writeln('proizvedenie otricatelnih z = ', proizveden:0:5);

writeln('kolichestvo vicheslitelnih z = ', Count);

readln;

end.

Задача 7. Дано: а=5 da=-0.5. Z вычислять по формуле:, где q=a2-a. Считать до тех пор, пока q>0. Определить k-количество вычисленных Z. Вывести на экран a, q, Z, k.

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

Входные данные - а=5 da=-0.5.

Выходные данне - a, q, Z, k.

Цель реализации алгоритма: ввести значение а=5 da=-0.5-константы и при этих значениях вычислить по приведенным фомулам Z и вывести на экран a, q, Z, k.

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

Словесное описание алгоритма:

Начало

1. A = 5, da = -0.5

2. q = a^2 - a

3. пока q > 0 делать

1) z = q + 1/(q+1)

2) увеличиваем К (кол-во вычислений) на 1

3) a = a + da

4) q = a^2 - a

4. выводим на экран a, q, Z, k

Конец

Текст программы

var

k: integer;

a,da,z,q: double;

sd: array of integer;

begin

a:=5;

da:=-0.5;

k:=0;

q:=sqr(a) - a;

while(q > 0) do

begin

z:= q + 1/(q+1);

k:= k + 1;

a:= a + da;

q:=sqr(a) - a;

end;

writeln('a = ', a:0:5);

writeln('q = ', q:0:5);

writeln('Z = ', z:0:5);

writeln('k = ', k);

readln;

end.

Задача 8. Решить в excel.

Название учебного центра

Количество неаттестованных учащихся

2001

2002

2003

2004

2005

2006

Softline

14

32

31

26

12

40

Интерком

12

24

32

15

18

20

Найти:

1. Общее число неаттестованных учащихся за каждый год.

2. Среднее число неаттестованных учащихся за каждый год по каждому учебному центру.

3. Учебный центр, в котором наибольшее количество неаттестованных учащихся (за год).

4. Построить гистограмму неаттестации за каждый год.

1 этап: ввод исходных данных в MS Excel.

Рисунок 1- Ввод данных

2 этап: вычисления.

При выполнении данного задания используются следующие функции:

1. Математические:

СУММ - сумма аргументов

2. Статистические:

СРЗНАЧ - среднее арифметическое аргументов

МАКС - максимальное значение из списка аргументов

МИН - минимальное значение из списка аргументов

Рисунок 2 - Результаты

Рисунок 2.1 - Результаты

Этап 3:Построение гистограммы. Выделяем таблицу, выполняем команду Вставка - Гистограмма и выбираем простую гистограмму.

Результат показан на рисунке

Рисунок 2.2- Гистограмма

Задание 9. Построить график функции f(x) в Excel.

a) ,

b)

Определение функции f(x). Для этого в ячейки B2:B19 вводим значение аргумента при помощи автозаполнения, в данном случае с шагом 0,1. В ячейку С3 вводится значение функции, вычисляемое по формуле = 4*B3^3+3*B3^2-8*B3-2/2-3*B3^2. Ячейки С4:С19 заполняются копированием формулы из ячейки С3.

Построение графика: выделяем диапазон В2:С19, вызываем «Мастер диаграмм». Для построения графика функции лучше выбрать точечную диаграмму, со значениями, соединенными сглаживающими линиями без маркеров. Чтобы график получился выразительным, можно определить промежуток изменения аргумента, увеличить толщину линий, выделить оси координат, нанести на них соответствующие деления, сделать подписи на осях и вывести заголовок.

Рисунок 3 - Построение графика функции

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

Рисунок 3.1 - Построение графика функции

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

1. Б.В. Соболь [и др.] «Информатика и программирование»- Ростов н/Д: Феникс, 2006 - 354 с.

2. Информатика. Базовый курс./С.В. Симонович и др. - СПб.: Питер, 2001

3. Информатика: базовый курс: учебник для студентов вузов, бакалавров, магистров, обучающихся по направлению «Информатика»/О.А. Акулов, Н.В. Медведев. 6-е изд., испр. и доп.-М.: Издательство «Омега-Л», 2009.-574 с. - (Высшее техническое образование).

4. Каймин В.А. Информатика: Учебник для вузов. - М.: Высшее образование, 1998.

5. Каймин В.А., Касаев Б.С. Информатика.: Практикум на ЭВМ. Учебное пособие.

6. Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi.- 2-е издание, перераб. и доп.- Спб.: БХВ-Петербург,2002.-416 с.;ил.

7. Турбо Паскаль 7.0. Самоучитель. - СПб.: Питер; К.: Издательская группа BHV, 2002.-576 с.

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.