3.42. Задані натуральне число n, дійсні числа . Скласти алгоритм для знаходження:
а) max(); б) min();
в) max(); г) min();
д) min()+max();
е) max( ); ж) max(;
з) .
Розв`язок а) Позначивши через А чергове число, яке ми вводимо, а через Min - min(), складемо слідуючий алгоритм:
Алг Мінімум це
змін i,N:нат;
A,Min:дійсн;
поч
взяти(N); взяти(A); Min¬A;
для i¬1 до N повт
взяти(A);
якщо A<Min то Min¬A кр
кц;
показати(Min)
ка.
3.43. Дано натуральне число n, цілі числа . Скласти алгоритм знаходження
а) min();
б) min();
в) max();
г) кількості парних серед ;
д) кількості повних квадратів серед ;
е) кількості квадратів непарних чисел серед .
Розв`язок. в). Позначимо через А - чергове число, що вводиться, Р - добуток введених чисел , що передують А, включаючи саме це число, Max - шуканий максимум. Складемо алгоритм у вигляді:
Алг Max_P це
змін N,i :нат;
А,Р,Мах :ціл;
поч
взяти(N);
взяти(А);
Р¬А; Мах¬А;
для і¬2 до N повт
взяти(А); Р¬Р*A;
якщо Р>Max то Мах¬Р кр
кц;
показати(Мах)
ка.
3.44. Дано натуральне число n. Скласти алгоритм обчислення факторіала y=n!, використовуючи
а) суцільний зростаючий; б) суцільний спадний цикли з лічильником.
3.45. Скласти алгоритм обчислення подвійного факторіала натурального числа n y=n!!.
Розв`язок. За означенням
В обох випадках ми маємо як співмножники всі члени спадної арифметичної прогресії з різницею -2, які містяться між n та 1. Звідси
Алг Факт2 це
змін k,n :нат;
y:дійсн;
поч
взяти(n);
y¬1;
для k¬n до 1 через -2 повт
y¬y*k
кц;
показати(y)
ка.
розв`язує дану задачу. Зауважимо, що при непарному n останнім значенням k буде 1, а при парному - 2. Приклад виконання алгоритму наведений в табл. 3.2
Таблиця 3.2. Трасувальна таблиця до завдання 3.45.
n
|
y
|
k
| |
взяти(n)
|
5
| ||
y¬1
|
1
| ||
для k¬5 до 1 через -2 повт
| |||
k=5
|
5
| ||
y¬yk
|
5
| ||
k=3
|
3
| ||
y¬yk
|
15
| ||
k=1
|
1
| ||
y¬yk
|
15
| ||
кц
| |||
показати(y)
|
15
|
3.46. Скласти алгоритми обчислення факторіалів:
а) y=(2n)!!; б) y=(2n+1)!!; в) y=n!n!!(n+1)!!
3.47. Задане натуральне число n. Скласти алгоритми обчислення добутків
а) P=; б)P=, n>2
3.48. Скласти алгоритм друку таблиці значень функції y=sin(x) на відрізку [0,1] з кроком h=0.1.
3.49. Скласти алгоритм визначення кількості тризначних натуральних чисел, сума цифр яких дорівнює n (n>=1). Операцію ділення не використовувати.
3.50. Дано n цілих чисел. Скласти алгоритм, що визначає, скільки з них більші за своїх "сусідів", тобто попереднього та наступного чисел.
3.51. Задані натуральне число n, дійсні числа . Скласти алгоритм визначення
а) max(), де ;
б) min(), де ;
в) , де .
Розв`язок в). Позначивши через S шукану суму, а через y значення чергового введеного числа, подамо алгоритм розв`язку задачи в наступному вигляді:
Алг Сума_Z це
змін i,n :нат;
y,z,S :дійсн;
поч
взяти(n); S¬0;
для i¬1 до n повт
взяти(y);
якщо (y<10) & (y>0) то z¬y
інакше z¬1
кр;
S¬S+z
кц;
показати(S)
ка.
Немає коментарів:
Дописати коментар