Задачи для самостоятельной домашней работы.

Задачи сдаются на отдельном листке, содержат условие, листинг и протокол выполнения программы (учитель информатики Крупина Т.А.)

Наш адрес: 140200, г. Воскресенск Московской области,
ул. Октябрьская, д.9 МОУ "СОШ № 4"

Презентация и подборка задач на циклы While, Repeat, For.

Скачать:

ВложениеРазмер
tsikly.ppt400.5 КБ
tsikly_v_pascal.docx65.5 КБ
tsikly_zadachi.doc29.5 КБ

Предварительный просмотр:

Подписи к слайдам:

Циклическое повторение блока команд, пока выполняется (или не выполняется) некоторое условие

Найти все двузначные числа, кратные 7. Начало Конец k:=1 4 K Циклы в Pascal: repeat, while, for.

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

Любой цикл состоит из тела и заголовка. Тело цикла — это набор повторяющихся операторов, а условие — это логическое выражение, в зависимости от результата которого и происходит повторное выполнение цикла.

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

Задача 1. Вывести все цифры от 1 до числа, введенного с клавиатуры.

While, или цикл с предусловием

while — это цикл, в котором условие стоит перед телом. Причем тело цикла выполняется тогда и только тогда, когда условие true ; как только условие становится false , выполнение цикла прекращается.

While имеет формат: while do ;

Данный цикл подходит только для одного оператора, если же вы хотите использовать несколько операторов в своем коде, вам следует заключить их в операторные скобки — begin и end; .

Repeat, или цикл с постусловием

Repeat — полная противоположность while . Repeat — это цикл, в котором условие стоит после тела . Причем оно выполняется тогда и только тогда, когда результат условия false ; как только логическое выражение становится true , выполнение цикла прекращается.

Repeat имеет формат:

Begin и end не требуются.

  1. program example_repeat;
  2. var
  3. i, N: integer;
  4. begin
  5. i := 1;
  6. readln(N);
  7. repeat
  8. write(i, ‘ ‘);
  9. Inc(i);
  10. until i = N + 1;
  11. end.

For, или цикл с параметром

For — это цикл, в котором тело выполняется заданное количество раз.

Существует две формы записи этого цикла:

После каждой итерации значение будет увеличиваться на 1.

— это начальное значение счетчика. Это может быть переменная или число.
: как только значение станет больше , выполнение цикла прекратится.

Если требуется написать несколько операторов в теле цикла, используем begin и end .

И , и , и — переменные целого типа.

Чаще всего в качестве счетчика используется переменная i.

После каждой итерации значение будет уменьшатся на 1.

— это начальное значение счетчика.
: как только значение станет меньше , выполнение цикла прекратится.

Два важных примечания:

  1. Цикл повторяется, пока значение значение счетчика лежит в отрезке [значение ; конечное_значение].
  2. Изменять значение счетчика внутри тела нельзя !
  1. program example_for;
  2. var
  3. i, N: integer;
  4. begin
  5. read(N);
  6. for i := 1 to N do write(i, ‘ ‘);
  7. end.

Давайте разберем несколько задач.

For1 . Даны целые числа K и N (N > 0). Вывести N раз число K.

Организовываем простой цикл от 1 до требуемого числа.

  1. program for1;
  2. var
  3. K, N, i: integer;
  4. begin
  5. read(K, N);
  6. for i := 1 to N do write(K, ‘ ‘);
  7. end.

