Занятие 4. Линейные алгоритмы. Сумма и произведение цифр числа — КиберПедия 

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

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

Занятие 4. Линейные алгоритмы. Сумма и произведение цифр числа

2021-01-31 336
Занятие 4. Линейные алгоритмы. Сумма и произведение цифр числа 0.00 из 5.00 0 оценок
Заказать работу

 

Задача

Найти сумму и произведение цифр трехзначного числа, которое вводит пользователь.

Пояснение к задаче и алгоритм решения

Если трехзначное число нацело разделить на 100, то получим число сотен, т.е. первую цифру этого числа.

Если найти остаток от деления на 10 любого целого числа, то этот остаток покажет число единиц в этом числе. Таким образом извлекается последняя цифра числа.

Чтобы извлечь среднюю цифру трехзначного числа (показывающую количество десятков), можно выполнить два действия:

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

2. Найти остаток от деления полученного двузначного числа на 10. Этот остаток и будет средняя цифра первоначального трехзначного числа.

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

Исходный код на языке программирования Pascal

var
 n: integer;
 a,b,c: byte;
begin
 readln(n);
 a:= n div 100;
 b:= n div 10 mod 10;
 c:= n mod 10;
 writeln('Сумма: ',a+b+c);
 writeln('Произведение: ',a*b*c);
end.

 

Занятие 5. Линейные алгоритмы. Битовые операции над числами

 

Задача

Выполнить логические побитовые операции "И", "ИЛИ" и др. над числами 5 и 6. Выполнить над числом 5 побитовый сдвиг вправо и влево на два знака. Объяснить полученный результат.

Пояснение к задаче и алгоритм решения

Обычно в языках программирования предусмотрены так называемые логические побитовые операции. Они выполняются не над самими числами, а над их двоичным представлением. Например, число 5 в двоичной системе счисления выражается как 101, а число 6 - как 110. Выполняя логическую побитовую операцию "И" получим число 4, т.к. в младшим разряде числа 5 стоит 1, а числа 6 - 0. Выражение "1 и 0" возвращает 0. Продолжая поразрядно выполнять логическое "И" в среднем разряде получим 0, а в старшем 1. Можно записать так:
101
110
100
Двоичное число 100 - это десятичное число 4.

Выполним операцию побитового логического "ИЛИ":
101
110
111 - это число 7.

"Исключающее ИЛИ":
101
110
011 - это число 3.

При сдвиге биты просто сдвигаются на указанное количество ячеек в освободившиеся ячейки дописываются нули или единицы (это зависит от ряда причин):
110 << 2 = 11000 (число 24),
110 >> 2 = 001 (число 1).

Исходный код на языке программирования Pascal

Var a, b: byte;
begin
a:= 5;
b:= 6;
writeln('a=', a);
writeln('b=', b);
writeln('a and b = ', a and b);
writeln('a or b = ', a or b);
writeln('a xor b = ', a xor b);
writeln('b shl 2 = ', b shl 2);
writeln('b shr 2 = ', b shr 2);
end.

Пример(ы) выполнения программы на языке Pascal

a=5
b=6
a and b = 4
a or b = 7
a xor b = 3
b shl 2 = 24
b shr 2 = 1

Особенности решения на языке программирования Pascal

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

 

 

Занятие 6. Линейные алгоритмы. Вывести уравнение прямой по координатам двух точек

 

Задача

По введенным пользователем координатам двух точек вывести уравнение прямой, проходящей через эти точки.

Пояснение к задаче и алгоритм решения

Общее уравнение прямой имеет вид y = kx + b. Для какой-то конкретной прямой в уравнении коэффициенты k и b заменяются на числа, например, y = 4x - 2. Задача сводится именно к нахождению этих коэффициентов.

Так как координаты точки это значения x и y, то мы имеем два уравнения. Пусть, например, координаты точки А(3;2), а координаты B(-1;-1). Получаем уравнения:
2 = k*3 + b,
-1 = k*(-1) + b.
Решая полученную систему уравнений находим значения k и b:
b = 2 - 3k
-1 = -k + 2 - 3k
4k = 3
k = 3/4 = 0.75
b = 2 - 3 * 0.75 = 2 - 2.25 = -0.25
Таким образом, получается уравнение конкретной прямой, проходящей через указанные точки: y = 0.75x - 0.25.

Вывод общих выражений для вычисления b и k:
| y1 = kx1 + b
| y2 = kx2 + b
b = y2 - kx2
y1 = kx1 + y2 - kx2
k = (y1 - y2) / (x1 - x2)

Алгоритм решения данной задаче на языке программирования будет таков:

1. Получить значения координат первой точки и присвоить их переменным, например x1 и y1.

2. Получить значения координат (x2, y2) второй точки.

3. Вычислить значение k по формуле k = (y1 - y2) / (x1 - x2).

4. Вычислить значение b по формуле b = y2 - k * x2.

5. Вывести на экран полученное уравнение.

Исходный код на языке программирования Pascal

var
 x1,y1,x2,y2: real;
 k, b: real;
begin
 write('A(x1;y1): '); readln(x1, y1);
 write('B(x2;y2): '); readln(x2, y2);
k:= (y1 - y2) / (x1 - x2);
 b:= y2 - k * x2;
 writeln('y = ',k:0:2,'x + ',b:0:2);
end.

Пример(ы) выполнения программы на языке Pascal

A(x1;y1):
1.2
5.6
B(x2;y2):
-3.45 8.2
y = -0.56x + 6.27

 

Занятие 7. Линейные алгоритмы. Найти длину гипотенузы

 

Задача

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


Поделиться с друзьями:

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.