Методические указания для студентов дневного и вечернего отделений механико-математического факультета




Скачать 118.28 Kb.
НазваниеМетодические указания для студентов дневного и вечернего отделений механико-математического факультета
Дата29.12.2012
Размер118.28 Kb.
ТипМетодические указания


Министерство образования Российской федерации


Ростовский ордена Трудового Красного Знамени

государственный университет


Н.И. Амелина, Я.М. Русанова, А.А. Чекулаева


Информатика. Задачи.


Часть 1 б

Задачи на тему:

Процедуры и функции


Методические указания для студентов дневного и вечернего отделений механико-математического факультета


Ростов - на - Дону

2005

Печатается по решению

кафедры прикладной математики и программирования

механико-математического факультета РГУ

от 17.11.2004 (протокол № 3).


АННОТАЦИЯ


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

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


Авторы: Н.И. Амелина, Я.М. Русанова, А.А. Чекулаева


© Н.И. Амелина, Я.М. Русанова, А.А. Чекулаева, 2005


СОДЕРЖАНИЕ

  1. Процедуры. Функции. 4

  2. Параметры-процедуры и параметры-функции 8

  3. Рекурсия 15

  4. Литература 17




  1. Процедуры. Функции


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

.

Procedure CADD(Re1, Re2, Im1, Im2 :real; var Re, Im :real);

begin

Re:=Re1+Re2;

Im:=Im1+Im2

end;


Пример описания функции, вычисляющей сумму квадратов первых n натуральных чисел.


Function SN2 (n: integer): integer;

Var s, i: integer;

begin

s:=0;

for i:=1 to n do

s:=s+i*i;

SN2:=s

end;


    1. Описать процедуру maxmin(x,y), которая присваивает x большее из вещественных чисел x и y, а y – меньшее. Даны a, b, c – вещественные числа. Упорядочить их по возрастанию, используя процедуру maxmin. { maxmin(a,b), maxmin(b,c), maxmin(a,b)}

    2. Описать процедуру sokr(a, b, p, q) от целых параметров (b≠0), которая приводит дробь a/b к несократимому виду p/q. Использовать эту процедуру для приведения дроби 1+1/2+1/3+…+1/n к несократимому виду c/d.

    3. Описать процедуры, реализующие арифметические операции над комплексными числами, представленными в алгебраической форме:

  1. определить разность двух комплексных чисел;

  2. определить произведение двух комплексных чисел;

  3. определить частное от деления двух комплексных чисел, если оно существует.

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

    2. Описать функцию подсчета количества цифр в целом положительном числе.

    3. Описать функцию получения числа с обратным порядком следования цифр для заданного целого положительного числа.

    4. Описать функцию проверки того факта, что все цифры целого положительного числа различны.

    5. Написать программы решения следующих задач с использованием процедур:

  1. для заданного действительного числа x определить с заданной точностью, используя формулу

  2. определить корни уравнения ax2+bx+c=0 с действительными коэффициентами a, b, c;

  3. определить корни приведенного кубического уравнения x3+ax2+bx+c=0 с действительными коэффициентами.

    1. Описать функции для решения следующих задач:

  1. для заданного значения x и точности eps вычислить сумму ряда ;

  2. для заданного значения x и n вычислить произведение ;

  3. для заданных чисел: вещественного x и натурального n - вычислить y=xn;

  4. для заданных натуральных чисел n и m вычислить биноминальный коэффициент, используя формулу ;

  5. для заданных натуральных чисел n и m вычислить биноминальный коэффициент, используя определение





  1. для заданных координат двух точек плоскости вычислить расстояние между ними;

  2. проверить, является ли заданное значение x корнем квадратного уравнения ax2+bx+c=0;

  3. вычислить расстояние от точки (x, y) до прямой, заданной уравнением Ax+By+C=0;

  4. вычислить угол в радианах между прямыми, заданными уравнениями A1x+B1y+C1=0 и A2x+B2y+C2=0;

  5. определить координаты точки пересечения двух прямых A1x+B1y+C1=0 и A2x+B2y+C2=0 и вернуть значение true, если точка существует, или значение false в противном случае.

    1. Вычислить используя для вычисления приближенного значения гиперболического тангенса формулу:

  1. ;

  2. .




    1. Для заданного вещественного положительного числа a вычислить величину , используя для вычисления с точностью eps итерационную формулу: .

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

    3. Описать функцию нахождения arcsin x

.

    1. Описать функцию нахождения arccos x

.

Используя функцию Паскаля ord(x) эту формулу можно переписать в другом виде

