Инфоурок Информатика Другие методич. материалыИспользование формул арифметической прогрессии для решения задач по информатике

Использование формул арифметической прогрессии для решения задач по информатике

Скачать материал

8. Арифметическая прогрессия

1. Опре­де­ли­те, что будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­ще­го фраг­мен­та про­грам­мы:

 

var k, s: integer;

begin

    s:=0;

    k:=1;

    while s < 66 do begin

        k:=k+3;

        s:=s+k;

    end;

    write(k);

end.

Решение.

Цикл while вы­пол­ня­ет­ся до тех пор, пока ис­тин­но усло­вие s < 66, т. е. пе­ре­мен­ная s опре­де­ля­ет, сколь­ко раз вы­пол­нит­ся цикл.

 

Зна­че­ние s есть сумма пер­вых n чле­нов ариф­ме­ти­че­ской про­грес­сии. http://reshuege.ru/formula/30/30a842146012ad923adfcb6cfee292ed.pnghttp://reshuege.ru/formula/92/92eb5ffee6ae2fec3ad71c777531578f.png — сумма пер­вых n чле­нов про­грес­сии, http://reshuege.ru/formula/82/8277e0910d750195b448797616e091ad.png — раз­ность про­грес­сии, http://reshuege.ru/formula/7b/7b8b965ad4bca0e41ab51de7b31363a1.png — ко­ли­че­ство чле­нов.

 

Цикл пре­рвет­ся, когда http://reshuege.ru/formula/26/2662c5b31ce000ea275340177e5e027a.png.

 

Най­дем http://reshuege.ru/formula/7b/7b8b965ad4bca0e41ab51de7b31363a1.pnghttp://reshuege.ru/formula/ce/ce1666cede5c9c4220073a0a2126e8be.pnghttp://reshuege.ru/formula/4b/4b69120ecab024b62c8b5b4be0f116a9.pnghttp://reshuege.ru/formula/b5/b558ea8ccf34dd8a099a5f6bd47872a0.png (т. к. k:=k+3). Чтобы ре­шить это не­ра­вен­ство, нам не­об­хо­ди­мо ре­шить квад­рат­ное урав­не­ние http://reshuege.ru/formula/b0/b028c2e1c91c1f169d6aea860c5d39be.png, среди его кор­ней нас ин­те­ре­су­ют толь­ко по­ло­жи­тель­ные, сле­до­ва­тель­но, http://reshuege.ru/formula/3a/3aad78095d85748efaf5af18b3bc053b.png

 

Вос­поль­зо­вав­шись ме­то­дом ин­тер­ва­лов, на­хо­дим, что пер­вое на­ту­раль­ное n, при ко­то­ром на­ру­ша­ет­ся усло­вие, есть http://reshuege.ru/formula/da/da0eb2c60efbf3858606dce65755179f.png.

 

Под­ста­вив из­вест­ные па­ра­мет­ры в http://reshuege.ru/formula/c0/c04c8dad2d5d3d32cef2ec5a526950ea.png по­лу­ча­ем, что http://reshuege.ru/formula/70/70a89ba46805c761ecaa18783638a32e.png

 

2. Опре­де­ли­те, что будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­ще­го фраг­мен­та про­грам­мы:

 

var k, s: integer;

begin

    s:=0;

    k:=0;

    while k < 30 do begin

        k:=k+3;

        s:=s+k;

    end;

    write(s);

end.

Реше­ние.

Цикл while вы­пол­ня­ет­ся до тех пор, пока ис­тин­но усло­вие k < 30, т. е. пе­ре­мен­ная k опре­де­ля­ет, сколь­ко раз вы­пол­нит­ся цикл.

 

Так как по­сле­до­ва­тель­ность k пред­став­ля­ет собой ариф­ме­ти­че­скую про­грес­сию, най­дем n из не­ра­вен­ства:

 

http://reshuege.ru/formula/79/79a8cbfbb0142a1eb3430f9e5cd38e20.png http://reshuege.ru/formula/c1/c14da924290d9afecd33bcf74f04a354.png http://reshuege.ru/formula/b5/b558ea8ccf34dd8a099a5f6bd47872a0.png (т. к. k:=k+3). Вос­поль­зо­вав­шись ме­то­дом ин­тер­ва­лов, на­хо­дим пер­вое на­ту­раль­ное n, при ко­то­ром на­ру­ша­ет­ся усло­вие: http://reshuege.ru/formula/0e/0eed7908cf503924570c3a1956ef3c2b.png

