Задачи для цикла с оператором для с решением

Задачи для цикла с оператором для с решением thumbnail

Решенные задачи Pascal: операторы цикла

Pascal операторы цикла — Repeat

Repeat 1: Даны положительные числа A и B (A>B). На отрезке длины A размещено максимально возможное количество отрезков длины B (без наложений). Не используя операции умножения и деления, найти количество отрезков B, размещенных на отрезке A.

Проверить:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
a,b,temp,c:integer;
flag: boolean;
begin
writeln(‘A=’);
readln(a);
writeln(‘B=’);
readln(b);
temp:=a;
repeat
temp:=temp-b;
inc(c);
until temp-b>=0;
writeln(‘result: ‘,c);
end.

Pascal операторы цикла — While

While 1: Определите значение переменной P после выполнения следующего фрагмента программы:

1
2
3
4
5
P:=1; i:=3;
while i <= 9 do begin
P := P * (i div 3);
i := i + 1;
end;

Варианты:
1) 1
2) 3
3) 9
4) 24

Проверить:

While 2: Определите значение переменной S после выполнения следующего фрагмента программы:

1
2
3
4
5
S:=0; i:=7;
while i > 1 do begin
S := S + i div 2;
i := i – 1;
end;

Варианты:
1) S = 0
2) S = 7
3) S = 12
4) S = 24

Проверить:

While 3: Даны целые положительные числа N и K. Используя только операции сложения и вычитания, найти частное от деления нацело N на K, а также остаток от этого деления.

Решение данного задания смотрите в видео уроке по Паскалю:

While 4: Дано целое число N (> 0). С помощью операций деления нацело и взятия остатка от деления определить, имеется ли в записи числа N цифра «2». Если имеется, то вывести TRUE, если нет — вывести FALSE.

Проверить:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
number:integer;
flag: boolean;
begin
writeln(‘введите целое число (number>0) number=’);
readln(number);
flag:=false;
while (number div 10)>0 do
begin
if (number mod 10) = 2 then flag:=true;
number:=number div 10;
end;
writeln(flag);
end.

While 5:
Дано целое число N (>1). Найти наибольшее целое число K, при котором выполняется неравенство 3K<N

* Из задачника М. Э. Абрамян (While10)

Предлагаем посмотреть разбор задачи на видео:

While 6:
Дано число A (>1). Вывести наибольшее из целых чисел K, для которых сумма 1+1/2+…+1/K будет меньше A, и саму эту сумму

* Из задачника М. Э. Абрамян (While14)

Проверить:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
Temp:Real;
A,K :Integer;
begin
Write(‘Введите A: ‘);
Readln(A);
K:=0;
Temp:=0;
while Temp<=A do
begin
inc(K,1);
Temp:=Temp+1/K;
end;
Writeln(K-1,’ ‘,Temp-1/K);
end.

While 7:
Дано целое число K и набор ненулевых целых чисел; признак его завершения — число . Вывести количество чисел в наборе, меньших K

* Из задачника М. Э. Абрамян (Series14)

Проверить:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var
i,R,K:Longint;
begin
write(‘Введите K : ‘);
readln(K);
R:=1;
i:=0;
while(R<>0) do
begin
write(‘Введите число из набора: ‘);
Readln(R);
if R<K then i:=i+1;
end;
i:=i-1;
Writeln(i);
readln;
end.

While 8:
Спортсмен-лыжник начал тренировки, пробежав в первый день 10 км. Каждый следующий день он увеличивал длину пробега на P процентов от пробега предыдущего дня (P — вещественное, 0<P<50). По данному P определить, после какого дня суммарный пробег лыжника за все дни превысит 200 км, и вывести найденное количество дней K (целое) и суммарный пробег S (вещественное число).

* Из задачника М. Э. Абрамян (While16)

Проверить:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var
P, S, D:Real;
K :Integer;
begin
Write(‘Введите процент: ‘);
Readln(P);
K:=1;
D:=10;
S:=10;
while S<=200 do
begin
inc(K,1);
D:=D+D*P/100;
S:=S+D;
end;
Writeln(K,’ ‘,S);
end.