.

  1. Параметры-процедуры и параметры-функции

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

Program INTEGRAL;

type FUNC=function (x :real) :real;

Var a, b, w, eps :real;

function F(x :real) :real; far;

begin

F:=sin(x)/(1+x*x)

end;

function INT (a, b, eps :real; F :FUNC) :real;

Var i, n :integer;

x, h, S1, S2 :real;

begin

n:=1;

h:=(b-a)/n;

S2:=F(a+h/2)*h; {первоначальное вычисление площади}

Repeat {цикл по уточнению площади}

S1:=S2; n:=2*n; h:=h/2;

S2:=0; X:=a+h/2;

for i:=1 to n do

begin

S2:=S2+F(x);

X:=x+h

end;

S2:=S2*h

until abs(S2-S1)<=eps;

INT:=S2

end;

{главная программа}

begin

write(‘пределы интегрирования: ’); readln(a, b);

write(‘точность’); readln(eps);

w:=INT(a, b, eps, F);

writeln(‘w=’,w:10:4)

end.


Описание функйии поиска «нуля» функции методом деления пополам.

function ZERO(F: FUNC; a, b, eps: real): real;

var x: real; q: boolean;

begin

q:=F(a)<0;

repeat

x:=(a+b)*0.5;

I if F((x)<0)=q then

a:=x

else b:=x

until abs(b-a)
ZERO:=x

End;


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

  1. по формуле левых прямоугольников

;

  1. по формуле правых прямоугольников

;

  1. по формуле трапеций

;

  1. по формуле Симпсона

.

С их помощью вычислить значения следующих интегралов (справа – ответ для сравнения):

  1. ;

  2. ;

  3. ;

  4. ;

  5. ;

  6. ;

  7. ;





  8. ;





  9. ;

  10. ;

  11. ;

  12. .

    1. Вычислить значения интегралов по формулам численного интегрирования и аналитически. Сравнить результаты:











    1. Дано действительное число eps. Вычислить значение интеграла с точностью до eps.





























    1. Описать процедуру (функцию) вычисления с заданной точностью eps корня уравнения F(x)=0 на заданном отрезке [a,b], используя один из описанных ниже методов.

1) Метод простых итераций основан на представлении уравнения F(x)=0 в виде x=f(x) и многократном применении итерационной формулы xn+1=f(xn) до тех пор, пока соблюдается условие |xn+1-xn|≥eps.

Достаточное условие сходимости итерационного процесса - |f′(x)|<1 при a

2) Метод касательных (Ньютона) основан на замене F(x) в точке начального приближения x=x0 касательной, пересечение которой с осью x дает первое приближение x1 и т.д.

Таким образом, итерационный процесс нахождения корня реализуется формулой , пока соблюдается условие |xn+1-xn|≥eps.

Метод обеспечивает быструю (квадратичную) сходимость, если F(x0)*F″(x0)>0. В качестве x0 выбирают тот конец отрезка [a,b], на котором знаки F(x0) и F″(x0) совпадают.

3) Метод хорд. При использовании метода хорд каждое значение xn+1 находится как точка пересечения оси абсцисс с хордой, проведенной через точки F(a) и F(b), причем одна из этих точек фиксируется – та, для которой знаки F(x) и F″(x) одинаковы.

Если неподвижен конец хорды x=a, то . Если неподвижен конец хорды x=b, то

Если |xn+1-xn|≥eps, то в первом случае считаем b=xn+1, во втором a=xn+1 и повторяем вычисления.

