Кафедра вычислительной техники и инженерной кибернетики 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Кафедра вычислительной техники и инженерной кибернетики



УФИМСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЯНОЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра вычислительной техники и инженерной кибернетики

 

 

УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ

К выполнению контрольной работы по информатике

для студентов заочной формы обучения

 

 

УФА 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.

Блок-схема алгоритма

Расчет контрольного примера (к.п.)

;

Паскаль-программа

 
 


x=lna+
Program prim1;

var a,b,x,y:real;

y=sinx+ex+2
begin

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;

  x=xн
begin

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

 
да begin c:=-x*x*c;

a:=c/(2*i+1);

if abs(a)<e then goto

met; s:=s+a;

s=x c=x
end;

met: writeln(‘x=’,x:3:1,

‘ y=’y:8:5,’ s=’,s:8:5,

’ i=’,i);

x:=x+dx;

end

end.

       
 
   
 

 


 

 
 
c=-x2c, a=c/(2·I+1)


Результаты

Введите 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

нет

       
 
   
 

 


 

 
 



5. Работа с массивами

 


Задача. Разработать программу решения 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, для чего получить решение задачи вручную (или с помощью калькулятора) и проверить полученные данные на ЭВМ.


 

Блок-схема алгоритма

       
   
 
 

 

 


нет

           
   
s=s+xk
 
   
 
 



да

           
   
   
k=j
 
 
 

 

 


нет

           
 
   
     
 
 

 

 


нет
  y=y*xi*s
да

           
   
 
     
 
 

 


да

           
 
   
     
 
 

 


Паскаль-программа

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-09-05; просмотров: 153; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.12.240 (0.195 с.)