Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Программирование линейных алгоритмов.

 

Варианты индивидуальных заданий.

 

N Вычисляемое выражение Исходные данные
  y = abc- cba a, b, c
  y = b(tg a)c + a(tg c)b a, b, c
  y=logab - e tg (с/b) a, b, c
  k = ln(y+x)(cos(x+y)-ctg(y2)) x, y
  y = (ab + ba )1.5 – (b - c )6 a, b, c
  y=(a Sin b)3c + (b tg a)4c a, b, c
  Y = tg b (a + b (a + b)0.5)0.5 a, b
  y = (a + ba )0.5 – (b - c )0.3 a, b, c
  m = lg(1-2x - 4x3 + x 0.5 ) / z x, z
  Найти площадь симметричного (вписанного в окружность) шестиугольника, стороны которого имеют чередующиеся длины a, b, a, b, a, b a, b.
  Найти площадь симметричного (вписанного в окружность) восьмиугольника, стороны которого имеют чередующиеся длины a, b, a, b, a, b, a, b a, b
  cos(x-1) 1 s= ------------ - ---------- 1 + sin0.5(x-1) ln(x+y) x, y
  Найти радиус окружности, описанной вокруг симметричного шестиугольника, стороны которого имеют чередующиеся длины a, b, a, b, a, b x, y
  Найти радиус окружности, описанной вокруг симметричного восьмиугольника, стороны которого имеют чередующиеся длины a, b, a, b, a, b, a, b x, y

Образец выполнения работы.

Это задание включает выполнение трех вариантов программной реализации одной и той же задачи.

В первом варианте: каждый оператор программы должен описывать ровно одну вычислительную операцию. Структура такой программы максимально соответствует синтаксису внутреннего языка ЭВМ (язык понимаемый процессором). Транслятор преобразует исходные тексты любых программ именно к такому виду. При написании этого варианта программы следует продумать рациональное (экономное) использование рабочих переменных для вычисления и хранения промежуточных результатов.

Во втором варианте: все вычисления должны быть описаны одним оператором. Этот «громоздкий» вариант программы наглядно продемонстрирует необходимость и обязательность замены «многоэтажных» записей языка математики на упорядоченную систему формул, которые максимально приближенны к структуре линейно-последовательных записей языка Pascal.

В третьем варианте: исходная математическая формула разделяется на несколько «удобных» составляющих, которые реализуются отдельными операторами. Именно в такой форме будут создаваться все последующие программы, т.к. это удобно:

- для читаемости программы (жаргон – «читабельность»),

- для проверки правильности работы программы.

Все три варианта оформляются в рабочей тетради или на подписываемых (ФИО, группа) листах формата А4. Один из вариантов (по выбору) реализуется на компьютере.

 

Требования к оформлению лабораторных работ.

 

Оформление каждой лабораторной работы включает следующие обязательные пункты:

- Исходная постановка задачи.

- Уточнение постановки ( математическая формулировка задачи).

- Описание используемых обозначений

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

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

- Текст программы (листинг).

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

- Результаты расчетов по программе

 

 

Постановка задачи:

Ввести (прочитать консольно) значения исходных данных a и b, вычислить значение β по формуле

β=loga+b(tg3 a + ba) (1)

и распечатать (вывести на экран) результат β.

Уточнение постановки задачи (математическая формулировка):

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

tg x = sin x/ cos x (2)

log xy = ln y / ln x (3)

xy = e y ln x (4)

x3 = x x x (5)

Алгоритм программы (блок-схема).

Строго упорядоченное описание действий (необходимых для решения поставленной задачи) на естественном и математическом языках. является, по сути, уже готовой программой. Грамотную инструкцию должен уметь выполнить любой человек не программист, а человек-программист формально (дословно-построчно) переводит ее на язык программирования.

 

Вариант программной реализации, в котором один оператор реализует ровно одну вычислительную операцию.

1). Описание используемых обозначений:

a, b- читаемые исходные данные

β – вычисляемый результат

p1, p2, p3 рабочие переменные для хранения значений промежуточных вычислений.

2). Ввод исходных данных - a, b.