Найти с точностью eps корень уравнения на указанном отрезке:

  1. x2cos 2x+1=0, [0, π/2];

  2. x3+x2+x+1=0, [-2, 1];

  3. x5-0.3|x-1|=0, [0, 1];

  4. 2x-cos x=0, [0, π/2];

  5. 0.9x-sin(x1/2)-0.1=0, [0, 1.5];

  6. tg x-(x+1)/2=0, [0, π/4];

  7. 5(x-3)2-9=0 [0, 10];

  8. x+ln(x+0.5)-0.5=0 [0, 2];

  9. x5-x-0.2=0 [1, 1.1];

  10. x3-0.2x2-0.2x-1.2=0 [1, 1.5];

  11. 2sin2x/3-3cos2x/4=0 [0, π/2];

  12. x4+0.8x3-0.4x2-1.4x-1.2=0 [-1.2, -0.5];

  13. x4-4.1x3+x2-5.1x+4.1=0 [3.7, 5];

  14. x*2x-1=0 [0, 1];

  15. x2-sin5x=0 [0.5, 0.6];

  16. (4+x2)(ex- e-x)=18 [1.2, 1.3];

  17. x3-2x2+x-3=0, [2.1, 2.2];

  18. x2-1.3ln(x+0.5)-2.8x+1.15=0 [2.1, 2.5].

    1. Методом итераций вычислить с заданной точностью и заданным начальным значением корень уравнения f(x)=0:

    1. (0);

    2. 2x2+4x=1 (0.11);

    3. x3+12x=2 (0.95);

    4. 5x-8 ln x=8 (4.3);

    5. x-sin x=0.25 (1.2);

    6. 5x3-10x2+5 x=1 (0.6);

    7. 10x=10+sin x (1);

    8. ex-2(1-x2) =1 (0.5);

    9. 2x+lg(2x+3)=1 (0);

    10. x3-2x2+7 x+3=0 (-1).

    1. Найти с заданной точностью корни уравнения f(x)=0 на указанных отрезках:

  1. x4+2x3-x-1=0 [-2, -1], [0,1];

  2. x4-x3-2x2+3x-3=0 [-1, 0], [1,2];

  3. x4-2x3+x-1.5=0 [-1, 0], [1,2];

  4. x4-4x-1=0 [-1, 1], [1,2];

  5. x4+4x3+4.8x2+16x-1=0 [-4, -3], [0,1];

  6. ex-10x =0 [0, 1], [2,6];

  7. 5x-8 ln x=8 [0, 1], [3,4];

  8. 5x-6x-3 =0 [-1, 0], [1,2];

  9. 2cos(x+π/6)+ x2=3x+2 [0, 2], [2,4];

  10. [1, 2], [2,4];

  11. x3-2x2-4x+7=0 [-2, -1], [1,2] , [2,3];

  12. x3-1.75x+0.75=0 [-2, 0], [0,0.75] , [0.75,2];

  13. 2x3+3x2-12x-8=0 [-3.5, -2], [-2,1] , [1,3];

  14. x3-4x+2=0 [-3, -2], [0,1] , [1,2];

  15. x3-6x+2=0 [-3, -2], [0,1] , [2,3];

  16. x2-4|x|+3=0 [-4, -2], [-2,0] , [0,2] , [2,4].

    1. Вычислить с заданной точностью площадь фигуры между дугами кривых, используя методы решения уравнения и интегрирования:

  1. y= x2-4x+4=0, y=3x-6;

  2. x2-8x=4y-16, y=x-4;

  3. x2-4x+8=2y, x=2y-4;

  4. x+y=5, x2-4x+y=1;

  5. y=2x-8, x2-8x+16=2y;

  6. y=2x-8, x2-8x+16=2y, 2x+y=16;

  7. y=sin x2+2, ;

  8. y=cos x2+1, ;

  9. , y=ln(1+ x2), .

Эти задачи можно использовать при работе с графикой (использование модуля GRAPH), в частности для построения графиков функций.


  1. Рекурсия


Рекурсивная функция вычисления числа Фибоначчи.

Program RECURS;

Var number: int; rezult: longint;

function FIBONACCI(n: int): longint;

begin

if (n=0) or (n=1) then FIBONACCI:=1

else FIBONACCI:= FIBONACCI(n-1)+ FIBONACCI(n-2)

end;


{главная программа}

begin

write(‘Введите целое число ’);

readln(number);

rezult:= FIBONACCI(number);

writeln(number,‘-е число Фибоначчи равно ’, rezult)

