Fruitsekta.ru

Мир ПК
5 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Репит антил паскаль

Паскаль — Урок 6: Циклы while, for, repeat

Вчера мы узнали о понятии циклы в паскале в общих чертах, сегодня узнаем о каждом из циклов в паскале поподробней и увидим как они задаются. Будем разбирать цикл while с предусловием, цикл for с параметром и цикл repeat — until с постусловием.

1. Цикл с параметром в Паскале — FOR

Цикл FOR задаёт определённое условие по которому программа будет работать до его выполнения, допустим нужно нам 5 (или n) раз зациклить программу, то это легко сделать с помощью данного цикла. У цикла FOR есть характерная черта — счетчик который обычно обозначается буквой i или j.

Внешний вид цикла с параметром в паскале:

После 1-го прохода переменной i присваиваем 1, после второго присваиваем 2 и так до тех пор, пока не дойдем до n. to — это до .. в порядке возрастания, также есть downto — до .. в порядке убывания.

Блок — схема цикла с параметром:

2. Цикл с предусловием в Паскале — WHILE

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

Структура цикла с предусловием:

— логическое выражение, истинность которого проверяется вначале выполнения циклического оператора;

— любые выполняемые операторы языка.

Порядок выполнения цикла:

Пока условие истинно выполняется тело цикла. Как только условие становится ложно выполнение цикла прекращается.

Блок — схема цикла с предусловием:

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

Задача: вычислить сумму ряда 1+1.5+2+2.5+3+3.5+ .. + 30

3. Цикл с постусловием — Repeat — until.

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

Обратите внимание на то, что данный оператор цикла предполагает наличие нескольких операторов в теле цикла, то есть можно выполнять несколько действий, поэтому служебные слова Begin и End не нужны.

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

Блок — схема цикла с постусловием:

Формат записи, структура цикла:

Выводы:

1.Цикл с параметром используется переменная, называемая параметром цикла или счётчиком. Перед выполнением цикла параметру (счётчику) устанавливается начальное значение. После выполнения шага цикла значение параметра увеличивается на единицу. Цикл продолжается до тех пор пока параметр не достигнет своего конечного значения, которое указывается после to (downto).

2. Цикл с предусловием выполняется до тех пор, пока условие выполнения не станет ложным, и продолжается, если условие истинно.

Читать еще:  Отсортировать массив по возрастанию паскаль

3. Цикл с постусловием выполняется до тех пор, пока условие не станет истинно, если условие ложно, цикл продолжается.

#12.1 Цикл Repeat/Until «с постусловием» в Паскаль

Primary tabs

Forums:

Цикл Repeat/until

Цикл Repeat/until характеризуется следующими моментами:

  • Работает пока условие ложно.
  • Сначала выполняется виток цикла и лишь потом проверяется требуется ли завершать цикла или же нужен следующий повтор.
  • Такой цикл всегда выполнится хотя бы один раз (это связано с тем, что условие проверяется после выполнения тела цикла).
  • Операторные скобки вокруг тела цикла repeat-until не нужны не нужны — так как их заменяют сами два слова repeat и until («повторяй» и «пока не»)

Пример: выведем на экран все целые числа от $1$ до $n$ (числа введённого пользователем):

— по сути это пример замены for на repeat-util, для ситуации перебора ряда чисел.

Repeat/until и другие циклы в Паскаль — связь между ними

Ранее мы уже изучили циклы:

  1. for — «с известным числом повторений», который не проверяет логических условий.
  2. и while (т.н. цикл «с предусловием») — цикл похожий на Repeat/until — также проверяющий логическое выражение, но while от repeat отличается по следующим пунктам:
    1. По условию выхода из цикла:
      • while работает пока его логическое условие истинно,
      • repeat-until наоборот пока ложно.
    2. По порядку проверки условия:
      • while сначала проверяет условие (если истинно — то продолжает работу), а потом делает очередной (в том числе первый) свой виток.
      • repeat-until сначала делает виток, а потом проверяет условие (если ложно — то продолжает работу).

Теоретические вопросы

  1. Что такое виток цикла?
  2. Чем отличается цикл repeat/until от циклов for и while? Похож ли он в чем-то на них?

Задачи для самостоятельного решения