3). Вычисление значения основания логарифма. Результат помещаем в рабочую переменную p1

a + b → p1

Последовательность операций вычисляющих tg3 a согласно формулам (2) и (5):

4). Sin a → p2

5) Cos a → p3

6). p2 / p3 → p2 {теперь в рабочей переменной p2 значение tg a }

7). p2 ´ p2→ p3

8). p2 ´ p3→ p2 {теперь в рабочей переменной p2 значение tg3 a }

Последовательность операций вычисляющих значение ba согласно формуле (4)

9). Ln b → p3

10). a ´ p3→ p3

11). e p3 → p3 {теперь в рабочей переменной p3 значение ba }

12). p2 + p3→ p2 {теперь в рабочей переменной p2 значение tg3 a + ba }

Завершающая последовательность операций вычисляющих β, т.е. вычисляем согласно формуле (3) значение логарифма от p2 по основанию a+b

13). Ln p1 → p1

14). Ln p2 → p2

15). p2 / p1 → β

16). Печать результата β.

 

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

Язык математики a b β p1 p2 p3  
Язык Pascal A B BT P1 P2 P3  

 

Текст программы (листинг) представляет построчный (дословный) перевод всех 16-ти пунктов вышеизложенного алгоритма на язык Pascal.

Программа набирается в структурированном виде: внешне, программа на языке Pascal напоминает стихотворный текст, в котором куплеты (у нас – блоки) выделяются как пустыми строками, так и смещением их начала. Каждый блок желательно сопроводить текстовым комментарием.

 

Program Nov001;

{Блок описания рабочих перемеенных}

Var A, B, BT, P1, P2, P3: real;

 

Begin

{Блок консольного ввода исходных данных}

Write(‘Введите число а=’); Readln(A);

Write(‘Введите число в=’); Readln(B);

 

{ блок вычисление значения tg a в рабочей переменной p2 }

P1:=A+B;

P2:=Sin(A);

P3:=Cos(A);

P2:=P2/P3;

{ блок вычисление значения tg3 a в рабочей переменной p2 }

P3:=P2*P2;

P2:=P2*P3;

 

{ блок вычисление значения ba в рабочей переменной p3 }

P3:=ln(B);

P3:=A*P3;

P3:=Exp(P3);

 

{ блок вычисление логарифмируемого значения ba+ tg3 a

в рабочей переменной p3 }

P2:=P2+P3;

 

{блок вычисление логарифма – искомого результата }

P1:=ln(P1);

P2:=ln(P2);

BT:=P2/P1;

 

{блок вывода результата на экран }

Writeln(‘Ответ БЕТА=’, BT:7:3);

End.

Подбор «удобных» значений исходных данных дляпроверки

правильности работы программы.

Если взять a = 3 ≈ π, то значение tg a ≈ 0

Если взять b=7, то логарифм будет десятичным и

Ответ β ≈ lg (0 + 73) = 3 ´ lg7 ≈2.53

 

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

 

Результаты расчетов по программе (срисовка экрана).

Введите число а=3

Введите число в=7

Ответ БЕТА= 2.535

 

Вариант программы реализующий все вычисления в одном операторе.

Program Nov002;

Var A, B, BT: real;

Begin

{Блок консольного ввода исходных данных}

Write(‘Введите число а=’); Readln(A);

Write(‘Введите число в=’); Readln(B);

 

{блок вычисление искомого результата }

BT:=Ln(Sin(a)*Sin(a)*Sin(a)/Cos(a)/Cos(a)/Cos(a)+exp(a*ln(b)))/Ln(a+b);

 

{блок вывода результата на экран }

Writeln(‘Ответ БЕТА=’, BT:7:3);

End.

 

Вариант программы с вычислением и отладочной печатью

промежуточных значений.



<== предыдущая лекция | следующая лекция ==>
Моделирование дискретно-событийных систем в среде ANYLOGIC | Упражнения для самостоятельной работы
Поделиться с друзьями:


Дата добавления: 2017-02-25; Мы поможем в написании ваших работ!; просмотров: 352 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Либо вы управляете вашим днем, либо день управляет вами. © Джим Рон
==> читать все изречения...

2230 - | 1969 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.