Pascal операторы цикла — For

For 1: Дано вещественное число — цена 1 кг конфет. Вывести стоимость 0.1, 0.2, …, 1 кг конфет.

* Из задачника М. Э. Абрамян

Проверить:

1
2
3
4
5
6
7
8
9
10
11
12
var c,m:real;
i:integer;
begin
writeln(‘Цена?’);
readln(c);
m:=0.1;
for i := 1 to 10 do
begin
writeln(‘ price of ‘,m, ‘ kg = ‘,c*m);
m:=m+0.1;
end;
end.

For 2: Даны два целых числа A и B ( A<B ). Вывести в порядке убывания все целые числа, расположенные между A и B (не включая числа A и B), а также количество N этих чисел.

* Из задачника М. Э. Абрамян

Проверить:

1
2
3
4
5
6
7
8
9
10
11
var a, b, i: integer;
begin
writeln(‘A:’);
readln(a);
writeln(‘B:’);
readln(b);
for i:= b-1 downto a+1 do
write(i:3 );
writeln;
writeln(‘kolvo: ‘,b-a-1);
end.

For 3:
Дано целое число N>0. Найти сумму

* Из задачника М. Э. Абрамян (For11)

Проверить:

1
2
3
4
5
6
7
8
9
var
N, Rez,i :Integer;
begin
Write(‘Введите N: ‘);
Readln(N);
rez:=0;
For i:=0 to N do Rez:=Rez+sqr(N+i);
Writeln(Rez);
end.

Сейчас предлагаем решить сложную олимпиадную задачу на Паскале:

Пять делителей: Найти сумму всех чисел от 1 до заданного n, имеющих ровно пять делителей. Единица и само число входят в число его делителей

Проверить:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var c,n,s,k,i:integer;
begin
c:=0;
s:=0;
readln(n);
for i:=2 to n do
begin
k:=i;
while k>0 do begin
if i mod k = 0 then
c:=c+1;
k:=k-1;
end;
if c= 5 then s:=s+i;
c:=0;
end;
writeln(s);
end.

Источник

3 972

Сборник примеров задач с решениями при использовании команды цикла For
Вывод на экран
Спросить имя пользователя и вывести его на экран 10 раз.

Спросить имя пользователя и вывести его на экран Р раз, указывая порядковый номер вывода.

Вывести на экран числа от -5 до 15 через пробел

Вывести на экран числа от 1 до А (A>1)

Читайте также:  Киевский цикл былин fb2

Вывести на экран числа от -A до А

Вывести на экран числа от А до В

Вывести на экран все цифры

Вывести на экран квадратный корень чисел от 1 до А. (A>1)

Вывести на экран квадраты чисел от А до В

Вывести на экран все 2-ух цифровые числа

Вывести на экран все отрицательные цифры

Вывести на экран все отрицательные 2-ух цифровые числа

Вывести на экран 2-ух цифровые числа от А до В по 4 в строке 1 способ (не всегда правильный)

Вывести на экран 2-ух цифровые числа от А до В по 4 в строке (2 способ)

Вывести на экран таблицу умножения на А

Вывод числовых последовательностей
Вывести на экран через пробел нечетные числа от 1 до 50

Вывести на экран четные числа от 2 до 60 по 5 в строке

Вывести на экран 2-ух цифровые числа кратные 5

Вывести на экран 2-ухцифровые числа кратные Н

Вывести на экран 2-ухцифровые числа кратные Н с промежутка (А..В)

Вывести на экран 2-ух цифровые числа у которых сумма цифр равна 9

Вывести на экран 2-ух цифровые числа у которых сумма цифр не равна 5

Вывести на экран 3-ох цифровые числа у которых сумма цифр равна произведению

Нахождение значения функции
Распечатать таблицу значений Y=x*x на промежутке от -10 до 10

Распечатать таблицу значений Y=3*x-5 на промежутке от -A до A

Распечатать таблицу значений Y=3*x-5 на промежутке от A до B

Функция Промежуток [-5;5]

Функция Промежуток [a;b]

Нахождение сумм числовых последовательностей
Найти суму чисел от 1 до 100

Найти суму парных двухцифровых чисел и вывести результаты промежуточных вычислений

Найти суму 2-ух цифровых чисел на промежутке от А до В

Найти суму непарных 3-oх цифровых чисел}

Найти суму чисел не кратных 3 на промежутке от 1 до А

Найти суму чисел кратных Н на промежутке от -А до А

Найти суму чисел не кратных Н на промежутке от А до В

Найти суму корней из чисел от 1 до Н

Найти суму кубов из чисел от A до B

Нахождение колличеств чисел
Найти количество парных двухцифровых чисел

Найти количество непарных 3-oх цифровых чисел

Найти количество цифр не кратных 3 от А до В

Найти количество чисел кратных Н на промежутке от -А до А

Найти количество чисел не кратных Н на промежутке от А до В

Нахождение произведения числовых последовательностей
Найти произведение чисел от 1 до 10

Найти произведение двухцифровых чисел кратных 20

Найти произведение 2-ух цифровых чисел на промежутке от А до В c выводом промежуточных вычислений

Найти произведение цифр не кратных 3

Найти произведение чисел кратных Н на промежутке от -А до А

Найти произведение чисел не кратных Н на промежутке от А до В c промежуточными вычислениями

Среднее арифметическое числовых последовательностей
Найти среднее арифметическое чисел от 1 до 100 c точностью 2 знака после запятой

Найти среднее арифметическое парных 2-ух цифровых чисел

Найти среднее арифметическое 2-ух цифровых чисел на промежутке от А до В (A>10, BB)

Найти среднее арифметическое трёхцифровых чисел кратных 100 с выводом промежуточных результатов

Найти среднее арифметическое цифр не кратных 3

Найти среднее арифметическое чисел не кратных Н на промежутке от -А до А

Найти среднее арифметическое чисел кратных Н на промежутке от А до В

Нахождение сумм и произведений значений функции
Найти суму значений функции на промежутке от А до В
Y=x*x

Функция

Функция

Найти произведение значений функции на промежутке от А до В
Y=x*x

Функция

Функция

Найти среднее арифметическое значений функции на промежутке от А до В
Y=x*x

Функция

Функция

Найти минимальное значение функции на промежутке от А до В
Y=x*x

Функция

Функция

Найти максимальное значение функции на промежутке от А до В
Y=x*x

Функция

Функция

Найти разницу между максимальным и минимальным значением функции на промежутке от А до В
Y=x*x

Функция

Функция

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Цели урока:

  1. Рассмотреть решение задачи с использованием различных видов циклов.
  2. Сформировать умение решать задачи с использованием циклов.
  3. Способствовать развитию таких мыслительных операций, как анализ, синтез,
    обобщение.
  4. Развитие познавательного интереса.

План урока:

  1. Постановка цели урока.
  2. Актуализация знаний и умений учащихся.
  3. решение задач.
  4. Домашняя работа.
  5. Подведение итогов урока.

Ход урока

I. Постановка цели урока.

Освоив, операторы присваивания и научившись пользоваться условным оператором
IF, теоретически можно написать любую программу. Но в нашей повседневной жизни
мы очень часто встречаемся с процессами, которые повторяются во времени
несколько раз. Например: прорастание растения из семечки, смена времён года,
смена времени суток, покраска забора, укладка кирпича и т.д. Гораздо удобнее в
этих случаях использовать циклы. Циклы позволяют существенно упростить алгоритм
и текст программы, сделать программу изящной, гибкой, более привлекательной.
Сегодня на уроке мы будем решать такие задачи и убедимся в этом сами.

II. Актуализация знаний и умений учащихся.

Но прежде чем мы перейдём к решению задач, давайте вспомним с вами, какие
циклы вы знаете?

Читайте также:  Расчет по циклу дизеля

В чём отличительная черта цикла While?

В чём отличительная черта цикла Repeat?

В чём отличительная черта цикла с параметром?

Ответы учащихся сопровождаются демонстрацией слайдов №№ 2-8 презентации к
уроку см. Приложение.

III. Решение задач.

Задача:

Гражданин 1 марта открыл счёт в банке, вложив 1000 рублей. Через каждый месяц
размер вклада увеличивается на 2% от имеющейся суммы. Определить:

Сумму вклада через один, два, …, двенадцать месяцев.

Текст задачи выводится на экран слайд презентации № 9.

1. Анализ условия:

  • Что нам известно?
  • Что надо найти?
  • Сколько переменных используется в задаче?
  • Какие переменные мы будем вводить, а какие рассчитывать?
  • К какому типу относятся переменные вводимые с клавиатуры?
  • Если эти переменные относятся к вещественному типу, то какой результат
    мы получим?
  • Как мы обозначим переменные?

Проанализировав условие данной задачи, мы можем записать описательную часть
программы на языке Pascal.

Слайд презентации № 10.

2. Построение математической модели решения:

Первоначальный вклад а0=1000

1 месяц: а1=а0+а0*0,02

2 месяц: а2=а1+а1*0,02

—————————-

10 месяц: а10=а9+а9*0,02

Общий случай: an=an-1+an-1*0,02

Слайд презентации № 11.

3. Составление алгоритма решения:

Слайд презентации № 12.

4. Запись программы:

Program vklad;
Var i: integer;
a: real;
Begin Writeln (‘введите значение первоначального вклада’);

Readln (а);
For i:=1 to 12 do
begin
a:= a + a*0,02;
writeln (a); end;

end.

Слайд презентации № 13.

А теперь запишите данную программу с помощью цикла ДО или цикла
ПОКА
кому как удобнее.

Цикл до:

Program vklad;/
Var i: integer;
a: real;
Begin Writeln (‘введите значение первоначального вклада’);

Readln (а);
i:=1;
repeat
a:= a+a*0,02;
writeln (a);
i:=i+1;
until i>12;

end.

Цикл пока:

Program vklad;
Var i: integer;
a: real;
Begin Writeln (‘введите значение первоначального вклада’);

Readln (а);
i:=1;
while i<=12 do
begin
a:= a+a*0,02;
writeln (a);
i:=i+1; end;

end.

Слайд презентации № 14.

IV. Домашняя работа.

Решите задачу, используя цикл на ваше усмотрение.

Одноклеточная амёба каждые 3 часа делится на 2 клетки. Определить, сколько
будет клеток через 3, 6, 9, …, 24 часа.

Слайд презентации № 15.

Источник

Цели:

Образовательные: закрепить понятие оператора цикла со счётчиком решением задач.

Развивающие:

  • развить навыки использования среды программирования Pascal ABC;
  • развить умение отправления решённых задач с помощью программы Clnt на сервер для тестирования;
  • развить логическое мышление и активность работы учащихся.

Воспитательные:

  • формировать навык командной работы;
  • формировать у учащихся объективную самооценку;
  • пробудить интерес к обучению.

Задачи учителя для создания успеха на уроке:

  • наладить работу локальной сети;
  • разместить на ученических компьютерах программу Clnt для отправки задач на сервер;
  • на всех компьютерах установить среду программирования Pascal ABC;
  • на сервере подготовить пакет программ Executor для автоматического тестирования задач;
  • учительский компьютер оснастить мултимедийным проектором;
  • провести физкультминутку для снятия усталости плеч, шеи, позвоночника и глаз;
  • создать на уроке атмосферу доброжелательности и сотрудничества;
  • подготовить дипломы для награждения победителей и сертификаты для участников.

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

Оборудование:

  • компьютерный класс с локальной сетью;
  • компьютер учителя, оснащённый мультимедийным проектором;
  • карточки с условиями задач;
  • легкая музыка.

Программное обеспечение:

  • Электронный учебник «Вычислительная математика и программирование»
  • Пакет программ MS Office -2003,
  • среда программирования Pascal ABC,
  • электронная презентация «Циклы в языке Turbo Pascal»,
  • Полный курс обучения языку программирования. Конструкции языка. Циклические алгоритмы,
  • пакет программ Executor для тестирования решённых задач.

Межпредметная связь: математика, русский язык.

Интернет-ресурсы:

  • https://www.acmtest.ru/
  • Executor – автоматизированная сетевая тестирующая система для проведения турниров по программированию по правилам ACM. Версия 2.299
  • https://sunschool.math.rsu.ru/pabc/
  • Система Pascal ABC основана на языке Delphi Pascal и призвана осуществить постепенный переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию.
  • https://www.pascaler.ru/links.html
  • Полный курс обучения языку программирования Турбо Паскаль.

Литература для учащихся:

  • Информатика. Задачник-практикум в 2 т./Под ред. И.Г. Семакина, Е. К. Хеннера: Том 1. – Лаборатория Базовых знаний, 2001. – 304.: ил.
  • Информатика и ИКТ: учебник для 9 класса/ И. Г. Семакин, Л. А. Залогова, С. В. Русаков, Л. В. Шестаков. – М.:БИНОМ. Лаборатория знаний, 2008 -359 с.:ил.

Литература для учителя:

  • Информатика. Л. З. Шауцукова
  • Турбо Паскаль. /С.А. Немнюгин – СПб: Издательство «Питер», 2000. – 496 с.: ил.
  • Pascaler. Полный курс обучения языку программирования,

Структура урока

Этапы урока

Время (мин.)

Приёмы и методы

1

Организационный момент

1

Приветствие учителя

 2

Постановка образовательной задачи

1

Объявление учителем темы урока.
(Приложение 1, слайд 1-2)

 3

Повторение понятия цикла со счётчиком

5

Повторение с учащимися
(Приложение 1, слайд 3-4)

 4

Повторение правил отправки задач на сервер для тестирования

3

Мастер-класс “Решение и отправка задач на сервер” (Приложение 2)

 5

Решение задач

15

Решение задач учащимися за компьютерами и отправка решений на сервер. (Приложение 2)

 6

Физкультминутка

2

Выполнение вместе с учащимися упражнений для глаз для снятия перенапряжения. (Приложение 3)

 7

Решение задач

13

Решение задач учащимися за компьютерами и отправка решений на сервер. (Приложение 2)

 8

Подведение итогов урока

3

С помощью мультимедийного проектора проектировать результаты поступления на сервер. Расставить оценки учащимся за урок. (Приложение 2), (Приложение 4)

 9

Домашнее задание

2

Решить задачи. (Приложение 1)

Читайте также:  Php цикл по array

Ход урока

1. Организационный момент

Учитель: Добрый день, ребята. Я очень рада вас всех видеть. А сейчас посмотрим, друг другу в глаза, улыбнёмся, пожелаем удачи и начнем наш урок. Садитесь. Дежурный, сообщите, пожалуйста, все ли в классе?

Ученик: В классе отсутствующих нет.

Учитель: Спасибо, садитесь. Для сегодняшнего урока вам необходимо подготовить тетради, ручки, электронные носители и дневники. Положите все эти предметы на стол.

2. Постановка образовательной задачи.

Учитель: Откройте тетради и запишите сегодняшнее число 18.12.2008 и тему урока «Циклы со счётчиком. Решение задач». Эпиграфом нашего урока я взяла слова известного французского писателя – лингвиста Гюстава Гийома “Дорогу осилит идущий, а информатику – мыслящий”

Выделила следующие цели:

Образовательные:

  • закрепить понятие оператора цикла со счётчиком решением задач.

Развивающие:

  • развить умение использования программы Executor для тестирования задач на сервере;
  • развить логическое мышление и активность работы учащихся.

Воспитательные:

  • формировать навык командной работы и объективную самооценку;
  • пробудить интерес к программированию.

3. Повторение понятия цикла со счётчиком

На прошлом уроке мы изучили тему: «Циклы со счётчиком». Давайте вспомним, как записываются такие циклы при составлении программ?

Приложение 1

Ученик: В первой задаче числа, начиная от 10 до 1 с шагом -1 возводят в квадрат и печатают полученные значения.

Ученик: Во второй задаче находит сумму чисел, начиная от 5 до 10 с шагом +1 и печатает полученное значение.

Учитель: Молодцы, верно догадались.

4. Повторение правил отправки задач на сервер для тестирования

Учитель: Ребята, завтра, 19 декабря, состоится 3 республиканская командная дистанционная олимпиада по программированию. Чтобы закрепить процесс работы с пакетом программы Executor, на этом уроке решённые задачи будем отправлять на сервер для тестирования. В конце урока подведём итоги. Узнаем, какая команда больше всех набрала баллов. Победители получат дипломы, а участники – сертификаты. До начала турнира, давайте вспомним использования программы Clnt. Необходимо открыть программу Clnt. Наладить соединение с сервером. IP адрес сервера: 192.168.1.30. Порт не меняем. Войти в систему, выбрать номер своей команды. Написать пароль. Создать папку For на Рабочем столе и сохранять там все решённые задачи. По мере решения отправляйте задачи на сервер для тестирования.

Учитель: Если нет вопросов, приступите к работе.

5. Решение задач

Учащиеся занимают места за компьютерами, настраивают связь с сервером и начинают решать задачи. Звучит тихая музыка.

For7. (В №4) Даны два целых числа A и B (A < B). Найти сумму всех целых чисел от A до B включительно.

Входные данные: ввести два целых числа A, B (1<=A,B<=100).

Выходные данные: вывести сумму всех целых чисел от A до B включительно.

For8. (В №1) Даны два целых числа A и B (A < B). Найти произведение всех целых чисел от A до B включительно.

Входные данные: ввести два целых числа A, B (1<=A,B<=10).

Выходные данные: вывести произведение всех целых чисел от A до B включительно.

For9. (В №2) Даны два целых числа A и B (A < B). Найти сумму квадратов всех целых чисел от A до B включительно.

Входные данные: ввести два целых числа A, B (1<=A,B<=10).

Выходные данные: вывести сумму квадратов всех целых чисел от A до B включительно.

For10. (В №3) Дано целое число N (> 0). Найти сумму 1 + 1/2 + 1/3 + … + 1/N (вещественное число).

Входные данные: ввести целое число N (1<=n<=20).

Выходные данные: вывести сумму 1 + 1/2 + 1/3 + … + 1/N с точностью до 4 цифр в дробной части. (Приложение 5)

5. Физкультминутка

Через 15 минут работы за компьютерами выполняют все вместе с учителем упражнения для снятия усталости плеч, спины, мышц шеи и глаз.

Учитель: Ребята, вы уже сидите за компьютерами 15 минут, наверное, устали ваши глаза. Давайте выполним упражнения для глаз, спины, шеи.

  • Открытыми глазами медленно, в такт дыханию, плавно рисуйте глазами “восьмерку” в пространстве: по горизонтали, по вертикали, по диагонали. Повторить 5-7 раз в каждом направлении.
  • Голову слегка запрокиньте назад. Преодолевая сопротивление напряженных мышц шеи, прижмите подбородок к яремной ямке. Выполните упражнение не менее 5 раз.
  • Голову и плечи держите прямо. Медленно поверните голову максимально вправо (5 раз). Столько же раз выполните движение влево.
  • И.п. – сидя на стуле. Заведите руки за голову – вдох, максимально прогнитесь назад 3 – 5 раз, опираясь лопатками о спинку стула – выдох.

6. Решение задач

Приложение 6

7. Подведение итогов урока

Учитель: Ребята, на этом работу за компьютерами закончим. Для подведения итогов, займите места за партами. Программа Executor проверила ваши работы. 1 место заняла команда 02, 1 место – 05, 3 место – 09. Эти учащиеся получат дипломы, а все остальные – сертификаты.

8. Домашнее задание

For11. Дано целое число N (> 0). Найти сумму N2 + (N + 1)2 + (N + 2)2 + … + (2·N)2 (целое число).

Входные данные: ввести целое число N (1<=n<=10).

Выходные данные: вывести сумму N2 + (N + 1)2 + (N + 2)2 + … + (2·N)2 (целое число).

Приложение 1 (Презентация для повторения)

Приложение 2 (Материалы для проведения соревнования по программированию)

Приложение 3 (Презентация физкультминутка)

Приложение 4 (Диплом для награждения призёров)

Приложение 5 (Условия задач)

Источник