Методические указания к лабораторной работе по курсу «Информатика» Основы алгоритмизации и программирования на языке Pascal
Вид материала | Методические указания |
- Методические указания к лабораторной работе по курсу «Информатика» для студентов всех, 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.
5.5 Оператор цикла с предусловием
Оператор цикла с предусловием используется в программе в случае, когда заранее не известно количество элементов последовательности и соответственно количество повторений операторов.
Данный оператор имеет следующую структуру:
While <условие> do <оператор>;
Здесь While, do - зарезервированные слова (пока [выполняется условие], делать); <условие> - выражение логического типа; <оператор> - произвольный оператор Turbo Pascal.
Работает оператор следующим образом. Вначале вычисляется условие, если результат вычисления имеет значение ИСТИНА, то выполняется оператор в цикле, после чего вычисление выражения <условие> и его проверка повторяются. Если логическое выражение имеет значение ЛОЖЬ, оператор While прекращает свою работу.
Также как и в операторе цикла с параметром, в цикле с предусловием при использовании нескольких исполняемых операторов эта группа оператор заключается в логические скобки.
Пример 1.
Дана последовательность целых чисел за которой следует ноль. Вычислить сумму элементов последовательности.
| Program primer1; Var i, a, s : integer; Begin s := 0; Read (a); While a <> 0 do begin s := s + a; Read (a); end; Write ('Сумма элементов равна ', s); End. |
5.6 Оператор цикла с постусловием
Оператор цикла с постусловием используется в программе в случае, когда неизвестно количество повторений в цикле и оператор в цикле должен быть выполнен хотя бы один раз.
Оператор цикла с постусловием имеет следующую конструкцию:
Repeat <тело_цикла> Until <условие>;
Здесь: Repeat, Until - зарезервированные слова (повторять до тех пор, пока не будет выполнено условие); <тело_цикла> - произвольная последовательность операторов Turbo Pascal; <условие> - выражение логического типа.
Оператор Repeat ... Until работает следующим образом. В начале выполняется тело цикла, после чего вычисляется логическое выражение следующее за словом Until, если результатом вычисления выражения является ЛОЖЬ, то операторы в теле цикла будут выполнены повторно. в противном случае, если логическое выражение имеет значение ИСТИНА, оператор цикла с постусловием прекратит свою работу.
Пример 1.
Дана последовательность целых чисел, последним элементом которой является число 100. Вычислить среднее арифметическое элементов этой последовательности.
| Program primer1; Var i, a, s, x : integer; Begin s := 0; x := 0; Repeat Read (a); s := s + a; x := x + 1; Until a = 100; s := s / x; Write ('среднее арифметическое: ', s); End. |
Обратите внимание, что в данном случае мы не использовали логические скобки, в операторе цикла с постусловием их заменяет пара Repeat ... Until.
5.7 Решение задач «Операторы цикла»
Оператор цикла с параметром
- Задано 10 целых чисел. Найти сумму не четных.
- Задано 15 целых чисел. Найти максимальное число из последовательности.
- Из чисел от 0 до 99 вывести те, которые равны трем.
- Задана переменная x целого типа. Вывести факториал xi.
- Задано 20 целых чисел и число x. Найти разницу для каждого элемента и x.
Оператор цикла с условием
- Дана последовательность целых чисел, которая заканчивается нолем. Найти разницу между минимальным и максимальным элементами последовательности.
- Задана последовательность вещественных значений последнее значение отрицательное число. Определить сумму элементов последовательности, которые входят в промежуток от 10 до 100.
6 ТИП ДАННЫХ МАССИВ
Рассмотренные выше простые типы данных позволяют работать с одиночными объектами. В Turbo Pascal могут использоваться также объекты, содержащие множество однотипных элементов. Массив - это формальное объединение нескольких однотипных объектов, рассматриваемых как одно целое. К необходимости использования массива мы приходим всякий раз, когда требуется связать и неоднократно использовать в программе целый, ограниченный по количеству элементов, ряд родственных величин.
Как переменная массив описывается в программе следующим образом:
a : array [<тип индекса>] of <тип элементов>;
Здесь: a - имя переменной массива; array, of - зарезервированные слова (массив, из); <тип индекса> - любой упорядоченный тип, указывающий на кол-во элементов массива; <тип элементов> - тип данных элементов массива.
Зачастую для задания количества элементов массива используется тип-диапазон. Тип-диапазон задается левой и правой границами изменения индекса массива. Например:
Var
a : array [1..10] of Integer;
b : array [0..50] of Real;
c : array [-3..4] of Integer;
Из примера мы видим, что массив A состоит из 10 элементов, массив B - из 51 элемента, а массив C - из 8 элементов.
В программе ко всему массиву одновременно обратиться нельзя, возможно обращение только к элементу массива. Доступ к элементу массива осуществляется с помощью задания его индекса - целого числа, служащего своеобразным именем элемента в массиве. При упоминании в программе любого элемента массива сразу за именем массива должен следовать индекс элемента в квадратных скобках: a[1], b[0], c[-3].
В правильно составленной программе индекс не должен выходить за пределы, определенные типом диапазон. Так для тех же массивов A, B, C ошибочными будут обращения a[11], b[-1], c[5].
Для иллюстрации работы данного типа рассмотрим несколько примеров.
Пример 1.
Задана последовательность из 10 целых чисел. Вычислить отклонение от среднего арифметического для каждого элемента последовательности.
| Program p1; Var s, i : Integer; sr, a : Real; b : array [1..10] of Integer; Begin s := 0; For i := 1 to 10 do begin Read (b[ i ]); s := s + b[ i ]; end; sr := s / 10; For i := 1 to 10 do begin a := abs (sr - b[ i ]); Write (a : 5 : 1); end; End. |
Пример 2.
Задана последовательность из 10 целых чисел. Распечатать их в обратном порядке.
| Program p2; Var i : Integer; a : array [-3..6] of Integer; Begin For i := -3 to 6 do Read (a[ i ]); For i := 6 downto -3 do Write (a[ i ] : 4); End. |
Пример 3.
Задана последовательность из 10 целых чисел. Вывести номер тех, которые больше среднего арифметического.
| Program p3; Var s, i : Integer; sr : Real; c : array [1..10] of Integer; Begin s := 0; For i := 1 to 10 do begin Read (c[ i ]); s := s + c[ i ]; end; sr := s / 10; For i := 1 to 10 do If c[ i ] > sr then Write (i : 4); End. |
6.1 Решение задач «Массивы»
- Задано 10 целых чисел. Напечатать сначала все отрицательные, затем все остальные.
- Задано 10 целых чисел. Найти отклонение каждого из них от максимального.
- Дано 10 вещественных чисел. Определить количество элементов, которые меньше последнего.
- Задана последовательность из 10 целых чисел. Вывести на экран сначала четные, затем все остальные.
- Дано 15 целых чисел. Вывести только те, которые меньше среднего арифметического.
- Задана последовательность из 15 целых чисел. Заменить нулями те числа, которые превосходят минимальное больше чем на 100.
- Дана последовательность из 16 целых чисел. вывести на экран числа в следующем порядке:
a[1], a[16], a[2], a[15], a[3], a[14], a[4], a[13], a[5], a[12], a[6], а[11], a[7], a[10], a[8], a[9].
- Дана последовательность из 16 целых чисел. вывести на экран числа в следующем порядке:
a[8], a[7], a[6], a[5], a[4], a[3], a[2], a[1], a[9], a[10], a[11], а[12], a[13], a[14], a[15], a[16].
- Дано 10 вещественных чисел. Вывести сначала те, которые стоят на не четных местах, затем все остальные.
- Задана последовательность из 10 целых чисел. Для каждого элемента начиная со второго найти разницу с предыдущим элементом (ai - ai - 1)
Правила пользования электронным учебным пособием «Основы алгоритмизации и программирования»
Для установки учебного пособия необходимо распоковать SFX-архив.
Также, если это необходимо, установить bde и K-lite Codec Pack.
Доступ ко всем основным разделам и подразделам пособия осуществляется через главное меню программы. Подводя курсор мыши к соответствующему пункту, можно выбрать его двойным кликом. Кроме теоретической информации каждый раздел содержит практические задания по выбранной тематике. Например, в разделе «Правила записи выражений на языке Pascal» описаны основные положения по этому вопросу и имеется возможность выполнить задания на запись математических выражений и функций на языке Pascal. Для этого необходимо просто выбрать соответствующий пункт в меню «Задание «Запись арифметических выражений» или «Задание «запись функций». При выборе того или иного пункта, на экране появиться окно ввода выражений либо функций. Необходимо в соответствующую позицию ввести заданное выражение и нажать ОК. При этом фиксируется правильность выполнения задания и общее количество правильных ответов. Аналогично следует выполнять задания и по другим представленным тематикам.
Последний пункт меню программы содержит тест для определения уровня знаний по пройденному материалу. Для того чтобы в тестовой оболочке получить доступ к редактированию теста, просмотру результатов тестирования и удаления тестирования необходимо указать пароль, известный преподавателю.
Список использованных источников
- Милюков И.В. «Основы алгоритмизации и программирования», Электронное учебное пособие, Профессиональный лицей № 92, г. Челябинск, 2006 г.
- Мудров А.Е. Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль. – Томск: МП «РАСКО», 1991. – 272 с.
- Абрамов В.Г., Трифонов М.П., Трифонова Г.Н. Введение в язык Паскаль. – М.: Наука, 1988. – 320 с.
- Фигурнов В.Э. IBM PC для пользователя. Изд. 5-е, исправл. и доп. – Уфа, ПК «Дегтярев и сын», НПО «Информатика и компьютеры», 1993. –352 с.
- Епанешников А.М., Епанешников В.А. Программирование в среде Turbo Pascal 7.0. – М.: «ДИФЛОГ-МИФИ», 1993. – 288 с.
- Оузьер Дэн и др. Delphi 3. Освой самостоятельно. Пер. с англ. – М.: «Издательство БИНОМ», 1998 г. – 560 с.: ил.
- Фаненштих Клаус, Хаселир Райнер. Текстовый процессор Word 6.0 для Windows. – Изд. 2-е, исправл. и доп.: Практ. Пособ./ Пер. с нем. – М.: ЭКОМ., 1995. – 352 с.
Основы алгоритмизации и программирования на языке Pascal
Методические указания
Составители: Эмилия Дмитриевна Иванчина
Елена Николаевна Ивашкина
| | | | |
| | | | |