Содержание:
- Репетитор по информатике и программированию к вашим услугам!
- Анатомический взгляд на цикл while в Паскаль
- Правила выполнения цикла while в Паскаль
- Рассмотрим примеры того, как используется цикл while в Паскаль
- Остались вопросы, недопонимание? Звоните мне на сотовый телефон!
Репетитор по информатике и программированию к вашим услугам!
Меня зовут Александр Георгиевич. На протяжении последних 10 лет я профессионально занимаюсь репетиторством в области информатики, программирования, баз данных и математики.
Если у вас возникли сложности с пониманием того, как устроен цикл while в Паскаль, или вы вообще не понимаете смысл данной конструкции, то срочно звоните мне на мобильный телефон и записывайтесь на первый пробный урок. Данная тема является чрезвычайно важной как для школьников, выбравших сдачу ОГЭ или ЕГЭ по информатике, так и для студентов абсолютно любого технического вуза.
Я прекрасно понимаю, что вы чрезвычайно занятой человек, но несмотря на это, я настоятельно вам рекомендую потратить 2-3 минуты и познакомиться с отзывами клиентов, прошедших подготовку под моим чутким контролем. Все они добились поставленных целей за разумное время.
Паскаль с нуля [ч6]. Циклы. While, repeat-until, for.
Практически любая программа на языке программирования Pascal содержит циклическую конструкцию и зачастую тип этого цикла – цикл while-do. Записывайтесь на мои индивидуальные уроки уже сегодня, так как количество ученических ограниченно, и набор учеников скоро закончится.
Анатомический взгляд на цикл while в Паскаль
Если для выполнения задачи необходимо повторение определенного блока кода несколько раз подряд, применяют циклы. В языке Паскаль эту операцию помогают выполнить специальные операторы цикла.
Цикл while применяют, если число повторений неизвестно заранее. Цикл while в Паскаль является оператором цикла с предварительным условием, то есть заголовок цикла содержит в себе логическое условие, при истинности которого выполняются команды тела цикла. Логическое выражение заголовка цикла может быть и составным.
Схематично цикл while-do можно показать следующим образом:
является булевским выражением, то есть результатом его выполнения будут истинные или ложные значения (TRUE или FALSE);
— команды, которые выполняются в теле цикла при условии того, что вернуло истинное значение.
Правила выполнения цикла while в Паскаль
- Логическое выражение в заголовке цикла вычисляется до начала выполнения операторов тела цикла.
- Логическое условие заголовка цикла проверяется на истинность (TRUE или FALSE).
- Если логическое условие приобретает значение TRUE, то начинается выполнение инструкции или последовательности нескольких инструкций в теле цикла.
- Если логическое условие в заголовке цикла получает ложное значение (FALSE), то выполнение цикла считается законченным.
- Если логическое условие является ложным изначально, то внутренние инструкции цикла while не выполняются ни разу.
- Хотя бы одна из группы команд, входящих в тело цикла while-do, должна оказывать влияние на условие выполнения цикла, иначе такой цикл будет выполняться бесконечное число раз.
Рассмотрим примеры того, как используется цикл while в Паскаль
Условие задачи: программа автоматически генерирует случайное натуральное число в диапазоне от 1 до 25. Когда выпадет число 12, программа должна завершиться. В ответе указать, сколько раз было сгенерировано случайное число, прежде чем выпало значение равное 12. |
Программа на языке Pascal:
Условие задачи: Дан одномерный массив, состоящий из 10 элементов, целочисленного типа данных. Значения элементов массива заполнены случайным образом в диапазоне от 1 до 25. Пользователь вводит произвольное число с клавиатуры. Необходимо подсчитать число элементов, значения которых меньше, чем введенное пользователем. Причем подсчет заканчивается, когда встретился элемент, имеющий значение равное или большее, чем указал пользователь. |
Программа на языке Pascal:
Сейчас я предлагаю вашему вниманию мультимедийное решение, в котором продемонстрировано использование цикла с предусловием, то есть цикла while-do.
Остались вопросы, недопонимание? Звоните мне на сотовый телефон!
Если у вас остались какие-либо недопонимания относительно использования цикла while-do в языке программирования Pascal, то записывайтесь на мои частные уроки по информатике, программированию и математике. Номер телефона сможете увидеть в шапке сайта.
Если вы студент, и вам требуется реализовать несколько лабораторных, связанных с применением циклических конструкций, то обязательно обращайтесь ко мне за квалифицированной помощью. Совместно мы прорешаем абсолютно все ваши тематические упражнения, и вы успешно сдадите зачет, лабораторный практикум или экзамен по программированию.
В отличие от большинства репетиторов я осуществляю свои занятия на различных территориях:
Источник: www.videoege.ru
Пример программы на паскале с циклом while
«Программы без ошибок можно написать
двумя способами, но работает — третий»
Алан Джей Перлис
Оператор цикла с предусловием. Цикл While
Сегодня наш урок будет посвящен оператору While . Для начала коротко о том, для чего он нужен.
В переводе на русский он означает «пока» (пока условие истинно, выполнять какое-либо действие). Бывает, что перед программистом стоит задача выполнить какую-нибудь процедуру некоторое количество раз, заранее неизвестное. Критерием выполнения этой процедуры служит какое либо логическое условие. Допустим, процедура должна будет выполняться до тех пор, пока рак на горе не свистнет.
И вот каждый раз после ее выполнения цикл While будет проверять это условие, свистнул ли рак на горе или нет? Если нет, то процедура повторится еще раз, затем еще и еще, пока рак не свистнет. Я думаю, общий принцип вам понятен. Рассмотрим теперь структуру написания цикла While.
Такой оператор строится по следующей схеме:
где
while, do — зарезервированные слова (в переводе на русиш — пока, выполнять);
выражение — условие, управляющее повторениями, должно быть логического типа;
оператор — любые операторы языка Pascal
Принцип работы сей конструкции следующий:
1) Проверяется выражение. Если оно дает значение true , то выполняется оператор. В противном случае работа цикла прекращается;
2) После того, как оператор выполнился, опять переходим к пункту №1.
По традиции разберем простенькую задачку с циклом While : «Даны положительные числа А и В (А>B). На отрезке длины А размещено максимально возможное количество отрезков длины В (без наложений). Не используя операции умножения и деления, найти длину незанятой части отрезка А.»
Итак, чтобы понять какой код программы на языке Pascal вы должны написать, вам нужно подумать, как эта задача решается с точки зрения математики. Такие задачки решают в начальной школе. Представьте, что у нас есть большой отрезок (А), на котором размещены отрезки поменьше (В). Возьмите для примера отрезок А = 11 и отрезок В = 2 . Можете даже нарисовать их на черновичке, для большей наглядности. Как то так:
На отрезке А умещается 5 отрезков В . Как же нам найти оставшееся расстояние, помеченное вопросом? Я предлагаю отнимать от длины отрезка А длину отрезка В и сравнивать оставшуюся часть с длиной отрезка В (хватит ли этого остатка, чтобы еще раз разместить на нем отрезок В ). Если этого остатка будет мало, то значит это и есть длина незанятой части отрезка А .
Составляем программу. В начале программы объявим две переменные ( A,B ), тип этих переменных будет real , хотя вы можете использовать переменные целого типа ( integer ). Более подробно о типах переменных можешь прочитать здесь «Простые типы данных в Pascal». Далее сделаем ввод значений этих переменных с клавиатуры ( о том как это делать я рассказывал в третьем уроке «Операторы ввода в Pascal»).
program dlina; var A,B:real; begin writeln(‘Введите значение А’); readln(A); writeln(‘Введите значение В’); readln(B);
Далее используем цикл While . Условие для его выполнения будет таким: A>=B . Действие, которое будет выполняться в теле цикла — это вычитание из длины отрезка A длины отрезка B , результат вычитания будет присваиваться переменной A . После того, как цикл отработает, и нам станет известна незанятая часть, мы выведем ее значение на экран.
while A>=B do A:=A-B; write(‘Длина незанятого отрезка = ‘,A:2:2); end.
Соберем весь код в кучу:
program dlina; var A,B:real; begin writeln(‘Введите значение А’); readln(A); writeln(‘Введите значение В’); readln(B); while A>=B do A:=A-B; write(‘Длина незанятого отрезка = ‘,A:2:2); end.
Вот, собственно, и все, о чем я хотел вам рассказать на этом уроке. Если возникли какие-то вопросы, не стесняйтесь задавать их, контакты для связи со мной находятся здесь. Если вопросов нет — жду вас на следующих занятиях.
Источник: program4you.ru
Циклы с условиями в Паскаль
Циклы с условием используются в тех случаях, когда число повторений цикла неизвестно к началу его выполнения. В языке Паскаль эти конструкции реализуются с помощью операторов while и repeat .
Цикл с предусловием. Оператор while
Оператор цикла while применяется в тех случаях, когда число повторений цикла заранее неизвестно и, действия, описанные в цикле, могут вообще не выполняться.
Оператор цикла while в Паскаль имеет следующий формат записи:
- while выражение do
- оператор;
Рассмотрим работу оператора цикла while .
- Вычисляется значение выражения (т. е. условие, стоящее после ключевого слова while ), которое должно быть логическим выражением.
- Если результат вычисления выражения равен true (истина), то выполняется тело цикла (простой или составной оператор, расположенный после ключевого слова do ). Затем, снова проверяется условие и т. д.
- Если результат равен false (ложь), то происходит выход из цикла и управление передается на первый оператор, следующий за циклом.
Задача. На вход программе поступает натуральное число. Определите количество разрядов в числе.
Решение. Будем на каждой итерации уменьшать число в 10 раз до тех пор, пока оно не станет равно 0. Количество итераций, в таком случае, будет равно числу разрядов в числе.
- readln(num);
- while (num <> 0) do
- begin
- Inc(k);
- num := num div 10;
- end;
- writeln(k);
Цикл с постусловием. Оператор repeat
В языке программирования Паскаль есть еще один оператор цикла с условием, аналогичный по своему действию оператору while . Это оператор repeat , который имеет следующий формат записи:
- repeat
- тело цикла
- until выражение
Работа оператора цикла repeat происходит следующим образом:
- Выполняется последовательность операторов, заключенная между ключевыми словами repeat и until (поэтому тело цикла выполнится хотя бы один раз).
- Производится проверка продолжения цикла: если значение выражения, записанного после ключевого слова until , равно false (ложь), то тело цикла выполняется снова.
- Если значение выражения равно true (истина), то происходит выход из цикла.
Задача. На вход программе поступает последовательность целых чисел, заканчивающихся нулем. Найдите сумму чисел последовательности. Гарантируется, что в последовательности есть хотя бы одно число отличное от нуля.
Решение. Так как гарантируется наличие хотя бы одного числа отличного от нуля, то можно воспользоваться оператором цикла repeat (тело цикла обязательно выполнится хотя бы один раз)
- s := 0;
- repeat
- readln (num);
- s += num;
- until num = 0;
- writeln(s);
Внимание: при программировании операторов тела цикла с условием необходимо предусмотреть влияние хотя бы одного из них на значение выражения, в противном случае цикл может выполняться бесконечно.
Источник: informatics-lesson.ru