Контрольная работа

«Готовые решения задач на алгоритмическом языке Паскаль. УГНТУ. Вариант 69»

  • 25 страниц
Содержание

Работа 1. ПРОГРАММИРОВАНИЕ ЛИНЕЙНОГО ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА

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

Работа 2. ПРОГРАММИРОВАНИЕ АРИФМЕТИЧЕСКОГО ЦИКЛА.

Разработать программу табулирования (вычисления таблицы значений) функции для произвольного диапазона изменения независимого параметра или аргумента. Выполнить расчет для заданных значений исходных данных.

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

3 варианта таблица должна иметь следующий вид:

1. Табулирование функции

Работа 3. ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩЕГОСЯ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА

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

Работа 4. ПРОГРАММИРОВАНИЕ ИТЕРАЦИОННОГО ЦИКЛА

Функция y(x) задана двумя способами: формулой y = f(x) и ее разложением в бесконечный ряд S.

Разработать программу вычисления точного yT и приближенного yP значений функции y(x) при изменении её аргумента x от a до b с шагом x. Приближенное значение вычислять путем суммирования членов ряда до достижения требуемой точности   yTyP  . Предусмотреть завершение процесса суммирования членов ряда по заданному максимальному номеру члена ряда n для предотвращения зацикливания итерационного цикла. Результаты расчетов вывести в виде следующей таблицы.

Суммирование ряда

Аргумент Точное значение Приближенное значение Количество слагаемых Ошибка

0.20

0.30

.

.

.

0.80 0.16053

0.21267

.

.

.

0.28540 0.16053

0.21270

.

.

.

0.28542 3

3

.

.

.

5 -0.000003

-0.000032

.

.

.

-0.000015

Работа 5. ПРОГРАММИРОВАНИЕ МАТРИЧНЫХ ОПЕРАЦИЙ

Разработать программу решения четырех взаимосвязанных задач частой работы:

1) расчета элементов квадратной матрицы A = (ai,j ), i,j = 1,2,.,n по заданной формуле;

2) вычисления элементов вектора X = (xi), i = 1,2,.,n по заданному правилу;

3) требуемого упорядочения элементов матрицы А или вектора Х;

4) вычисления значения y по заданной формуле.

Размерность задачи n назначается преподавателем.

Введение

При изучении дисциплины Информатика студенты-заочники выполняют контрольную работу, целью которой является приобретение навыков алгоритмизации и программирования на алгоритмическом языке ПАСКАЛЬ.

Фрагмент работы

При изучении дисциплины Информатика студенты-заочники выполняют контрольную работу, целью которой является приобретение навыков алгоритмизации и программирования на алгоритмическом языке ПАСКАЛЬ.

СОСТАВ КОНТРОЛЬНОЙ РАБОТЫ

В состав контрольной работы входят задания по следующим разделам

• программирование линейного вычислительного процесса;

• программирование арифметического цикла;

• программирование разветвляющегося вычислительного процесса;

• программирование итерационного цикла (вычисление рядов);

• программирование матричных операций.

Студент выполняет один и тот же вариант для всех заданий. Номер варианта определяется числом, образованным двумя правыми цифрами шифра студента. Так для шифра 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 мм), то ее следует аккуратно сложить по формату листа, не разрезая на отдельные листы.

ПРИМЕРЫ АЛГОРИТМОВ И ПРОГРАММ 1. Программирование алгоритмов линейной структуры

Пример. Вычислить значение функции y=sin x+ex+2, где x=ln a+ , b=cos 3a, a=7,25. Блок-схема алгоритма Расчет контрольного примера (к.п.) ;

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

Program prim1; var a,b,x,y:real;

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

2. Программирование алгоритмов циклической структуры

Пример. Вычислить значение функции

, где

при а, изменяющемся от ан до ак,

с шагом Δа

aн=2, ак=3, Δа=0,2

а) с использованием оператора цикла с предусловием while

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

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

Program prim31;

var an,ak,da,a,x,y:real;

begin

write(‘Введите an,ak,da=’);

readln(an,ak,da);

a:=an;

while a<=ak+0.0001 do

begin

нет x:=ln(a);

y:=exp(1/3*ln(abs(sin(x))));

да writeln(‘a=’,a:3:1,’ x=’,

x:5:3,’ y=’,y:5:3);

a:=a+da;

end;

end.

Результаты

Введите an,ak,da=2 3 0.2

a=2.0 x=0.693 y=0.861

a=2.2 x=0.788 y=0.892

a=2.4 x=0.875 y=0.916

a=2.6 x=0.956 y=0.935

a=2.8 x=1.030 y=0.950

a=3.0 x=1.099 y=0.962

б) с использованием оператора цикла с постусловием repeat-until

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

Program prim32;

var an,ak,da,a,x,y:real;

begin

write(‘Введите an,ak,da=’);

readln(an,ak,da);

a:=an;

repeat

x:=ln(a);

y:=exp(1/3*ln(abs(sin(x))));

writeln(‘a=’,a:3:1,’ x=’,x:5:3,

‘ y=’,y:5:3);

