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
|