For2 . Даны два целых числа A и B (A

  1. program for2;
  2. var
  3. A, B, i, count: integer;
  4. begin
  5. read(A, B);
  6. for i := A to B do write(i, ‘ ‘);
  7. count := B — A + 1;
  8. writeln;
  9. write( ‘Количество чисел — ‘, count);
  10. end.

For9 . Даны два целых числа A и B (A

Организовываем такой же цикл, как и в предыдущей задаче, но одновременно суммируем квадраты всех чисел. Чтобы высчитать квадрат, используем функцию Sqr .

  1. program for9;
  2. var
  3. A, B, i, S: integer;
  4. begin
  5. read(A, B);
  6. S := 0;
  7. for i := A to B do S := S + Sqr(i);
  8. writeln;
  9. write( ‘Сумма квадратов — ‘, S);
  10. end.

For13° . Дано целое число N (> 0). Найти значение выражения 1.1 – 1.2 + 1.3 – … (N слагаемых, знаки чередуются). Условный оператор не использовать.

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

  1. program for13;
  2. var
  3. N, A, i: integer;
  4. S: real;
  5. begin
  6. Write(‘N = ‘);
  7. readln(N);
  8. S := 1.1;
  9. A := 1;
  10. for i := 2 to N do
  11. begin
  12. A := -A;
  13. S := S + A * (1 + i / 10);
  14. end;
  15. Writeln(S:5:1);
  16. end.

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

Каждый раз вычитаем B из А, пока А — В >= 0.

While4° . Дано целое число N (> 0). Если оно является степенью числа 3, то вывести True, если не является — вывести False.

Действуем следующим образом: пока N делится нацело на три, делим N нацело. Затем, если N = 1 — число является степенью тройки; если N <> 1, тогда число — не степень тройки. Для того чтобы решить эту задачу, требуется знать, что такое div и mod , и как работают логические выражения .

  1. program while4;
  2. var
  3. N: integer;
  4. begin
  5. readln(N);
  6. while N mod 3 = 0 do N := N div 3;
  7. writeln(N = 1);
  8. end.

Предварительный просмотр:

Задачи на циклы.

  1. Напишите программу вывода всех четных чисел от 2 до 100 включительно. (2 балла)
  2. Составьте программу, вычисляющую сумму квадратов всех чисел от 1 до N. (1 балл)
  3. Напишите программу, определяющую сумму всех нечетных чисел от 1 до 99. (2 балла)
  4. Составьте программу, подсчитывающую количество цифр вводимого вами целого неотрицательного числа. Можно использовать операцию целочисленного деления. (3 балла)
  5. Вычислите сумму квадратов N четных натуральных чисел. (2 балла)
  6. Вычислить: 1+2+4+8+…+210 (3 балла)
  7. Вычислить: (1+2)*(1+2+3)*…*(1+2+…+10) (3 балла)
  8. В бригаде, работающей на уборке сена, имеется N косилок. Первая из них работала M часов, а каждая следующая на 10 минут больше, чем предыдущая. Сколько часов проработала вся бригада? (2 балла)
  9. В ЭВМ вводятся по очереди данные о росте N учащихся класса. Определить средний рост учащихся в классе. (1 балл)
  10. Составьте программу вычисления степени числа A с натуральным показателем N. (3 балла)
  11. Составьте программу, вычисляющую A*B, не пользуясь операцией умножения. А и B любое натуральное число. (2 балла)
  12. Для заданного числа N составьте программу вычисления суммы S=1+1/2+1/3+1/4+…+1/N, где N – натуральное число. (2 балла)
  13. Каждая бактерия делится на две в течение одной минуты. В начальный момент имеется одна бактерия. Составьте программу, которая рассчитывает количество бактерий на заданное вами целое значение момента времени (15 минут, 7 минут и т.п.). (2 балла)
  14. Вывести на экран кубы целых чисел от A до B. (1 балл)
  15. Найти сумму n-го количества элементов ряда 1, -0.5, 0.25, -0.125, … (2 балла)
  16. Вывести все квадраты натуральных чисел, не превосходящие данного числа N. Пример: N=50 | 1 4 9 16. (1 балл)
  17. Вывести на экран ряд чисел Фибоначчи, состоящий из n элементов. Числа Фибоначчи – это элементы числовой последовательности: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …, в которой каждое последующее число равно сумме двух предыдущих. (2 балла)
  18. Найти сумму целых чисел от N до M. (1 балл)
  19. Даны натуральные числа от 20 до 50. Напечатать те из них, которые делятся на 3, но не делятся на 5. (3 балла)
  20. Найти произведение двузначных нечетных чисел кратных 13. (3 балла)
  21. Даны действительное число а и натуральное число n . Вычислить: a(a+1). (a+n-1). (2 балла)
  22. Составьте программу, выводящую на экран квадраты чисел от 10 до 20. (2 балла)
  23. Бизнесмен взял ссуду m тысяч рублей в банке под 20% годовых. Через сколько лет его долг превысит s тысяч рублей, если за это время он не будет отдавать долг? (3 балла)

По теме: методические разработки, презентации и конспекты

язык паскаль. Практикум по теме "Циклы" для 9 класса.

Конспект урока по информатике "Циклы в Паскале" предназначен для учащихся 9 класс.

В самостоятельной работе проверяются умения учащихся анализировать работу циклов, написание программы на языке программирования Паскаль с использованием циклов.

Тест состоит из 10 вопросов разного уровня сложности. Проверка осуществляется в конце теста и выводятся статистические данные по количеству правильныхи неправильных ответов. По результатам теста выста.

Контрольная работа содержит 4 варианта проверяет знания "базовая структура Цикл" и "запись циклов на языке Паскаль&quot.

Конспект урока "Операторы цикла на Паскале. Цикл с предусловием".

Приветствуем читателей нашего сайта! Сегодня мы с вами решим for1-15 из вот этого задачника.

For1. Даны целые числа K и N (N > 0). Вывести N раз число K.

Организовываем простой цикл от 1 до требуемого числа.

For2. Даны два целых числа A и B (A

For3. Даны два целых числа A и B (A

Задача решается аналогично предыдущей. Только на этот раз используем downto, так как числа будут двигаться сверху вниз. Чтобы исключить А и В из списка выводимых чисел, от В отнимаем 1, а к А наоборот прибавляем.

For4. Дано вещественное число — цена 1 кг конфет. Вывести стоимость 1, 2, …, 10 кг конфет.
Каждую итерацию цикла выводим цену, умноженную на i.

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

Такая же программа, как предыдущая, только теперь умножаем на i / 10.

For6. Дано вещественное число — цена 1 кг конфет. Вывести стоимость 1.2, 1.4, …, 2 кг конфет.

For7. Даны два целых числа A и B (A

Организовываем цикл и складываем все числа.

For8. Даны два целых числа A и B (A

Создаем цикл и умножаем все числа.

For9. Даны два целых числа A и B (A

Организовываем такой же цикл, как и в предыдущей задаче, но одновременно суммируем квадраты всех чисел. Чтобы высчитать квадрат, используем функцию Sqr.

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

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

For12°. Дано целое число N (> 0). Найти произведение 1.1 · 1.2 · 1.3 · …(N сомножителей).

For13° . Дано целое число N (> 0). Найти значение выражения 1.1 – 1.2 + 1.3 – … (N слагаемых, знаки чередуются). Условный оператор не использовать.

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

For14. Дано целое число N (> 0). Найти квадрат данного числа, используя для его вычисления следующую формулу:
N 2 = 1 + 3 + 5 + … + (2·N – 1).
После добавления к сумме каждого слагаемого выводить текущее значение суммы (в результате будут выведены квадраты всех целых чисел от 1 до N).

For15°. Дано вещественное число A и целое число N (> 0). Найти A в степени N: A N = A·A· … ·A (числа A перемножаются N раз).

На сегодня все! Не забывайте кликать по кнопочкам и подписываться на обновления нашего сайта!