a:=a+da;

until a>ak;

end.

Результаты

Введите an,ak,da=2 3 0.2

a=2.0 x=0.693 y=0.861

a=2.2 x=0.788 y=0.892

нет a=2.4 x=0.875 y=0.916

a=2.6 x=0.956 y=0.935

да a=2.8 x=1.030 y=0.950

a=3.0 x=1.099 y=0.962

в) с использованием оператора цикла с параметром for

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

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

Program prim33;

var an,ak,da,a,x,y:real;

i,n:integer;

begin

write(‘Введите an,ak,da=’);

redln(an,ak,da);

n:=trunc((ak-an)/da)+1;

a:=an;

for i:=1 to n do

begin

x:=ln(a);

y:=exp(1/3*ln(abs(sin(x))));

writeln(‘a=’,a:3:1,

‘ x=’,x:5:3,’ y=’,y:5:3);

a:=a+da;

end;

end.

Результаты

Введите an,ak,da=2 3 0.2

a=2.0 x=0.693 y=0.861

a=2.2 x=0.788 y=0.892

a=2.4 x=0.875 y=0.916

a=2.6 x=0.956 y=0.935

a=2.8 x=1.030 y=0.950

a=3.0 x=1.099 y=0.962

3. Программирование алгоритмов разветвляющейся структуры

Пример. Вычислить значение функции.

если

а) с использованием условного оператора if-then-else

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

Program prim21;

var a,b,c,x,y:real;

n:integer;

begin

write(‘Введите а=’); readln(a);

x:=ln(abs(a-cos(a)));

c:=x*a; b:=x+a;

if c<=0 then

begin y:=-10.5; n:=1; end

else

if c=>3.5 then

да begin y:=c+ln(b); n:=3; end

else

нет begin y:=exp(c)+2*b; n:=2; end;

writeln(‘x=’,x:1:3,’ c=’,c:1:3,’ y=’,

да y:1:3,’ n=’,n);

end.

нет

Результат

Введите а=7.35

x=1.927 c=14.162 y=16.389 n=3

б) c использованием оператора выбора case

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

Program prim22;

var a,b,c,x,y:real;

k:integer;

begin

write(‘Введите а=’); readln(a);

x:=ln(abs(a-cos(a)));

c:=x*a; b:=x+a;

if c<=0 then k:=1 else

if c<=3.5 then k:=2 else k:=3;

case k of

1: y:=-10.5;

да 2: y:=exp(c)+2*b;

3: y:=c+ln(b);

нет end;

да writeln(‘x=’,x:1:3,’ c=’,c:1:3,’

=’,y:1:3,’ k=’,k);

нет end.

Результат

Введите а=7.35

x=1.927 c=14.162

y=16.389 k=3

нет

да k=1

k=2

k=3

4. Суммирование рядов

Задача. Разработать программу вычисления точного 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;

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) met; s:=s+a;

end;

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

нет

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

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

нет

да

нет

да

да

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

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-5): Методические указания./ Cост. Т.Г. Умергалин,

И.Г. Мухамадеев, Э.В. Писаренко - Уфа: изд-во УГНТУ,1997.-51 с.

2. Основы программирования и работы в интегрированной среде Турбо-Паскаль: Методические указания./ Cост Т.Г. Умергалин,

И.Г. Мухамадеев - Уфа: изд-во УГНТУ,1992.-45 с.

3. Емелина Е.И. Основы программирования на языке Паскаль. - М.: Финансы и статистика, 1997.-208 с.

4. Фаронов В.В. Турбо Паскаль: В 3-х кн. Кн. 1. Основы Турбо Паскаля. – М.: Учебно-инженерный центр “МВТУ-ФЕСТО ДИДАКТИК”,1992. – 304 с.

Примечания

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

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

Есть программы (исходники) и отчеты для 5 лаб

Покупка готовой работы
Тема: «Готовые решения задач на алгоритмическом языке Паскаль. УГНТУ. Вариант 69»
Раздел: Информатика
Тип: Контрольная работа
Страниц: 25
Цена: 500 руб.
Нужна похожая работа?
Закажите авторскую работу по вашему заданию.
  • Цены ниже рыночных
  • Удобный личный кабинет
  • Необходимый уровень антиплагиата
  • Прямое общение с исполнителем вашей работы
  • Бесплатные доработки и консультации
  • Минимальные сроки выполнения

Мы уже помогли 24535 студентам

Средний балл наших работ

  • 4.89 из 5
Узнайте стоимость
написания вашей работы
Популярные услуги
Дипломная на заказ

Дипломная работа

от 8000 руб.

срок: от 6 дней

Курсовая на заказ

Курсовая работа

от 1500 руб.

срок: от 3 дней

Отчет по практике на заказ

Отчет по практике

от 1500 руб.

срок: от 2 дней

Контрольная работа на заказ

Контрольная работа

от 100 руб.

срок: от 1 дня

Реферат на заказ

Реферат

от 700 руб.

срок: от 1 дня

682 автора

помогают студентам

23 задания

за последние сутки

10 минут

среднее время отклика