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

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

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

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

2021-01-31 335
Занятие 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. Линейные алгоритмы. Найти длину гипотенузы

 

Задача

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


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

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...



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

0.009 с.