Задачи с решением в паскале на циклы – Задачи на циклы

Задачи цикл WHILE — Pascal.Циклы

Задача №1
Найти сумму и количество элементов последовательности, которые по модулю больше 0.001. Последовательность: S = 1/2 — 2/4 + 3/8 — 4/16 + … — …

1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.Сохраните под именем summa1.pas
2.Присваиваем переменной sum значение ноль, переменной a=1 и b=2, так как первый элемент 1/2.
знак будет меняться через один элемент и только потом каждая из пере

менных будет увеличиваться.


3.Алгоритм решения задачи: 

                           
                      while a/b > 0.001 do

 

Задача №2

Вывести все квадраты натуральных чисел, не превосходящие данного числа N.
Пример: N=50 | 1 4 9 16 25 36 49

1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ и сохраните под именем kvadrat.pas

2.Алгоритм решения задачи: 

  1. Ввести число N.
  2. Присвоить x единицу.
  3. Пока sqr(x) < n
  4. Увеличить значение x на единицу.

Задача №3
Определить и вывести на экран цифры целого числа n.

Например: 

453 mod 10 = 3, 

«1 — я цифра справа равна 3». 

45 mod 10 = 5, 

2 — я цифра справа равна 5, 

3 — й раз; 

mod 10 = 4, 

3 — я цифра справа равна 4, 

div 10 = 0.

1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.Сохраните под именем zifru.pas
2.Переменная n для целого числа, p — для цифр числа, i — счетчик цифр. 

В разделе операторов
С помощью оператора write выводится на экран запрос для пользователя о вводе целого числа. Оператор readln заносит его значение в память и присваивает переменной n. 

Счетчику i устанавливается первоначальное значение 1. 

В операторе while записывается условие (пока n не равно 0), при котором цикл будет выполняться. 

Так как в цикле несколько операторов, то используются операторные скобки 
begin … end. 

В них записаны операторы: 
p := n mod 10; — определяется последняя цифра; 

www.sites.google.com

Задачи цикл FOR — Pascal.Циклы

Задача №1
Высчитать факториал числа n.

1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.Сохраните под именем factorial.pas
2. Факториал- произведение натуральных чисел от 1 до n включительно.

Например, факториал числа 7 выглядит так:
1 * 2 * 3 * 4 * 5 * 6 * 7

3.

Для натуральных чисел больше 12-ти в языке программирования Паскаль просто так факториал вычислить нельзя.

4.Алгоритм решения задачи: 

Переменной factorial сначала присваивается значение 1.
0! = 1 и 1! = 1.

Если вы ввели число больше единицы, то выполняется цикл, в теле которого на каждой итерации значение переменной factorial умножается на следующее натуральное число (переменную i).             

                                                         for i:=2 to n do


Задача №2
Найти сумму n-го количества элементов ряда 1, -0.5, 0.25, -0.125, …

1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.
Сохраните под именем summa.pas

2. Сумма ряда,как вы заметили уменьшается на -1/2.

3.Алгоритм решения задачи: 

Переменной а сначала присваивается значение 1.

Переменной sum (сумма) присваиваем значение ноль.

                   for i:=1 to n do4.После записи цикла, мы в перемееную sum вносим переменную a, и потом переменную a будем делить на -1/2
и опять вносить в sum.

Задача №3
Составить программу, позволяющую напечатать квадраты натуральных чисел от 1 до n.

1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.Сохраните под именем kvadrat.pas
2. Квадрат числа- возведение натуральных чисел от 1 до n включительно во 2-ю степень.

Например, квадрат числа 7 выглядит так:
7^2=49

3. Алгоритм решения задачи: 

Переменной k сначала присваивается значение 1.
i это число, которое будет возводиться в квадрат, а s это квадрат числа.

                                                       for i := 1 to n do

Задача №4
Составить программу, позволяющую напечатать кубы натуральных чисел от 1 до n.

1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.Сохраните под именем kub.pas
2. Куб числа- возведение натуральных чисел от 1 до n включительно во 3-ю степень.

Например, куб числа 5 выглядит так:
5^3=125