Примечание: в задачах данного урока, в качестве конструкции для организации цикла (если требуется) используйте repeat-until, если в задаче явно не сказано использовать какую-то другую конструкцию.

  1. Выведите на экран, все числа от $55$ до $9236$.
  2. Пользователь вводит целое число, если оно больше единицы, то выведите на экран все целые числа от этого числа до единицы (в обратном порядке), которые делятся на $23$ без остатка. Иначе (если введённое пользователем число не больше единицы) сообщите об ошибке.
  3. Пользователь вводит в консоль символы (после каждого нажимая Enter), в ответ выводите символ ‘&’, до тех пор пока пользователь не введёт ‘#’, после чего завершите программу.
  4. Решите с помощью цикла repeat/until:
    Выведите на экран, все четные числа, делящиеся на $3$ и на $6$ нацело , лежащие в диапазоне от 35 до 117.
  5. Решите с помощью цикла repeat/until:
    Выведите на экран, все четные числа от 35 до 117 и нечетные числа, делящиеся на $7$ и $3$ нацело и при этом лежащие в диапазоне от 45 до 99.
    Указание: сначала можно решить задачу двумя циклами, но потом перепишите с использованием одного цикла, в теле которого составьте логическое выражение, описывающее подходящие числа (используйте логические операции).

Задача на репит антил

привет всем помогите решить задачу
дано число n(кол-вл чисел не известно) найти
сколько в этом числе цифр A(вводится с клавы)
и является ли цифра A первым числом и цифра B (вводится с клавы) последним

Читать еще:  Сумма матриц паскаль

Добавлено через 59 секунд
program cikl_3;
uses crt;
var cifra,n,a,b,ai,bi:integer;
begin
writeln(‘введите число’);
readln(n);
writeln(‘введите числа для проверки’);
readln(a,b);
repeat
begin
ai:=0;
bi:=0;
cifra:=n mod 10;
if a=cifra then ai:=ai+1;
n:=n div 10;
end;
until n>0;
if b=cifra then bi:=bi+1;
writeln(ai,cifra,bi);
readln;
end.

вот сама прога но она не работает(((

07.10.2011, 18:42

Репит сигнала с защитой
Всем привет! В данный момент живу в Германии. В студобщаге. Тут имеется интернет везде (eduroam).

функция вайл и репит
вычислить значение функции z = a * sqrt(a) * tg(x) + a для x от 1 до 30. с помощью циклов while.

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

Вычислить с операторами :вайл, репит и фор
Помогите решить программу пожалуйста НАДО ВЫЧИСЛИТЬ с помощью операторов :вайл, репит и фор .

07.10.2011, 19:162

Решение

Pascal
07.10.2011, 19:18 [ТС]3
07.10.2011, 19:18
07.10.2011, 19:18

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

При запуске WINDOWS репит звук в ноутбуке
при запуске WINDOWS репит звук в ноутбуке. Вчем может быть проблема.

Олимпиадная задача по программированию. PascalABC.NET. Задача L. Переключение между окнами
Когда пользователь работает в операционной системе Winux, у него часто запущено несколько.

Васильев C# Глава 8 задача 2 (Просьба объяснить формулировку(задача внутри)
Текст задачи Написать программу , в которой есть класс с полем, являющимся ссылкой на одномерный.

Васильев C# Глава 7 задача 8 (Просьба объяснить формулировку(задача внутри)
Текст задачи Напишите программу с классом, у которого есть текстовое поле. Значение текстовому.

Урок 12. Циклы в Pascal: repeat, while, for

Здравствуйте, дорогие читатели! Вот мы с вами и подошли к изучению циклов. Циклы в Паскаль. Что это такое? Как этим пользоваться? Для чего они нужны? Именно на эти вопросы я сегодня и отвечу.
Если вы читали этот урок, то знаете, что существует три вида алгоритмов: линейный, разветвляющийся и циклический. Мы с вами уже знаем, как реализовывать линейные и разветвляющиеся алгоритмы на Паскале. Приступим к изучению последнего типа алгоритмов.
В языке Pascal, как и в большинстве языков программирования, существует три типа циклических конструкций.

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

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

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

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

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

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

while do ;

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

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

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

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

repeat < повторяй … >
;
;

until

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

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

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

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

Первая форма

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

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

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

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

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

Вторая форма

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

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

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

  1. Цикл повторяется, пока значение значение счетчика лежит в отрезке [значение ; конечное_значение].
  2. Изменять значение счетчика внутри тела нельзя! Вот что выводит компилятор:

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

Давайте решим пару задач.

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

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

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

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

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

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

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

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

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

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

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

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

Ссылка на основную публикацию
Adblock
detector