Задачи для самостоятельной домашней работы.
Задачи сдаются на отдельном листке, содержат условие, листинг и протокол выполнения программы (учитель информатики Крупина Т.А.)
Наш адрес: 140200, г. Воскресенск Московской области,
ул. Октябрьская, д.9 МОУ "СОШ № 4"
Презентация и подборка задач на циклы While, Repeat, For.
Скачать:
Вложение | Размер |
---|---|
tsikly.ppt | 400.5 КБ |
tsikly_v_pascal.docx | 65.5 КБ |
tsikly_zadachi.doc | 29.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 не требуются.
- program example_repeat;
- var
- i, N: integer;
- begin
- i := 1;
- readln(N);
- repeat
- write(i, ‘ ‘);
- Inc(i);
- until i = N + 1;
- end.
For, или цикл с параметром
For — это цикл, в котором тело выполняется заданное количество раз.
Существует две формы записи этого цикла:
После каждой итерации значение будет увеличиваться на 1.
— это начальное значение счетчика. Это может быть переменная или число.
: как только значение станет больше , выполнение цикла прекратится.
Если требуется написать несколько операторов в теле цикла, используем begin и end .
И , и , и — переменные целого типа.
Чаще всего в качестве счетчика используется переменная i.
После каждой итерации значение будет уменьшатся на 1.
— это начальное значение счетчика.
: как только значение станет меньше , выполнение цикла прекратится.
Два важных примечания:
- Цикл повторяется, пока значение значение счетчика лежит в отрезке [значение ; конечное_значение].
- Изменять значение счетчика внутри тела нельзя !
- program example_for;
- var
- i, N: integer;
- begin
- read(N);
- for i := 1 to N do write(i, ‘ ‘);
- end.
Давайте разберем несколько задач.
For1 . Даны целые числа K и N (N > 0). Вывести N раз число K.
Организовываем простой цикл от 1 до требуемого числа.
- program for1;
- var
- K, N, i: integer;
- begin
- read(K, N);
- for i := 1 to N do write(K, ‘ ‘);
- end.
For2 . Даны два целых числа A и B (A
- program for2;
- var
- A, B, i, count: integer;
- begin
- read(A, B);
- for i := A to B do write(i, ‘ ‘);
- count := B — A + 1;
- writeln;
- write( ‘Количество чисел — ‘, count);
- end.
For9 . Даны два целых числа A и B (A
Организовываем такой же цикл, как и в предыдущей задаче, но одновременно суммируем квадраты всех чисел. Чтобы высчитать квадрат, используем функцию Sqr .
- program for9;
- var
- A, B, i, S: integer;
- begin
- read(A, B);
- S := 0;
- for i := A to B do S := S + Sqr(i);
- writeln;
- write( ‘Сумма квадратов — ‘, S);
- end.
For13° . Дано целое число N (> 0). Найти значение выражения 1.1 – 1.2 + 1.3 – … (N слагаемых, знаки чередуются). Условный оператор не использовать.
Для того, чтобы поменять знак, каждую итерацию цикла меняем значение специальной переменной на противоположное.
- program for13;
- var
- N, A, i: integer;
- S: real;
- begin
- Write(‘N = ‘);
- readln(N);
- S := 1.1;
- A := 1;
- for i := 2 to N do
- begin
- A := -A;
- S := S + A * (1 + i / 10);
- end;
- Writeln(S:5:1);
- 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 , и как работают логические выражения .
- program while4;
- var
- N: integer;
- begin
- readln(N);
- while N mod 3 = 0 do N := N div 3;
- writeln(N = 1);
- end.
Предварительный просмотр:
Задачи на циклы.
- Напишите программу вывода всех четных чисел от 2 до 100 включительно. (2 балла)
- Составьте программу, вычисляющую сумму квадратов всех чисел от 1 до N. (1 балл)
- Напишите программу, определяющую сумму всех нечетных чисел от 1 до 99. (2 балла)
- Составьте программу, подсчитывающую количество цифр вводимого вами целого неотрицательного числа. Можно использовать операцию целочисленного деления. (3 балла)
- Вычислите сумму квадратов N четных натуральных чисел. (2 балла)
- Вычислить: 1+2+4+8+…+210 (3 балла)
- Вычислить: (1+2)*(1+2+3)*…*(1+2+…+10) (3 балла)
- В бригаде, работающей на уборке сена, имеется N косилок. Первая из них работала M часов, а каждая следующая на 10 минут больше, чем предыдущая. Сколько часов проработала вся бригада? (2 балла)
- В ЭВМ вводятся по очереди данные о росте N учащихся класса. Определить средний рост учащихся в классе. (1 балл)
- Составьте программу вычисления степени числа A с натуральным показателем N. (3 балла)
- Составьте программу, вычисляющую A*B, не пользуясь операцией умножения. А и B любое натуральное число. (2 балла)
- Для заданного числа N составьте программу вычисления суммы S=1+1/2+1/3+1/4+…+1/N, где N – натуральное число. (2 балла)
- Каждая бактерия делится на две в течение одной минуты. В начальный момент имеется одна бактерия. Составьте программу, которая рассчитывает количество бактерий на заданное вами целое значение момента времени (15 минут, 7 минут и т.п.). (2 балла)
- Вывести на экран кубы целых чисел от A до B. (1 балл)
- Найти сумму n-го количества элементов ряда 1, -0.5, 0.25, -0.125, … (2 балла)
- Вывести все квадраты натуральных чисел, не превосходящие данного числа N. Пример: N=50 | 1 4 9 16. (1 балл)
- Вывести на экран ряд чисел Фибоначчи, состоящий из n элементов. Числа Фибоначчи – это элементы числовой последовательности: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …, в которой каждое последующее число равно сумме двух предыдущих. (2 балла)
- Найти сумму целых чисел от N до M. (1 балл)
- Даны натуральные числа от 20 до 50. Напечатать те из них, которые делятся на 3, но не делятся на 5. (3 балла)
- Найти произведение двузначных нечетных чисел кратных 13. (3 балла)
- Даны действительное число а и натуральное число n . Вычислить: a(a+1). (a+n-1). (2 балла)
- Составьте программу, выводящую на экран квадраты чисел от 10 до 20. (2 балла)
- Бизнесмен взял ссуду m тысяч рублей в банке под 20% годовых. Через сколько лет его долг превысит s тысяч рублей, если за это время он не будет отдавать долг? (3 балла)
По теме: методические разработки, презентации и конспекты
язык паскаль. Практикум по теме "Циклы" для 9 класса.
Конспект урока по информатике "Циклы в Паскале" предназначен для учащихся 9 класс.
В самостоятельной работе проверяются умения учащихся анализировать работу циклов, написание программы на языке программирования Паскаль с использованием циклов.
Тест состоит из 10 вопросов разного уровня сложности. Проверка осуществляется в конце теста и выводятся статистические данные по количеству правильныхи неправильных ответов. По результатам теста выста.
Контрольная работа содержит 4 варианта проверяет знания "базовая структура Цикл" и "запись циклов на языке Паскаль".
Конспект урока "Операторы цикла на Паскале. Цикл с предусловием".
Приветствуем читателей нашего сайта! Сегодня мы с вами решим 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 раз).
На сегодня все! Не забывайте кликать по кнопочкам и подписываться на обновления нашего сайта!