Зна­че­ние s есть сумма пер­вых n чле­нов ариф­ме­ти­че­ской про­грес­сии. http://reshuege.ru/formula/cd/cdd9d7356e1ec4f39d0f81cfe8109c45.png http://reshuege.ru/formula/92/92eb5ffee6ae2fec3ad71c777531578f.png — сумма пер­вых n чле­нов про­грес­сии, http://reshuege.ru/formula/82/8277e0910d750195b448797616e091ad.png — раз­ность про­грес­сии, http://reshuege.ru/formula/7b/7b8b965ad4bca0e41ab51de7b31363a1.png — ко­ли­че­ство чле­нов.

 

http://reshuege.ru/formula/b8/b8f09bf033ec70d07c1f99b846cb2ca1.png

 

3. Опре­де­ли­те, что будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­ще­го фраг­мен­та про­грам­мы:

 

var k, s: integer;

begin

    s:=1;

    k:=0;

    while k < 13 do begin

        s:=s+2*k;

        k:=k+4;

    end;

    write(s+k);

end.

Реше­ние.

Цикл while вы­пол­ня­ет­ся до тех пор, пока ис­тин­но усло­вие k < 13, т. е. пе­ре­мен­ная k опре­де­ля­ет, сколь­ко раз вы­пол­нит­ся цикл.

 

Так как числа не­боль­шие, можно ак­ку­рат­но вы­пи­сать все s и k:

 

s 1 1 9 25 49

k 0 4 8 12 16

 

(Пом­ни­те, что усло­вие k < 13 про­ве­ря­ет­ся сразу после k:=k+4, сле­до­ва­тель­но, дей­ствие s:=s+2*k для k=16 вы­пол­нять­ся не будет)

 

Сле­до­ва­тель­но, ответ 49+16=65.

 

4. Опре­де­ли­те, что будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­ще­го фраг­мен­та про­грам­мы:

 

var n, s: integer;

begin

    n := 1;

    s := 0;

    while n <= 101 do begin

        s := s + 7;

        n := n + 1

    end;

    write(s)

end.

Реше­ние.

Цикл while вы­пол­ня­ет­ся до тех пор, пока ис­тин­но усло­вие n <= 101, т. е. пе­ре­мен­ная n опре­де­ля­ет, сколь­ко раз вы­пол­нит­ся цикл. Сле­до­ва­тель­но, фор­муль­но s можно за­дать как функ­цию n так:

 

http://reshuege.ru/formula/00/005763b0948fe35876c8cf642a49110a.png, где http://reshuege.ru/formula/10/10b3b0707185c9b1bc0a18e704c34031.png а http://reshuege.ru/formula/18/18e30ec9a448607f75a2b104c54cb40d.png

 

http://reshuege.ru/formula/47/4779c9f0268d0d87d9fd53c0487b3b4f.png, так как по­след­няя опе­ра­ция, вы­пол­нен­ная в цикле: n := 101 + 1.

 

Сле­до­ва­тель­но http://reshuege.ru/formula/67/674b41141fef9564acd1cfaf5ca8d944.png

 

5. Опре­де­ли­те, что будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­ще­го фраг­мен­та про­грам­мы:

 

var n, s: integer;

begin

    n := 24;

    s := 0;

    while n <= 28 do begin

        s := s + 20;

        n := n + 2

    end;

    write(s)

end.

Реше­ние.

Цикл while вы­пол­ня­ет­ся до тех пор, пока ис­тин­но усло­вие n <= 28, т. е. пе­ре­мен­ная n опре­де­ля­ет, сколь­ко раз вы­пол­нит­ся цикл.

 

Ак­ку­рат­но по­счи­та­ем, сколь­ко раз вы­пол­нить­ся цикл (k):

 

Зна­че­ния n: 24 26 28 30.

 

Сле­до­ва­тель­но, цикл вы­пол­нит­ся три раза (так как дей­ствие n := n + 2 стоит в конце цикла, сле­до­ва­тель­но, для n=30 дей­ствие s := s + 20 не будет вы­пол­нять­ся).

 

