Методические указания к лабораторной работе по курсу «Информатика» Основы алгоритмизации и программирования на языке Pascal
Вид материала | Методические указания |
СодержаниеЗадание «Оператора условия» 5.2 Решение задач «Оператор условия» Program primer_a Program primer_b 5.4 Операторы цикла в Pascal For : = downto Program primer1 Program primer2 |
- Методические указания к лабораторной работе по курсу «Информатика» для студентов всех, 254.72kb.
- Программа, методические указания и контрольные задания по курсу «основы программирования, 516.11kb.
- Тематическое планирование кружка на 2009/2010 уч г. «Основы алгоритмизации и программирования, 63.72kb.
- Составить программы на яп pascal: Треугольник задан координатами вершин. Найти периметр, 24.62kb.
- Методические указания к лабораторной работе по курсу «Механизация животноводческих, 506.22kb.
- Методические указания к лабораторной работе по курсу Компьютерный анализ электронных, 270.05kb.
- Курс "Основы алгоритмизации и программирования" 1 год обучения Язык программирования, 123.05kb.
- Основы алгоритмизации и программирования (11, 270.62kb.
- Методические указания к лабораторной работе по курсу «Механизация и автоматизация технологических, 316.57kb.
- «Основы алгоритмизации и объектно-ориентированного программирования на языке Gambas», 318.06kb.
Задание «Оператора условия»
Какое значение будет иметь переменная z после выполнения следующих операторов при заданных x и y.
В соответствующую графу значение z и нажать ОК. Если значение введено не верно, то на экране появится соответствующая запись. Одновременно указывается количество верных ответов.
5.2 Решение задач «Оператор условия»
- Заданы два целых числа, если первое число больше второго, то вывести на экран текст "Первое число больше", в противном случае "Второе число больше".
- Даны три a, b, c числа целого типа. Найти количество положительных чисел.
- Заданы три целых числа a, b, c. Найти максимальное из них.
- Даны два числа x, y целого типа. Вывести True если среднеарифметическое является ли целым числом, в противном случае вывести False.
- Заданы три стороны прямоугольника. Определить является ли он прямоугольным, если да, то найти его гипотенузу.
- Заданы радиус круга, сторона квадрата и две стороны прямоугольника (все переменные целого типа). Определить какая фигура имеет наибольшую площадь.
- Заданы переменные x, y целого типа. Вычислить a при
- Даны два числа k, e целого типа. Если числа не равны то заменить их на 7, в противном случае заменить нулем.
- Даны три целых числа a, b, c. Найти сумму отрицательных чисел..
- Заданы четыре переменные x, y, z, k целого типа. Вычислить a если
5.3 Циклы
Циклом называется повторение некоторого действия или действий несколько раз подряд.
В программировании циклом называется повторение несколько раз подряд оператора или группы операторов.
Циклический алгоритм относится к ветвящимся алгоритмам поскольку, для организации в нем цикла используется блок условия.
Циклы удобно использовать при работе последовательностью элементов, числовыми рядами.
Рассмотрим пример, создадим два алгоритма первый на основе изученного нами ранее материала, второй используя структуру цикла.
Пример 1.
Задана последовательность из четырех значений целого типа. Необходимо определить количество положительных элементов последовательности.
а) построение алгоритма без использования цикла
| Program primer_a; Var a : Integer; Begin x := 0; Read (a); If a>0 then x := x + 1; Read (a); If a>0 then x := x + 1; Read (a); If a>0 then x := x + 1; Read (a); If a>0 then x := x + 1; Write (x); End. |
б) построение алгоритма с использованием цикла
| Program primer_b; Var a : Integer; Begin x := 0; For i := 1 to 4 do begin Read (a); if a>0 then x := x + 1; end; Write (x); End. |
Обратите внимание, в первом алгоритме для каждого элемента последовательности мы вставляли группу из нескольких операторов, а теперь представьте, что наша последовательность состоит не из четырех элементов, а из десяти или двадцати, а может и больше. Поэтому гораздо проще и экономичнее использовать структуру цикла, как это показано во втором алгоритме.
5.4 Операторы цикла в Pascal
В языке Turbo Pascal имеются три различных оператора, с помощью которых можно запрограммировать повторяющиеся фрагменты программы.
Счетный оператор цикла или оператор цикла с параметром
Оператор цикла с параметром используется в программе в случае, когда заранее известно количество повторений в цикле.
Этот оператор имеет следующую структуру:
For <пар_цик> : = <нач_знач> to <кон_знач> do <оператор>;
Здесь: For, to, do - зарезервированные слова;
<пар_цик> - параметр цикла - переменная типа Integer (точнее любого порядкового типа);
<нач_знач> - начальное значение - выражение того же типа;
<кон_знач> - конечное значение - выражение того же типа;
<оператор> - произвольный оператор Turbo Pascal.
При выполнении оператора For вначале вычисляется начальное значение и осуществляется его присваивание параметру цикла. Затем производится проверка условия <пар_цик> <= <кон_знач>, если условие имеет значение ИСТИНА, то выполняется оператор следующий за словом do, в противном случае оператор For прекращает свою работу.
Отметим два обстоятельства. Во-первых, условие, управляющее работой оператора For, проверяется перед выполнением оператора <оператор>: если условие не выполняется в самом начале работы циклического оператора, исполняемый оператор не будет выполнен ни разу. Другое обстоятельство - шаг наращивания параметр строго постоянен и равен +1. Существует другая форма оператора:
For <пар_цик> : = <нач_знач> downto <кон_знач> do <оператор>;
Замена зарезервированного слова to на downto означает, что шаг наращивания параметра цикла равен -1.
В случае использования в цикле не одного, а нескольких операторов, то принято заключать эти группы операторов в логические скобки begin и end.
Пример 1.
Дана последовательность целых чисел, состоящая из 25 элементов. Вычислить сумму элементов последовательности.
| Program primer1; Var i, a, s : integer; Begin x := 0; For i := 1 to 25 do begin Read (a); x := x + a; end; Write ('Сумма элементов равна ', x); End. |
Пример 2.
Решим задание из примера 1 используя конструкцию оператора For, в которой шаг наращивания будет равен -1.
| Program primer2; Var i, a, s : integer; Begin x := 0; For i := 25 downto 1 do begin Read (a); x := x + a; end; Write ('Сумма элементов равна ', x); End. |