3.Переменные i и j нужны в качестве переменных первого — внешнего и второго — внутреннего циклов. Переменная k для нечетных чисел (k:=1), а s для суммы чисел. 

Тип этих переменных целый, но longint, так как могут быть достаточно большие целые числа, большие 32767.

4. Алгоритм решения задачи: 

                                                       for i := 1 to n do

                                                       …

www.sites.google.com

Задачи цикл REPEAT — Pascal.Циклы

Задача №1
Даны натуральные числа X и Y. Найти количество нечетных чисел, меньших X+Y.
1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.Сохраните под именем kolichestvo.pas
2.Вводим переменные x и y.
3.Переменная k -количество равно нулю и i равно единице.                           
          repeat
          k:=k+1;
          i:=i+2;
       until i>=(x+y); 
Задача №2
Билет называют "счасливым", если в его номер сумма первых трёх цифр равна сумме последних трёх. Подсчитать число
 тех "счастливых" билетов, у которых сумма трёх цифр равна 13. 1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.Сохраните под именем schactliv.pas
2.Вводим число.
3.Переменная k -количество равно единице.                           
repeat i:=i+1; if(i div 100)+(i div 10 mod 10)+(i mod 10)=13 then k:=k+1; until i>999;
Задача №3
Найти наименьшее натуральное число, дающее при делении на 2, 3, 4, 5, 6 соответственно остатки 1, 2, 3, 4, 5.
1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.Сохраните под именем ostatki.pas
2. Алгоритм решения:
Берется наименьшее натуральное число - единица и находятся остатки от деления его на 2, 3, 4, 5 и 6; если остатки будут равны 1, 2, 3, 4 и 5, тогда это число является искомым, его надо выдать на экран и закончить программу, в противном случае, надо брать следующее натуральное число - 2 и проверять его, и так далее.

Задача №4
Найти наименьшее натуральное число, дающее при делении на 2, 3, 4, 5, 6 соответственно остатки 1, 2, 3, 4, 5.
1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.Сохраните под именем ostatki.pas
2. Алгоритм решения:
Берется наименьшее натуральное число - единица и находятся остатки от деления его на 2, 3, 4, 5 и 6; если остатки будут равны 1, 2, 3, 4 и 5, тогда это число является искомым, его надо выдать на экран и закончить программу, в противном случае, надо брать следующее натуральное число - 2 и проверять его, и так далее.

Задача №5
Составьте программу, которая будет находить числа - палиндромы из заданного промежутка.

www.sites.google.com

Циклы в Паскале

При решении задач может возникнуть необходимость повторить одни и те же действия несколько или множество раз. В программировании блоки кода, которые требуется повторять не единожды, оборачиваются в специальные конструкции – циклы. У циклов выделяют заголовок и тело. Заголовок определяет, до каких пор или сколько раз тело цикла будет выполняться. Тело содержит выражения, которые выполняются, если в заголовке цикла выражение вернуло логическую истину (True, не ноль). После того как достигнута последняя инструкция тела, поток выполнения снова возвращается к заголовку цикла. Снова проверяется условие выполнения цикла. В зависимости от результата тело цикла либо повторяется, либо поток выполнения переходит к следующему выражению после всего цикла.

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

Цикл for

Часто цикл for называют циклом со счетчиком. Этот цикл используется, когда число повторений не связано с тем, что происходит в теле цикла. Т.е. количество повторений может быть вычислено заранее (хотя оно не вычисляется).

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

Цикл for существует в двух формах:

for счетчик:=значение to конечное_значение do 
     тело_цикла;
for счетчик:=значение downto конечное_значение do 
     тело_цикла;

Счетчик – это переменная любого из перечисляемых типов (целого, булевого, символьного, диапазонного, перечисления). Начальные и конечные значения могут быть представлены не только значениями, но и выражениями, возвращающими совместимые с типом счетчика типы данных. Если между начальным и конечным выражением указано служебное слово to, то на каждом шаге цикла значение параметра будет увеличиваться на единицу. Если же указано downto, то значение параметра будет уменьшаться на единицу.

Количество итераций цикла for известно именно до его выполнения, но не до выполнения всей программы. Так в примере ниже, количество выполнений цикла определяется пользователем. Значение присваивается переменной, а затем используется в заголовке цикла. Но когда оно используется, циклу уже точно известно, сколько раз надо выполниться.

var
    i, n: integer;
 
begin
    write ('Количество знаков: ');
    readln (n);
 
    for i := 1 to n do
        write ('(*) ');
 
readln
end.

Цикл while

Цикл while является циклом с предусловием. В заголовке цикла находится логическое выражение. Если оно возвращает true, то тело цикла выполняется, если false – то нет.

Когда тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение вернет true. Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала ситуация false. Иначе произойдет так называемое зацикливание, одна из самых неприятных ошибок в программировании.

var
    i, n: integer;
 
begin
    write ('Количество знаков: ');
    readln (n);
 
    i := 1;
    while i <= n do begin
        write ('(*) ');
        i := i + 1
    end;
 
readln
end.

Цикл repeat

Цикл while может не выполниться ни разу, если логическое выражение в заголовке сразу вернуло false. Однако такая ситуация не всегда может быть приемлемой. Бывает, что тело цикла должно выполниться хотя бы один раз, не зависимо оттого, что вернет логическое выражение. В таком случае используется цикл repeat – цикл с постусловием.

В цикле repeat логическое выражение стоит после тела цикла. Причем, в отличие от цикла while, здесь всё наоборот: в случае true происходит выход из цикла, в случае false – его повторение.

var
    i, n: integer;
 
begin
    write ('Количество знаков: ');
    readln (n);
 
    i := 1;
    repeat
        write ('(*) ');
        i := i + 1
    until i > n;
 
readln
end.

В примере, даже если n будет равно 0, одна звездочка все равно будет напечатана.

pas1.ru

Циклы на языке Паскаль

Главная | Информатика и информационно-коммуникационные технологии | Планирование уроков и материалы к урокам | 9 классы | Планирование уроков на учебный год | Циклы на языке Паскаль





Содержание урока

Этапы решения расчетной задачи на компьютере

Программирование цикла на Паскале

Дополнительный материал к главе II (§§ 8 — 21). Программа перевода двоичного числа в десятичную систему счисления

Дополнительный материал к главе II (§§ 8 — 21). Программа перевода десятичного числа в двоичную систему счисления

Компьютерный практикум ЦОР. Программирование циклов (Задание 1 — 7)

Компьютерный практикум ЦОР. Программирование циклов (Задание 8 — 14)

Компьютерный практикум ЦОР. Программирование циклов (Задание 15 — 20)


Этапы решения расчетной задачи на компьютере

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

Этапы решения расчетной задачи на компьютере

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

Работа по решению таких задач с использованием компьютера проходит через следующие этапы:

1. Постановка задачи.
2. Математическая формализация.
3. Построение алгоритма.
4. Составление программы на языке программирования.
5. Отладка и тестирование программы.

6. Проведение расчетов и анализ полученных результатов.

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

В чистом виде программированием, т. е. разработкой алгоритма и программы, здесь являются лишь 3-й, 4-й и 5-й этапы.

На этапе постановки задачи должно быть четко определено, что дано и что требуется найти.

Второй этап — математическая формализация. Здесь задача переводится на язык математических формул, уравнений, отношений. Далеко не всегда эти формулы очевидны. Нередко их приходится выводить самому или отыскивать в специальной литературе. Если решение задачи требует математического описания какого-то реального объекта, явления или процесса, то формализация равносильна получению соответствующей математической модели.

Третий этап — построение алгоритма. Вы знаете два способа описания алгоритмов: блок-схемы и АЯ.

Первые три этапа — это работа без компьютера. Дальше следует собственно программирование на определенном языке в определенной системе программирования. Последний (шестой) этап — это использование уже разработанной программы в практических целях.

xn—-7sbbfb7a7aej.xn--p1ai

Добавить комментарий

Ваш адрес email не будет опубликован.