- •Содержание:
- •Упр. 41. Ввести строку с клавиатуры и заменить все буквы «а» на буквы «б». 67
- •Writeln('Введите строку'); 67
- •1. Что такое величина типа String? Как описать переменную-строку? 67
- •§1. Понятие алгоритма. Свойства, виды и формы представления алгоритмов
- •§ 2. Введение в язык программирования Pascal
- •Write(список выражений и/или переменных); Writeln(список выражений и/или переменных);
- •№4. Вывести на экран рисунок из букв § 3. Типы величин. Переменные. Присваивание.
- •§ 5. Арифметические операции
- •§ 4.Оператор ввода.
- •§ 6. Стандартные математические функции
- •§ 7. Логические выражения
- •§ 8. Решение задач по теме «Линейные программы. Логические величины.»
- •§ 9. Условный оператор
- •В общем случае полная форма условного оператора имеет вид:
- •Условный оператор работает по следующему алгоритму.
- •§ 10. Решение задач
- •§ 11. Вложенные условные операторы
- •§ 12. Цикл с предусловием
- •Представим всю информацию о цикле с предусловием в таблице:
- •§ 13. Решение задач по теме «Цикл с предусловием»
- •§ 14. Цикл с постусловием
- •§ 15. Решение задач по теме «Цикл с постусловием»
- •§ 16. Цикл с параметром (счетчиком)
- •Общая форма записи цикла со счетчиком (параметром)
- •§ 17. Решение задач по теме «Цикл со счетчиком»
- •§ 18. Линейные массивы: описание, ввод, вывод
- •§ 19. Заполнение массива случайными числами и его обработка
- •§ 20. Замены и перестановки в массиве.
- •§ 21. Поиск максимального элемента
- •§ 22. Сортировка линейного массива
- •Сортировка методом простого выбора (простой перебор)
- •Сортировка массива по возрастанию:
- •§ 23. Двумерные массивы (матрицы)
- •§ 24. Обработка двумерного массива (матрицы)
- •§ 25. Символьный тип данных
- •№57. Вводится код символа (любое число 0-255). На экран выводится символ с данным кодом. § 26. Строковый тип данных, операции и функции.
- •Упр. 41. Ввести строку с клавиатуры и заменить все буквы «а» на буквы «б».
- •Writeln('Введите строку');
- •Что такое величина типа String? Как описать переменную-строку?
- •§ 27. Процедуры для работы со строковыми величинами.
- •§ 28. Подпрограммы пользователя
§ 15. Решение задач по теме «Цикл с постусловием»
Упр 26.Население города увеличивается на 3% каждый год. В 1983 году население города составляло 65000. Напишите программу, которая выведет на экран предсказываемую численность населения города в каждом году вплоть до 1999г.
Упр. 27. Найдите все натуральные числа от 1 до 1000, кратные 3.
Упр. 28 Вывести на печать все трёхзначные натуральные числа, сумма цифр которых равна заданному числу N.
Домашние вопросы и задачи:
Какие из приведенных задач вы бы решили с помощью цикла с предусловием, а какие – циклом с постусловием и почему?
А) Программа должна вычислять произведение двух чисел и спрашивать завершать программу или нет, если нет то продолжать запрашивать данные вычислять произведение и печатать его.
Б) Составить программу запроса пароля пока пароль не будет введен верно.
В) До тех пор, пока папка не пуста, удалять по одному файлу из папки.
Задачи:
№38. Для x= 2700, 900, 300, 100 …. вычислять и печатать y=x/4+20 до тех пор, пока x не станет меньше 1.
№39 Вводятся пары целых чисел. Посчитать, сколько среди них пар, дающих в сумме число, кратное 13. Подсчет закончить после ввода пары нулей.
§ 16. Цикл с параметром (счетчиком)
Когда перед нами задача с известным заранее количеством повторений цикла, удобнее всего применять третий тип циклов – цикл со счетчиком (параметром).
Например, тренер поставил перед вами задачу пробежать ровно 10 кругов.
Циклы со счетчиком составляют такой класс, в которых выполнение исполнительной части должно повторяться заранее определенное число раз. Циклы со счетчиком используются довольно часто.
Общая форма записи цикла со счетчиком (параметром)
for P := A to B do for P := A downto B do
begin begin
. . . . . .
end; end;
Здесь переменная P - управляющая переменная (счетчик или параметр),
А - начальное значение управляющей переменной,
В - конечное значение управляющей переменной.
При переходе к обработке оператора цикла for управляющей переменной присваивается заданное начальное значение. Затем в цикле выполняется исполнительный оператор (или составной оператор). каждый раз при выполнении исполнительного оператора управляющая переменная увеличивается на 1 (для for...to) или уменьшается на 1 (для for...downto). Цикл завершается при достижении управляющей переменной своего конечного значения.
Представим всю информацию о цикле в таблице:
Цикл с параметром (счетчиком) (девиз цикла: «Делай столько, сколько сказано») |
|
|
Оператор цикла с параметром: Случай 1. FOR P:=A TO B DO <ОПЕРАТОР>; Случай 2. FOR P:=A DOWNTO B DO <ОПЕРАТОР>; |
где: P – параметр(счетчик) цикла - переменная порядкового типа (кроме вещественного), которая ведет подсчет числа выполнений действий, входящих в тело цикла; A – выражение, задающее начальное значение параметра цикла; B – выражение, задающее конечное значение параметра цикла. В первом случае шаг параметра (+1), во втором (-1). |
|
При использовании цикла for компьютер выполняет за программиста черновую работу по заданию начального и конечного значений управляющей переменной и по ее увеличению (уменьшению) при каждом повторении цикла. Ограничение заключается в том, что тип управляющей переменной не должен быть real. Переменная цикла не должна изменяться какими-либо операторами внутри цикла. К ней
можно обращаться и использовать в вычислениях, но нельзя присваивать новое значение. Таким образом, следующий цикл является некорректным:
for i := 1 to 10 do
begin . . . i := i-1; . . .
end;
Управляющая переменная должна описываться, как и любая другая переменная. Обычно переменная цикла имеет тип integer.
Внимание! Следует помнить, что управляющая переменная не может быть типа real.
Исполнительная часть цикла может быть либо простым, либо составным оператором. Если начальное значение цикла for ...to больше конечного значения, то никакие операции не выполнятся. Таким образом, следующий оператор не приведет ни к каким действиям for i:= 1 to 0 do writeln (i);
Однако цикл, представленный в такой форме, распечатает целые числа от единицы до десяти: for i := 1 to 10 do writeln (i);
Как можно догадаться, следующий цикл выполняет счет в обратном порядке for i:= 10 downto 1 do writeln (i);
Упражнение 29. Найти квадраты целых чисел от 1 до 10 и их сумму. |
|
|
Program Sum3; Var x,y,s:integer; Begin S:=0; {обнулить сумму} {для всех значений Х от 1 до 10, делать…} For x:=1 to 10 do {составной оператор - тело цикла} begin Y:=X*X; {найти Y - квадрат X} Writeln(X,Y); {вывести X и Y} S:=S+y; {добавить Y к сумме} end; {конец тела цикла} Writeln ( ‘Сумма квадратов=’ ,S ); End. |
Домашние вопросы и задачи:
Для решения каких задач можно применять цикл со счетчиком? Примеры.
Может ли счетчик цикла принимать следующий ряд значений:
А) 5, 6, 7, 8 Б) 5.1, 5.2, 5.3 В) 8, 7, 6, 5 Г) 5, 7, 9, 11 ?
3. Запишите оператор цикла с параметром и объясните его работу. Изобразите сказанное на блок-схеме.
4. Какие ограничения накладываются на действия со счетчиком цикла и на его тип ?
Задачи:
№ 40. Определить значение переменной S после выполнения фрагмента программы и составить блок-схему:
а) s:=0; For x:=5 to 11 do s:=s+1; |
б) s:=1; For x:=2 to 5 do s:=s*x; |
в) s:=0; For x:=7 downto 1 do s:=s+x; |
г) s:=1; For x:=6 to 1 do s:=s*2; |
д) s:=0; For x:=2 to 5 do Begin y:=x*2; s:=s+y; End; |
д) s:=0; For x:=12 downto 7 do If x mod 2 =0 then s:=s+x; |
№ 41. Каждая бактерия делится на две в течение одной минуты. В начальный момент имеется одна бактерия. Составьте программу, которая рассчитает количество бактерий на заданное Вами целое значение момента времени.
№ 42. Составить программу, в которой среди двухзначных чисел печатаются те числа, которые равны сумме своих цифр.