По­счи­та­ем зна­че­ние s: http://reshuege.ru/formula/f7/f7153c397debbb5fd7ca2b1aff60ccd2.png.

 

6. Опре­де­ли­те, что будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния про­грам­мы (за­пи­сан­ной ниже на раз­ных язы­ках про­грам­ми­ро­ва­ния):

 

Бэй­сик

Пас­каль

DIM N, S AS INTEGER

N = 3

S = 0

WHILE N <= 7

S = S + N

N = N + 1

WEND

PRINT S

var n, s: integer;

begin

n := 3;

s := 0;

while n <= 7 do

begin

s := s + n;

n := n + 1

end;

write(s)

end.

Си

Ал­го­рит­ми­че­ский

#include

void main()

{

int n, s;

n = 3;

s = 0;

while (n <= 7)

{

s = s + n;

n = n + 1;

}

printf("%d", s);

}

алг

нач

цел n, s

n := 3

s := 0

нц пока n <= 7

s := s + n

n := n + 1

кц

вывод s

кон

Реше­ние.

Цикл while вы­пол­ня­ет­ся до тех пор, пока ис­тин­но усло­вие n <= 7, т. е. пе­ре­мен­ная n опре­де­ля­ет, сколь­ко раз вы­пол­нит­ся цикл.

 

Цикл вы­пол­нит­ся http://reshuege.ru/formula/38/38bf681b188ab3c67903a0922dc7f553.png раз ( "+1" по­то­му, что в дроби мы не учи­ты­ва­ем то, что при 7 он тоже вы­пол­нит­ся).

 

За­ме­тим, что в s на­кап­ли­ва­ет­ся сумма ариф­ме­ти­че­ской про­грес­сии из 5 чле­нов с раз­но­стью 1. Сле­до­ва­тель­но,http://reshuege.ru/formula/5c/5c4eabf7fe9e0d05b1d4d53fa5a8ad9a.png.

 

7. Опре­де­ли­те, что будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния про­грам­мы (за­пи­сан­ной ниже на раз­ных язы­ках про­грам­ми­ро­ва­ния):

 

Бэй­сик

Пас­каль

Dim s, k As Integer

s = 0

k = 1

While k < 11

s = s + k

k = k + 1

End While

Console.Write(s)

Var s, k : integer;

BEGIN

s:=0;

k:=1;

while k<11 do

begin

s:=s+k;

k:=k+1;

end;

write(s);

END.

Си

Ал­го­рит­ми­че­ский

{

int s, k;

s = 0;

k = 1;

while (k<11) {

s = s+k;

k = k+1;

}

printf("%d", s);

}

нач

цел s, k

s:=0

k:=1

нц пока k < 11

s:=s+k; k:=k+1

кц

вывод s

кон

Реше­ние.

Цикл while вы­пол­ня­ет­ся до тех пор, пока ис­тин­но усло­вие k < 11, т. е. пе­ре­мен­ная k опре­де­ля­ет, сколь­ко раз вы­пол­нит­ся цикл.

 

Цикл вы­пол­нит­ся http://reshuege.ru/formula/0d/0d8d5c85554aa981e99b493e9791e91d.png раз. За­ме­тим, что в s на­кап­ли­ва­ет­ся сумма ариф­ме­ти­че­ской про­грес­сии, со­дер­жа­щей 11 чле­нов, с раз­но­стью 1. Сле­до­ва­тель­но, http://reshuege.ru/formula/4b/4bdb51450b65c2dc4cf96fac4c54816b.png.

 

8. Опре­де­ли­те, что будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния про­грам­мы 
(за­пи­сан­ной ниже на раз­ных язы­ках про­грам­ми­ро­ва­ния):

Бей­сик

Пас­каль

DIM N, S AS INTEGER

N = 0

S = 512

WHILE S  >= 0

  S = S - 20

  N = N + 1

WEND

PRINT  N

var n, s: integer;

begin

  n := 0;

  s := 512;

  while s >= 0 do

  begin

    s := s - 20;

    n := n + 1

  end;

  write(n)

end.

Си

Ал­го­рит­ми­че­ский

#include<stdio.h>

void main()

