Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Программирование разветвляющихся процессов↑ ⇐ ПредыдущаяСтр 13 из 13 Содержание книги
Поиск на нашем сайте
Разветвляющимися процессами называются такие вычислительные процессы, в которых имеет место разветвление выполняемой последовательности действий в зависимости от результата проверки какого-либо условия. Условный оператор имеет следующие формы записи: 1. if логическое выражение then оператор1 else оператор 2; 2. if логическое выражение then begin группа операторов 1 end begin группа операторов 2 end; 3. if логическое выражение then оператор; 4. if логическое выражение then begin группа операторов end. Если логическое выражение истинно, тогда выполняется оператор 1 или группа операторов 1, иначе выполняется оператор 2, или группа операторов 2, или оператор if пропускается и выполняется следующий за ним оператор. Пример. Составить программу вычисления следующей функции Программа var A, X, Y: real; Описание вещественных переменных begin Начало программы writeln ('Введите А, Х'); Вывод на экран фразы “Введите А,Х” readl (А, X); Ввод значений переменных if X>=A then Y:= А + SQRT (X - А) Вычисление Y по первой формуле else Y:= LN (ABS (X+A)) +SIN(X)* SIN(X); Вычисление Y по второй формуле writeln ('Y= ‘Y:1Q:2, ' X= ', X:5:2); ВыводY,X end. Конец программы Программирование разветвляющихся и циклических вычислительных процессов. Вычислительные процессы, в которых часть вычислений повторяется многократно, называются циклическими процессами. Виды операторов цикла. 1. Оператор цикла с предварительным условием. 2. Оператор цикла с последующим условием. 3. Оператор цикла с параметром. Оператор цикла с предварительным условием используется в тех случаях, когда заранее неизвестно число повторений цикла. Форма записи оператора цикла с предусловием: while логическое выражение do begin операторы циклической части программы (тело цикла) end; Если в циклической части оператора стоит всего один оператор, то операторные скобки begin и end можно не указывать. Оператор цикла с предварительным условием действует следующим образом. Предварительно проверяется логическое выражение. Если оно истинно, то выполняются операторы циклической части программы. Если логическое выражение ложно, то происходит выход из цикла. Если с самого начала значение логического выражения не является истиной, то операторы циклической части не выполняются ни разу. Логическое выражение должно меняться в теле цикла, иначе цикл будет бесконечным и через некоторое время компьютер зависнет. Пример. Вычислить значения функции Y при изменении X от С до D с шагом Н. Программа var X, A. Y, C, D, H: real; begin writeln (‘Введите С, D, H, A’); readln (C, D, H, A); x:= C; while x <= D do begin if x > A then y:= x*cos(A*x) else y:=sin(x) + A*a; writeln (‘y= ‘,y:10:2, ‘ x= ‘,x:10:2); x:= x + H end; end. Оператор цикла с последующим условием имеет следующую форму записи: repeat тело цикла (выполняемые операторы) until логическое выражение. Данный оператор организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы один раз. Выход из цикла осуществляется при истинном значении некоторого логического выражения. Истинность логического выражения проверяется в конце каждой итерации. Пример. Вычислить значения функции Y при изменении X от С до D с шагом Н. Программа var X, A. Y, C, D, H: real; begin writeln (‘Введите С, D, H, A’); readln (C,D,H,A); x:= C; repeat if x > A then y:= x*cos(A*x) else y:= sin(x) + A*a; writeln (‘y= ‘,y:10:2, ‘ x= ‘,x:10:2); x:=x + H until x<=D end. Оператор цикла с параметром организует выполнение одного оператора заранее известное число раз. Существует два варианта оператора цикла с параметром. 1. for i:= a1 to a2 do begin тело цикла end; 2. fo r i:= a1 downto a2 do begin тело цикла end, где: i - параметр цикла, являющийся переменной порядкового типа; а1 - выражение, определяющее начальное значение параметра цикла; а2 - выражение, определяющее конечное значение параметра цикла. Цикл действует следующим образом. Вначале вычисляются и запоминаются начальное и конечное значения параметра цикла. Далее параметру i цикла присваивается начальное значение. Затем значение параметра i цикла сравнивается со значением а2. Пока параметр цикла остается меньше или равен конечному значению а2 (в первом варианте) и больше или равен конечному значению а2 (во втором варианте) выполняется в очередной раз операторы из тела цикла. В противном случае происходит выход из цикла. После выхода из цикла параметр цикла становится неопределенным. Пример. Вычислить значения функции Y при изменении X от С до D с шагом 1. Программа. var X, A. Y, C, D: real; begin writeln (‘Введите С, D, H, A’); readln (C,D,H,A); for i:=C to D do begin if x > A then y:= x*cos(A*x) else y:=sin(x) + A*a; writeln (‘y= ‘,y:10:2, ‘ x= ‘,x:10:2); x:=x + H; end; readln end. Лабораторная работа 10 (2 часа) Borland Pasсal. Одномерные массивы Массив - это множество однотипных элементов. При описании массива необходимо указать общее число входящих в массив элементов и тип этих элементов. Например: var А: array [1..10] of real; В: array [1..5] of integer; Из описания массивов следует, что одномерный массив А состоит из 10 вещественных чисел, а одномерный массив В состоит из 5 элементов целого типа. При работе с массивами выполняются циклические действия. Пример. В массиве Р(20) найти количество положительных элементов и сформировать новый массив Р1, каждый элемент которого получается делением соответствующего элемента массива Р на найденное количество. Программа. var Р, Р1: array [1..20] оf real; begin writeln (‘Введите Р(20)’); for i:=1 to 20 do read P[i]; readln; K:= 0; for i:=1 to 20 do if P[i] > 0 then k:=k+1; for i:=1 to 20 do P1[i]:= P[i]/k; writeln (‘Исходный массив Р’); for i:=1 to 20 do write (P[i]:6:2); writeln; writeln (‘Количество положительных элементов = ’,k); writeln (‘Новый массив Р1’); for i:=1 to 20 do write (p1[i]:6:2); writeln; readln end. Двумерные массивы При описании двумерных массивов (матриц) необходимо указать границы изменения двух индексов и тип элементов матрицы. Например: var А: array [1..3, 1..5] of real; В: array [1..2,1..2] of integer; В данном примере матрица А состоит из трех строк и пяти столбцов. Все элементы матрицы А являются вещественными числами. Матрица В состоит из двух строк и двух столбцов. Все элементы матрицы В являются целыми числами. Пример. Составить программу, которая в матрице А(4,5) определит сумму элементов каждой строки, выберет среди этих сумм наибольшую и выведет на экран дисплея матрицу А, суммы строк, наибольшую сумму и номер строки с наибольшей суммой.
Программа. var А: array [1..4,1..5] of real; C, N, I, J: integer; max: real; begin writeln (‘Введите матрицу А(4,5)’); for i:=1 to 4 do for j:=1 to 5 do begin writeln (‘A(‘,i,’,’,j,’)=’); readln (a[i,j]) end; for i:=1 to 4 do begin C:= 0; for j:=1 to 5 do C:= C + A[i,j]; writeln ('Строка № ',i:10, 'сумма элементов = ', C:10:2); if i=1 then begin max:= C; n:= i end; if c > max then begin max:= C; n:= I end end; writeln (‘Матрица А’); for i:=1 to 4 do begin for j:=1 to 5 do write (A[i,j]:8:3); writeln end; writeln (‘Максимальная сумма: ’,S:8:3); writeln (‘Номер строки: ‘,N:3) end. Литература 1. Глушаков С. В. Персональный компьютер: Учеб. курс / С. В. Глушаков, И. В. Мельников. – Харьков; Ростов-на-Дону: Фолио: Феникс, 2000. – 520 с. 2. Информатика: Базовый курс, 2-е издание / Под ред. С. В. Симоновича.: Питер, 2007. – 640 с. 3. Кукарникова Т. Э. Информатика: Учеб. пособие. – Воронеж: Изд-во Воронеж. гос. ун-та, 2000. – 317 с. 4. Степаненко О. С. Персональный компьютер: Учеб. курс – 2-е изд. пересмотр. и доп. – М. и др.: Диалектика, 2001. – 383 с. 5. Левин А. Самоучитель Левина. Windows XP и Vista. – Спб.: Питер, 2008. – 624 с.
Учебное пособие
Груздев Владислав Николаевич
Информатика Часть 2. Приложения Word, CorelDraw, MathCad, Pascal
Практикум для вузов
Редактор
|
||||
Последнее изменение этой страницы: 2016-12-16; просмотров: 1176; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.98.151 (0.008 с.) |