Разделы презентаций


Занятие №13

Содержание

Мы уже прошли:

Слайды и текст этой презентации

Слайд 1Занятие №13
28.11.2018

Занятие №13	28.11.2018

Слайд 2Мы уже прошли:

Мы уже прошли:

Слайд 3Значит сегодня у нас B11 Рекурсивные алгоритмы

Значит сегодня у нас B11  Рекурсивные алгоритмы

Слайд 5Задание 1
Последовательность чисел трибоначчи задается рекуррентным соотношением:
F(1) = 0
F(2) =

1
F(3) = 1
F(n) = F(n–3) + F(n–2) + F(n–1), при

n >3, где n – натуральное число.
Чему равно девятое число в последовательности трибоначчи?

Задание 1Последовательность чисел трибоначчи задается рекуррентным соотношением:F(1) = 0F(2) = 1F(3) = 1F(n) = F(n–3) + F(n–2)

Слайд 6Решение
F(4) = F(1) + F(2) + F(3) = 2,
F(5) =

F(2) + F(3) + F(4) = 4,
F(6) = F(3) +

F(4) + F(5) = 7,
F(7) = F(4) + F(5) + F(6) = 13,
F(8) = F(5) + F(6) + F(7) = 24,
F(9) = F(6) + F(7) + F(8) = 44.

Решение	F(4) = F(1) + F(2) + F(3) = 2,F(5) = F(2) + F(3) + F(4) = 4,F(6)

Слайд 7Задание 2
Алгоритм вычисления значения функции F(n), где n - натуральное

число, задан следующими соотношениями:
 
F(1) = 5;F(2) = 5;
F(n) = 5*F(n

− 1) − 4*F(n − 2) при n >2.
 
Чему равно значение функции F(13)? В ответе запишите только натуральное число.

Задание 2	Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями: F(1) = 5;F(2) =

Слайд 8Решение
F(1) = 5;F(2)=5;
F(3) = 25 - 20 = 5;
F(4) =

25 - 20 = 5;
F(5) = 25 - 20 =

5;

Решение	F(1) = 5;F(2)=5;F(3) = 25 - 20 = 5;F(4) = 25 - 20 = 5;F(5) = 25

Слайд 9Задание 3
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими

соотношениями:
 
F(n) = n + 1 при n ≤ 2;
F(n) = F(n − 1) + 3 · F(n − 2)

при n > 2.
 
Чему равно значение функции F(4)? В ответе запишите только натуральное число.

Задание 3		Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями: F(n) = n + 1 при n ≤ 2;F(n) = F(n − 1)

Слайд 10Решение
F(1) = 2;
F(2) =3;
F(3) = 3 + 6 = 9;
F(4)

= 9 + 9 = 18;

Решение	F(1) = 2;F(2) =3;F(3) = 3 + 6 = 9;F(4) = 9 + 9 = 18;

Слайд 11Задание 4
Чему равна сумма всех чисел, напечатанных на экране при