end.

    1. Описать рекурсивную функцию для вычисления n!.

    2. Описать рекурсивную функцию для вычисления xn.

    3. Описать рекурсивную функцию pow(x,n) от вещественного x (x≠0) и целого n, которая вычисляет величину xn согласно формуле



    1. Рекурсивно описать функцию C(m,n), где 0≤m≤n, для вычисления биномиального коэффициента по следующей формуле: при 0<m<n.

    2. Используя рекурсивную функцию, найти n-ый член последовательности

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

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

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

    6. Используя рекурсивную функцию, распечатать первые n членов последовательности , которые больше m.

    7. Используя рекурсивную функцию, распечатать номера первых n членов последовательности xn=2*xn-3+3*xn-1-4, x0=2, x1=0, x2=1, которые больше m.

    8. Описать рекурсивную функцию root(f,a,b,eps), которая методом деления отрезка пополам находит c точностью до eps корень заданной функции f(x) на отрезке [a,b].

    9. Напишите рекурсивную функцию nod, которая возвращает наибольший общий делитель чисел x и y. НОД для x и y определяется рекурсивно следующим образом:

  1. если y=0, то nod (x, y) возвращает x,

  2. в противном случае nod (x, y) равняется nod (y, x % y), где % - операция вычисления остатка.




  1. Литература




  1. Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль. М.: Наука, 1989.

  2. Амелина Н.И., Демяненко Я.М., Лебединская Е.Н., Пасечный Л.Г., Спивак И.Г., Усов А.Б. , Угольницкий Г.А. Задачи по программированию. М., Вузовская книга, 2000.

  3. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979.

  4. Гутер Р.С., Минаева С.С., Резниковский П.Т. Задачник – практикум по программированию и вычислительной математике. М.: Наука, 1973

  5. Двайт Г.Б. Таблицы интервалов и другие математические формулы. М.: Наука, 1978

  6. Демидович Б.П., Марон И.А. Основы вычислительной математики. – М.: Физматгиг, 1963

  7. Епанешников А.М., Епанешников В.А. Программирование в среде Turbo Pascal 7.0. М.: Диалог-МИФИ, 1996

  8. Йенсен К., Вирт Н. Паскаль. Руководство пользователя и описание языка. М. Финансы и статистика, 1982

  9. Пильщиков В.Н. Сборник упражнений по языку Паскаль. М.: Наука, 1989.

  10. Прайс Д. Программирование на языке Паскаль: Практическое руководство. Пер с англ. М.: Мир, 1987.

  11. Семашко Г.Л., Салтыков А.И. Программирование на языке Паскаль. М.: Наука. Гл. ред. физ.-мат. лит., 1988. - 128 с.



Похожие:

Методические указания для студентов дневного и вечернего отделений механико-математического факультета iconМетодические рекомендации по выполнению курсовой работы для студентов дневного и вечернего отделений Примерная тематика курсовых работ по Особенной части уголовного права для студентов дневного и вечернего отделений
Планы семинарско-практических занятий для студентов 3-го курса дневного факультета
Методические указания для студентов дневного и вечернего отделений механико-математического факультета iconМетодические указания по курсовому проектированию по курсу “ Базы данных “ для студентов механико-математического факультета вечернего и дневного отделения Ростов-на-Дону
Основные понятия
Методические указания для студентов дневного и вечернего отделений механико-математического факультета iconМетодические указания по «Практикуму на эвм» для студентов 1 курса дневного и вечернего отделений факультета математики, механики и компьютерных наук
Методические указания предназначены для студентов 1 курса дневного и вечернего отделений факультета математики, механики и компьютерных...
Методические указания для студентов дневного и вечернего отделений механико-математического факультета iconМетодические указания по курсу «Языки программирования и методы трансляции» для студентов 1 и 2 курсов дневного и вечернего отделений
Методические указания предназначены для студентов, изучающих курс «Языки программирования и методы трансляции», и преподавателей,...
Методические указания для студентов дневного и вечернего отделений механико-математического факультета iconПрограмма курса. Методические материалы для студентов дневного и вечернего отделений. Москва
Утверждено Кафедрой истории и теории государства и права, государственного права Юридического факультета 22 декабря 2010 г. (протокол...
Методические указания для студентов дневного и вечернего отделений механико-математического факультета iconМетодические рекомендации по выполнению курсовой работы для студентов дневного и вечернего факультетов
Планы семинарско-практических занятий для студентов 2-го курса дневного факультета
Методические указания для студентов дневного и вечернего отделений механико-математического факультета iconУчебно-методический комплекс по курсу “экологическое право” для студентов дневного, вечернего и заочного отделений юридического факультета
Экологическое законодательство регулирует не все отношения человека с окружающей средой, а устанавливает правила поведения именно...
Методические указания для студентов дневного и вечернего отделений механико-математического факультета iconРеспублики Беларусь Белорусский государственный университет Механико-математический факультет Кафедра уравнений математической физики
Программа предназначена для студентов-математиков специальности математическая электроника механико-математического факультета
Методические указания для студентов дневного и вечернего отделений механико-математического факультета iconДипломная работа Методические рекомендации для студентов дневного и заочного отделений специальности «Документоведение и документационное обеспечение управления»
Методические указания предназначены для студентов-дипломников, обучающихся по специальности “Документоведение и документационное...
Методические указания для студентов дневного и вечернего отделений механико-математического факультета iconЯзык для студентов-юристов дневного и вечернего отделений 1 семестр
Попов Е. Б., Халюшева Г. Р. Английский язык для студентов-юристов: Учебное пособие. Оренбург: Оренбургский институт мгюа, 2011. 82...
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница