Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Кафедра вычислительной техники и инженерной кибернетикиСтр 1 из 2Следующая ⇒
УФИМСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЯНОЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра вычислительной техники и инженерной кибернетики
УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ К выполнению контрольной работы по информатике для студентов заочной формы обучения
УФА 2004 Учебно-методическое пособие содержит требования к выполнению контрольной работы по информатике для студентов-заочников и примеры решения задач по каждому из предложенных заданий.
Составитель Хоробров В.Р., доцент, к.т.н.
Рецензент Давыдов А.Ф., доцент
© Уфимский государственный нефтяной технический университет, 2004
ВВЕДЕНИЕ
При изучении дисциплины Информатика студенты-заочники выполняют контрольную работу, целью которой является приобретение навыков алгоритмизации и программирования на алгоритмическом языке ПАСКАЛЬ.
СОСТАВ КОНТРОЛЬНОЙ РАБОТЫ
В состав контрольной работы входят задания по следующим разделам · программирование линейного вычислительного процесса; · программирование арифметического цикла; · программирование разветвляющегося вычислительного процесса; · программирование итерационного цикла (вычисление рядов); · программирование матричных операций.
Студент выполняет один и тот же вариант для всех заданий. Номер варианта определяется числом, образованным двумя правыми цифрами шифра студента. Так для шифра 120036 номер варианта равен 36, а для шифра 125500 - номер варианта равен 100. Варианты заданий выбираются из методической разработки [1], в которой приведены по 100 вариантов для каждого задания. В помощь студенту приведены примеры решения задач по каждому из пяти заданий. Рассмотрены различные варианты выполнения задания 2 (арифметический цикл), задания 3 (разветвляющийся алгоритм) и задания 4 (вычисление рядов).
ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ОТЧЕТА
Отчет должен иметь следующую структуру: Титульный лист Содержание(оглавление) 1. Наименование задания 1 1.1. Постановка задачи 1.2. Блок-схема алгоритма 1.3. Программа на языке Паскаль 1.4. Результаты решения 2. Наименование задания 2 2.1. Постановка задачи -------------------------------------------- -------------------------------------------- 5.4 Результаты решения Список использованной литературы
Отчет выполняется на листах формата А4 (210× 297). Допускается использование листов в клетку. Листы отчета должны быть пронумерованы, начиная со следующего после титульного листа. Номер листа проставляется в середине верхней его части. Желательно (но не обязательно) оформлять отчет в печатном виде с использованием редактора WORD. Титульный лист оформляется в соответствии с приложением 1. Содержание (оглавление) отчета включает все выделенные в тексте заголовки частей и разделов с указанием начальных страниц, включая список литературы. Блок-схемы алгоритмов выполняются в соответствии с ГОСТ 19.001-80 и 19.003-80. В приложении 2 приведены требования к оформлению блок-схем алгоритмов. Программа на Паскале составляется в соответствии с блок-схемой алгоритма и представляется в распечатанном на принтере виде. Результаты расчета представляются на той же распечатке, что и программа (не на отдельных листах). Если распечатка программы и результатов имеет длину, превышающую размер листа (297 мм), то ее следует аккуратно сложить по формату листа, не разрезая на отдельные листы. Примеры алгоритмов и программ Программирование алгоритмов линейной структуры Пример. Вычислить значение функции y=sin x+ex+2, где x=ln a+ , b=cos 3a, a=7, 25. Блок-схема алгоритма
Расчет контрольного примера (к.п.) ;
Паскаль-программа
var a, b, x, y: real;
write (‘Введите а=’); readln (a); b: =cos(a)*cos(a)*cos(a); x: =ln(a)+sqrt(abs(b)); y: =sin(x)+exp(x+2); writeln (‘b=’, b: 1: 3, ‘ x=’, x: 1: 3, ’ y=’, y: 1: 3); end.
Контрольный пример: Введите а=1 b=0.158 x=0.397 y=11.379
Вывод: программа работоспособна, т. к. значения результатов контрольного примера ручного и машинного счета приблизи-тельно совпадают. Результат: Введите а=7.25 b=0.183 x=2.409 y=82.855
Суммирование рядов
Задача. Разработать программу вычисления точного Y и прибли-женного S значений функции при изменении её аргумента от xн до xк с шагом Δ x. Приближенное значение функции, представленной бесконечным рядом , вычислять путем суммирования членов ряда до достижения требуемой точности = . То есть прибавлять очередной член ряда до тех пор, пока его значение по абсолютной величине не станет меньше . Для предотвращения зацикливания предусмотреть завершение процесса суммирования членов ряда по заданному максимальному номеру члена ряда =1000. Ниже рассмотрены примеры суммирования бесконечных рядов трех типов: а) текущий член ряда ai вычисляется непосредственно; б) текущий член ряда ai вычисляется по рекуррентной формуле , где ; в) текущий член ряда ai является произведением двух сомножителей , где вычисляется непосредственно, а -по рекуррентной формуле. Формула итерации для текущего члена находится в виде: , где . Примеры а) рассматривается вариант вычисления суммы бесконечного ряда, текущий член ai которого вычисляется непосредственно и имеет вид, например, и т.д.
Пример 1. ; ; ; - вычисляется непосредственно;
б) рассматривается вариант вычисления суммы бесконечного ряда, текущий член ai которого содержит степенные выражения, факториалы и имеет вид, например. и т.д.
Пример 2.
; ; - вычисляется по рекуррентной формуле в виде: , ; Рекуррентная формула ; Проверка - формула верна;
в) рассматривается вариант вычисления суммы бесконечного ряда, текущий член ai которого содержит выражения, вычисляемые непосредственно, и выражения с факториалами и степенями и имеет вид, например, и т.д.
Пример 3.
; . Решение
Вывод формулы итерации: 1. Определение типа члена ряда. - смешанный тип , где – вычисляется непосредственно, а - по рекуррентной формуле.
2. Определение формулы итерации в виде: , , , Формула итерации: , , .
3. Проверка: , - формула верна. Блок-схема алгоритма Паскаль-программа
Program prim43; const n=1000; e=0.0001 label met; var x, y, s, xn, xk, dx, c, a: real; i: integer;
write(‘Введите xn, xk, dx=’); readln(xn, xk, dx); x: =xn; while x< =xk do нет begin y: =arctan(x); s: =x; c: =x; for i: =1 to n do
a: =c/(2*i+1); if abs(a)< e then goto met; s: =s+a;
met: writeln(‘x=’, x: 3: 1, ‘ y=’y: 8: 5, ’ s=’, s: 8: 5, ’ i=’, i); x: =x+dx; end end.
Результаты Введите xn, xk, dx=0.2 0.8 0.2 x=0.2 y=0.19740 s=0.19733 i=2 x=0.4 y=0.38051 s=0.38048 i=4 да x=0.6 y=0.54042 s=0.54044 i=7 x=0.8 y=0.67474 s=0.67480 i=13 нет
Задача. Разработать программу решения 4-х взаимосвязанных задач 1) расчёт элементов квадратной матрицы A=a(i, j), i, j=1, 2, … по заданной формуле;
2) вычисление элементов вектора X=x(i) i=1, 2, … по заданному правилу;
3) упорядочение элементов матрицы А или вектора Х;
4) вычисление значения функции y по заданной формуле.
Пример. 1) ; ;
2) ; ;
3) упорядочить элементы второго столбца матрицы А по убыванию значений;
4) ; .
Задание выполнить для n=6. Замечание. Предварительно провести отладку программы при n=3, для чего получить решение задачи вручную (или с помощью калькулятора) и проверить полученные данные на ЭВМ.
Блок-схема алгоритма
нет
да
нет
да
Паскаль-программа program prim5; var a: array[1..10, 1..10] of real; x: array [1..10] of real; i, j, k, n: integer; y, s, c: real; begin writeln(‘Введите n’); read(n); {---------------------------------------часть 1-----------------------------------} for i: =1 to n do for j: =1 to n do a[i, j]: =(2*j*i+4*i)/j; writeln(‘ ‘: 20, ’МАТРИЦА А’); for i: =1 to n do begin for j: =1 to n do write(a[i, j]: 8: 3); writeln; end; {---------------------------------------часть 2-----------------------------------} for i: =1 to n do begin s: =0; for j: =1 to n do s: =s+sqr(a[i, j]); x[i]: =sqrt(s)/n; end; writeln(‘ ‘: 20, ’ВЕКТОР Х’); for i: =1 to n do write(x[i]: 8: 3); {---------------------------------------часть 3-----------------------------------} for i: =1 to n-1 do begin k: =i; for j: =i+1 to n do if a[j, 2]> a[k, 2] then k: =j; if i< > k then begin c: =a[i, 2]; a[i, 2]: =a[k, 2]; a[k, 2]: =c; end; end; writeln(‘ ‘: 14, ’УПОРЯДОЧЕННАЯ МАТРИЦА’); for i: =1 to n do begin for j: =1 to n do write(a[i, j]: 8: 3); writeln; end; {---------------------------------------часть 4-----------------------------------} y: =1; for i: =1 to n do begin s: =0; for k: =1 to n do s: =s+x[k]; if x[i]< > 0 then y: =y*x[i]*s; end; writeln(‘ЗНАЧЕНИЕ ФУНКЦИИ У=’, y: 1: 3); end.
Результаты Введите n=6 МАТРИЦА А 6.000 4.000 3.333 3.000 2.800 2.667 12.000 8.000 6.667 6.000 5.600 5.333 18.000 12.000 10.000 9.000 8.400 8.000 24.000 16.000 13.333 12.000 11.200 10.667 30.000 20.000 16.667 15.000 14.000 13.333 36.000 24.000 20.000 18.000 16.800 16.000
ВЕКТОР X 1.555 3.110 4.665 6.220 7.776 9.331
УПОРЯДОЧЕННАЯ МАТРИЦА А 6.000 24.000 3.333 3.000 2.800 2.667 12.000 20.000 6.667 6.000 5.600 5.333 18.000 16.000 10.000 9.000 8.400 8.000 24.000 12.000 13.333 12.000 11.200 10.667 30.000 8.000 16.667 15.000 14.000 13.333 36.000 4.000 20.000 18.000 16.800 16.000
ЗНАЧЕНИЕ ФУНКЦИИ Y=123454118108000.000 Список рекомендуемой литературы
1. Задания для практических и лабораторных занятий по информатике (работы 1-5): Методические указания./ Cост. Т.Г. Умергалин, И.Г. Мухамадеев, Э.В. Писаренко - Уфа: изд-во УГНТУ, 1997.-51 с. 2. Основы программирования и работы в интегрированной среде Турбо-Паскаль: Методические указания./ Cост Т.Г. Умергалин, И.Г. Мухамадеев - Уфа: изд-во УГНТУ, 1992.-45 с. 3. Емелина Е.И. Основы программирования на языке Паскаль. - М.: Финансы и статистика, 1997.-208 с. 4. Фаронов В.В. Турбо Паскаль: В 3-х кн. Кн. 1. Основы Турбо Паскаля. – М.: Учебно-инженерный центр “МВТУ-ФЕСТО ДИДАКТИК”, 1992. – 304 с.
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Контрольная работа ПО ИНФОРМАТИКЕ «решение задач СОДЕРЖАНИЕ Введение………………………………………………………………………...1 Состав контрольной работы.........................................................................….1 Требования к оформлению отчета.......................................…………………..2 Примеры алгоритмов и программ....................................................………..…3 1. Программирование алгоритмов линейной структуры...........................…3 2. Программирование алгоритмов циклической структуры…...................…4 3. Программирование алгоритмов разветвляющейся структуры..…............7 4. Суммирование рядов………………………………………………………...9 5. Работа с массивами………………………………………………………... 15 Список рекомендуемой литературы…………………………………………. 19 ПРИЛОЖЕНИЕ 1.....…................….......…................…………………………20 ПРИЛОЖЕНИЕ 2……………………………...............................….............…21
УФИМСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЯНОЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра вычислительной техники и инженерной кибернетики
УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ Популярное:
|
Последнее изменение этой страницы: 2016-05-03; Просмотров: 537; Нарушение авторского права страницы