АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

ПОСТРОЕНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ

Читайте также:
  1. XII. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
  2. Алгоритм решения систем линейных уравнений методом Жордана-Гаусса
  3. Базовые конструкции алгоритмов
  4. Блок - схемы алгоритмов
  5. Вопрос 2. Построение доверительного интервала при неизвестном законе генерального распределения.
  6. Данные алгоритмов
  7. Датчики линейных ускорений (ДЛУ)
  8. Диагностирование дискретных устройств с памятью. Построение диагностических и проверяющих тестов
  9. Динамические характеристики линейных систем
  10. Для расчета нелинейных искажений
  11. И ПОСТРОЕНИЕ РАЗБИВОЧНОЙ СЕТИ НА МОНТАЖНЫХ ГОРИЗОНТАХ.
  12. Количество алгоритмов AES

Для программирования линейных алгоритмов используются операторы ввода, вывода и присваивания.

Пример 1. Даны катеты прямоугольного треугольника. Найдите его гипотенузу и площадь.

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

Program task3;

var a, b, c: real; {a, b - длина катетов, c - длина гипотенузы}

S: real; {площадь}

begin

write (‘Задайте длины катетов’);

readln (a, b);

c:= sqrt(sqr(a) + sqr(b));

S:= a * b/2;

writeln (‘гипотенуза равна ’, c, ‘площадь равна ’, S)

end.

Можно было написать программу без использования переменных c и S.

Program task3a;

var a, b, c: real; {a, b - длина катетов, c - длина гипотенузы}

begin

write (‘Задайте длины катетов’);

readln (a, b);

writeln (‘гипотенуза равна ’, sqrt(sqr(a) + sqr(b)), ‘площадь равна ’, a * b/2)

end.

Пример 2. Дано действительное x. Вычислите y, используя только операции сложения, вычитания и умножения.

y = 2x4 - 3x3 + 4x2 - 5x + 6.

Решение. Вариант 1. y:= 2*x*x*x*x - 3*x*x*x + 4*x*x -5*x + 6. Используется 14 операций.

Вариант 2. Введем дополнительные переменные:

x2:= x*x; x3:= x2*x; x4:= x2*x2;

тогда y:= 2*x4 - 3*x3 + 4*x2 -5*x + 6. Количество операций сократилось, но используются три дополнительные переменные.

Вариант 3 позволяет не вводить новые переменные и уменьшить количество операций, для чего используется схема Горнера:

y:= (((2*x - 3)*x + 4)*x - 5)*x+6. Используется восемь операций. Реализуем программно именно этот вариант.

Proqram task4;

Var x, y: real;

begin

write (‘задайте значение x’);

readln (x);

y:= (((2*x - 3)*x + 4)*x - 5)*x+6;

writeln (‘y = ‘, y)

end.

Упражнения.

1. Дано действительное число x. Не пользуясь никакими арифметическими операциями, кроме *, +, -, вычислите:

1 - 2x + 3x2 - 4x3 и 1 + 2x + 3x2 + 4x3. Используйте не более 8 операций.

2. Дано действительное число a. Не пользуясь никакими операциями, кроме умножения, получите:

а). a8 за 3 операции; б). а21 за 6 операций; в). а5 и а19 за 6 операций;

г). а4, а12, а28 за 6 операций.

3. Текущее показание электронных часов: m часов (0 £ m £ 23), n минут (0 £ n £ 59), k секунд (0 £ k £ 59). Напишите программу, которая будет определять какое время будут показывать часы через p часов, q минут, r секунд.

_____________________________________________________________________________

Проверьте себя: 1. p=1-2*x+3*x2-4*x3=1+3*x2-(2*x+4*x3),

q=1+2*x+3*x2+4*x3=1+3*x2+(2*x+4*x3 ,

Пусть а=1+3*х2; в=х*(2+4*х2),

1) x2:=x*x; x2

2) a:=3*x2; 3*x2

3) a:=1+a; 1+3*x2

4) a3:=4*x2; 4*x2

5) b:=2*a3; 2+4*x2

6) b:=x*b; x*(2+4*x2)

7) p:=a-b; 1+3*x2-2*x-4*x2

8) q:=a+b 1+3*x2+2*x+4*x2

2. a) a2:=a*a; a4:=a2*a2; a8:=a4*a4.

б) a2:=a*a; a4:=a2*a2; a8:=a4*a4; a16:=a8*a8; a20:=a16*a4; a21:=a20*a.

в) a2:=a*a; a4:=a2*a2; a5:=a4*a; a10:=a5*a5; a15:=a10*a5; a19:=a15*a4.

г) a2:=a*a; a4:=a2*a2; a8:=a4*a4; a12:=a8*a4; a24:=a12*a12; a28:=a24*a4.

3. m1:=(m*60+n)*60+k;

m2:=(p*60+q)*60+r;

m3:=m1+m2;

сек:=m3 mod 60;

мин:=m3 div 60 mod 60;

час:=m3 div 60.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)