{

  int n, s;

  n = 0;

  s = 512;

  while (s >= 0)

  {

    s = s - 20;

    n = n + 1;

  }

  printf("%d", n);

}

алг

нач

  цел n, s

  n := 0

  s := 512

  нцпока s >= 0

    s := s - 20

    n := n + 1

  кц

  вывод n

кон

 

Начало формы

 

Реше­ние.

В пе­ре­мен­ной n за­пи­сы­ва­ет­ся сколь­ко раз про­изо­шел цикл. Сле­до­ва­тель­но,

http://reshuege.ru/formula/8f/8f0618f1af6a146a3e0c29abf6db291d.png

Тот факт, что при n = 25, s будет > 0 озна­ча­ет, что у=цикл вы­пол­нить­ся 26 раз.

Конец формы

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Использование формул арифметической прогрессии для решения задач по информатике"

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Специалист по сертификации продукции

Получите профессию

Няня

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

Пример: При решение задач на циклы нужны формулы математики.

Опре­де­ли­те, что будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­ще­го фраг­мен­та про­грам­мы:

 var k, s: integer;

begin

    s:=0;

    k:=1;

    while s < 66 do begin

        k:=k+3;

        s:=s+k;

    end;

    write(k);

end.

Решение.

Цикл while вы­пол­ня­ет­ся до тех пор, пока ис­тин­но усло­вие s < 66, т. е. пе­ре­мен­ная s опре­де­ля­ет, сколь­ко раз вы­пол­нит­ся цикл.

 Для решения задачи используем формулы арифметической прогрессии.

Ответ: 19.

 

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 624 992 материала в базе

Скачать материал

Другие материалы

Презентация на урок по информатике на тему: Проектирование многотабличной базы данных (§ 6) Создание базы данных (§ 7) Практическая работа 1.4. "Создание базы данных «Приемная комиссия»" 11 класс
  • Учебник: «Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.
  • Тема: § 6. Проектирование многотабличной базы данных
  • 30.09.2020
  • 1569
  • 111
«Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.
Методическая разработка задания для дистанционного обучения по информатике тема "АРМ. АСУ" 2 курс колледжа
  • Учебник: «Информатика. Учебное пособие для общеобразовательных учреждений с русским языком обучения», Г. А. Заборовский, А. Е. Пупцев
  • Тема: § 16. Информационные системы
  • 30.09.2020
  • 1117
  • 2
«Информатика. Учебное пособие для общеобразовательных учреждений с русским языком обучения», Г. А. Заборовский, А. Е. Пупцев
Задание для дистанционного обучения по информатике на тему "Создание электронной презентации к 75-летию Победы в ВОВ"1 курс колледжа
  • Учебник: «Информатика. Углубленный уровень (в2 частях)», Поляков К.Ю., Еремин Е.А.
  • Тема: § 28. Мультимедиа
  • 30.09.2020
  • 387
  • 0
«Информатика. Углубленный уровень (в2 частях)»,  Поляков К.Ю., Еремин Е.А.

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 26.12.2014 1310
    • DOCX 339 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Хакимзянова Нурания Идерисовна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    • На сайте: 9 лет и 5 месяцев
    • Подписчики: 4
    • Всего просмотров: 101014
    • Всего материалов: 22

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Технолог-калькулятор общественного питания

Технолог-калькулятор общественного питания

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Компьютерная грамотность для пенсионеров

36 ч. — 180 ч.

от 1580 руб. от 940 руб.
Подать заявку О курсе

Курс профессиональной переподготовки

Информационные системы и технологии: теория и методика преподавания в профессиональном образовании

Преподаватель информационных систем и технологий

300/600 ч.

от 7900 руб. от 3950 руб.
Подать заявку О курсе

Курс профессиональной переподготовки

Разработка и сопровождение требований и технических заданий на разработку и модернизацию систем и подсистем малого и среднего масштаба и сложности

Системный аналитик

600 ч.

9840 руб. 5900 руб.
Подать заявку О курсе
  • Сейчас обучается 63 человека из 33 регионов

Мини-курс

Взаимоотношения в семье и успех детей

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Современные подходы к духовно-нравственному воспитанию дошкольников

6 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Информационные технологии в науке и бизнесе: от концепции до реализации

10 ч.

1180 руб. 590 руб.
Подать заявку О курсе