выполнении вызова F(1)?
void F(int n)
{
cout

if (n < 5) {
F(n + 1);
F(n + 3);
}
}
Задание 4Чему равна сумма всех чисел, напечатанных на экране при выполнении вызова F(1)?void F(int n){  cout

Слайд 12Решение
1, 2, 3, 4, 5, 7, 6, 5, 4, 5,

7. Их сумма равна 49.
 

Решение1, 2, 3, 4, 5, 7, 6, 5, 4, 5, 7. Их сумма равна 49. 

Слайд 13Задание 5
Чему будет равно значение, вычисленное алгоритмом при выполнении вызова

F(5)?
int F(int n)
{
if (n > 2)

return F(n-1) + F(n-2);
else return 1;
}
Задание 5Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(5)?int F(int n){  if (n >

Слайд 14Решение
F(5)= F(4) + F(3) = F(3) + F(2) + F(2)

+ F(1) = F(2) + F(1) +1 + 1 +

1 = 5.
РешениеF(5)= F(4) + F(3) = F(3) + F(2) + F(2) + F(1) = F(2) + F(1) +1

Слайд 15Задание 6
Значение, вычисленное при вызове F(8)

int F(int n)
{
if (n

> 2)
return F(n-1) + G(n-2);
else return 1;
}
int

G(int n)
{
if (n > 2)
return G(n-1) + F(n-2);
else return 1;
}
Задание 6Значение, вычисленное при вызове F(8)int F(int n){ if (n > 2)  return F(n-1) + G(n-2);

Слайд 16Решение
F(1) = 1;
F(2) = 1;
F(3) = G(1) + F(2) =

2;
F(4) = G(2) + F(3) = 1 + 2 =

3;
F(5) = F(4) + G(3) = 3 + 2 = 5;
F(6) = F(5) + G(4) = 5 + 3 = 8;
F(7) = F(6) + G(5) = 8 + 5 = 13;
F(8) = F(7) + G(6) = 13 + 8 = 21.

РешениеF(1) = 1;F(2) = 1;F(3) = G(1) + F(2) = 2;F(4) = G(2) + F(3) = 1

Слайд 17Задание 7
Значение при вызове G(5)
int F(int n) {
if (n

> 2)
return F(n-1)+G(n-1)+F(n-2);
else return n;
}

int G(int

n){
if (n > 2)
return G(n-1)+F(n-1)+G(n-2);
else return n+1;
}
Задание 7Значение при вызове G(5)int F(int n) { if (n > 2)  return F(n-1)+G(n-1)+F(n-2); else return

Слайд 18Решение
F(1) = 1
G(1) = 2
F(2) = 2
G(2) = 3
F(3) =

F(2) + F(1) + G(2) = 6
G(3) = G(2) +

G(1) + F(2) = 7
F(4) = F(3) + F(2) + G(3) = 15
G(4) = G(3) + G(2) + F(3) = 16
G(5) = G(4) + G(3) + F(4) = 38

РешениеF(1) = 1G(1) = 2F(2) = 2G(2) = 3F(3) = F(2) + F(1) + G(2) = 6G(3)

Слайд 19Задание 8
Сколько * будет выведено в консоль при вызове F(6)?
void

F(int n)
{
if (n > 0)
{
printf("*");

F(n - 1);
F(n / 3);
}
}
Задание 8Сколько * будет выведено в консоль при вызове F(6)? void F(int n){ if (n > 0)

Слайд 20Решение
F(6)
 {
    F(5)
    F(2)
    {
       F(4)
       F(1)
       F(1)
       F(0)
       {
          F(3)
          F(1)
          F(0)
          F(0)
          F(0)
          F(0)
            {
            F(2)
            F(1)
            F(0)
            {
              F(1)
              F(0)
                {
                F(0)
                }
              }
            }
       }
    }
 }

РешениеF(6) {    F(5)    F(2)    {       F(4)       F(1)       F(1)       F(0)       {          F(3)          F(1)          F(0)          F(0)          F(0)          F(0)            {            F(2)            F(1)            F(0)            {              F(1)              F(0)                {                F(0)                }              }            }       }    } }

Слайд 21Задание
Что будет выведено при вызове F(1)?

void F (int n)
{

if (n < 8) {
std::cout

<< n;
F (2 * n);
F (n + 3);
}
}
ЗаданиеЧто будет выведено при вызове F(1)?void F (int n){   if (n < 8) {

Слайд 22Задание B19 – обработка массивов

Задание B19 –  обработка массивов

Слайд 24Задание 1
В программе используется фрагмент одномерного целочисленного массива A с

индексами от 1 до 10. Значения элементов равны 6, 7,

3, 8, 4, 1, 2, 0, 9, 5 соответственно, т. е. A[1] = 6, A[2] = 7 и т. д. Определите значение переменной s после выполнения

s = 0;
n = 10;
for (i = 3; i <= n; i++) {
s = s + A[i] - A[i-2];
}
Задание 1В программе используется фрагмент одномерного целочисленного массива A с индексами от 1 до 10. Значения элементов

Слайд 25Решение
Ответ - 1

РешениеОтвет - 1

Слайд 26Задание 2
В начале выполнения этого фрагмента в массиве находились числа

1, 12, 23, 34, 45, 56, 67, 78, 89, 90,

т. е. A[1]=1, A[2]=12 и т.д. Чему будет равно значение переменной s после выполнения данного фрагмента?

s = 0;
n = 10;
for (i = 2; i <= n; i++) {
s=s + A[i]*A[i]-A[i-1]*A[i-1];
}
Задание 2В начале выполнения этого фрагмента в массиве находились числа 1, 12, 23, 34, 45, 56, 67,

Слайд 27Решение
8099

Решение8099

Слайд 28Задание 3
Перед началом выполнения данного фрагмента эти элементы массива имели

значения 7, 8, 8, 1, 2, 2, 3, 3, 8,

5 (т.е. A[1] = 7, A[2] = 8, …, A[10] = 5). Определите значение переменной s после выполнения 

n = 10;
s = 0;
for (i = 2; i <= n; ++i) {
if (A[i-1] < A[i]) {
t = A[i-1];
A[i-1] = A[i];
A[i] = t + 1;
s = s + 1;
}
}
Задание 3Перед началом выполнения данного фрагмента эти элементы массива имели значения 7, 8, 8, 1, 2, 2,

Слайд 29Решение
Изначальный порядок значений: 7, 8, 8, 1, 2, 2, 3,

3, 8, 5.
Первое изменение элементов: 8, 8, 8, 1, 2, 2,

3, 3, 8, 5.
Второе изменение элементов: 8, 8, 8, 2, 2, 2, 3, 3, 8, 5.
Третье изменение элементов: 8, 8, 8, 2, 2, 3, 3, 3, 8, 5.
Четвёртое изменение элементов: 8, 8, 8, 2, 2, 3, 3, 8, 4, 5.
Последнее изменение элементов: 8, 8, 8, 2, 2, 3, 3, 8, 5, 5.

РешениеИзначальный порядок значений: 7, 8, 8, 1, 2, 2, 3, 3, 8, 5.Первое изменение элементов: 8, 8, 8,

Слайд 30Задание 4
Элементы двухмерного массива A размером 10x10 первоначально были равны

1. Сколько будет нулей после выполнения?
for (n = 1; n

<= 4; n++) {
for (k = 1; k <= n+1; k++) {
A[n][k]= A[n][k]-1;
A[n][k+1]= A[n][k]-1;
}
}
Задание 4Элементы двухмерного массива A размером 10x10 первоначально были равны 1. Сколько будет нулей после выполнения?for (n

Слайд 32Задание 5
Элементы двухмерного массива A размером 10x10 первоначально были равны

4. Сколько будет девяток после выполнения?
for (i = 1; i

<= 4; i++) {
for (j = 1; j <= 5; j++) {
A[i][j]=A[i][j]+4;
A[j][i]=A[j][i]+5;
}
}
Задание 5Элементы двухмерного массива A размером 10x10 первоначально были равны 4. Сколько будет девяток после выполнения?for (i

Слайд 34Задание 6
Описан массив А из 24 элементов. Чему будет равно

значение элемента A[24]?

n=24;
A[1] = 4;
for (i = 2; i

<= n; i++) {
A[i] = 4*A[i–1] % 10;
}
Задание 6Описан массив А из 24 элементов. Чему будет равно значение элемента A[24]?n=24; A[1] = 4;for (i

Слайд 36Задание 7
В программе описан одномерный целочисленный массив с индексами от

0 до 9. В начале выполнения этого фрагмента в массиве

находились числа 3, 2, 4, 6, 3, 10, 12, 14, 16, 18 т. е. А[0]=3, А[1]=2 и т. д. Чему будет равно значение переменной с после выполнения?
c = 0;
for (i = 1; i <= 8; i++)
if (A[i] == A[0])
{
c++;
t=A[i+1];
A[i+1]= A[i];
A[i]= t;
}
cout « c « endl;
Задание 7В программе описан одномерный целочисленный массив с индексами от 0 до 9. В начале выполнения этого

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика