Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК_ОАиП.doc
Скачиваний:
5
Добавлен:
10.01.2020
Размер:
5.06 Mб
Скачать

Задачи для самостоятельного решения

1. Найти сумму цифр числа.

2. Найти первую цифру числа.

3. Найти количество делителей числа.

4. Найти числа из промежутка от А до В, у которых больше всего делителей.

5. Найти сумму всех делителей числа.

6. Определить, является ли число совершенным, то есть равно ли оно сумме своих делителей, кроме самого себя.

7. Определить, является ли число простым.

8. Среди чисел из интервала от А до В найти все простые.

9. Составьте программу, проверяющую, является ли число палиндромом (например, число 12421 – палиндром).

10. Определить, является ли число автоморфным, то есть квадрат этого числа заканчивается этим же числом, например, числа 6 и 25, т.к. их квадратами являются числа 36 и 625.

Лабораторная работа №12.

Тема: Разработка, отладка и испытание алгоритмов и программ с использованием процедур и функций.

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

Средства: ПЭВМ, среда разработки Pascal.

Актуализация опорных знаний

1. Циклический алгоритм.

2. Описание процедур и функций пользователя.

3. Типы параметров.

4. Использование процедур и функций пользователя.

Пример выполнения задания

Задание: Разработать алгоритмы и программу, в которой протабулировать функцию y=1+exp(2*x) в диапазоне параметра от 1 до 5 с шагом 0.25 c использованием пользовательской функции.

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

Program lr7;

Uses

Crt;

Var

x,y,h:real;

Function myf(x:real):real;

begin

myf:=1+exp(2*x);

end;

begin

h:=0.25;

x:=1;

while x<=5 do

begin

y:=myf(x);

writeln(‘x=’,x:5:2,’ y=’,y:10:4);

x:=x+h;

end;

end.

Результаты отладки программы

x= 1.00 y= 8.3891

x= 1.25 y= 13.1825

x= 1.50 y= 21.0855

x= 1.75 y= 34.1155

x= 2.00 y= 55.5982

x= 2.25 y= 91.0171

x= 2.50 y= 149.4132

x= 2.75 y= 245.6919

x= 3.00 y= 404.4288

x= 3.25 y= 666.1416

x= 3.50 y= 1097.6332

x= 3.75 y= 1809.0424

x= 4.00 y= 2981.9580

x= 4.25 y= 4915.7688

x= 4.50 y= 8104.0839

x= 4.75 y=13360.7268

x= 5.00 y=22027.4658

Индивидуальные задания.

1. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=1+exp(2*x-1) в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

2. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=sin(2*x+1) в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

3. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=2*x+0.33 в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

4. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=2.5+sin(-x) в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

5. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=2.5+cos(-x) в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

6. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=cos(2*x+1) в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

7. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=1+ln(2*x) в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

8. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=arctg(2*x+1) в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

9. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=5*x+0.11 в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

10. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=2.5+arctg(x) в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

11. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=2.5+cos(x) в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

12. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=cos(7+x/3) в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

13. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=5/x+0.11 в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

14. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=2.5+sin(x+1.5) в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

15. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=2.5-arctg(x/2) в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.

16. Разработать алгоритмы и программы решения задач, в которых необходимо при помощи пользовательской функции и процедуры пользователя протабулировать функцию y=cos(7+x/3)+arctg(x) в диапазоне параметра от 0.01 до 0.9 с шагом 0.01.