Информатика Лекция 4. План лекции Операторы цикла (While, repeat, for) Массивы.

Презентация:



Advertisements
Похожие презентации
Структурированные операторы Паскаля Структурированными являются такие операторы, которые состоят из других операторов.
Advertisements

Массивы Вариант 1 Program upr1; Var s,a:real; I: integer; Begin S:=0; For I:=1 to 10 do Begin Writeln (введите очередное число'); Readln(a); S: =s+a; End;
Массивы Материалы к урокам по программированию. МАССИВ это УПОРЯДОЧЕННАЯ последовательность данных ОДНОГО ТИПА. Массивы относятся к структурированным.
Алгоритмическая структура цикл Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одного и того же участка программы.
Массивы – структурированный тип данных, состоящий из фиксированного числа элементов одинакового типа, имеющих общее имя. Массив.
Массивы Паскаль. Массивы - это Заранее известное число однотипных элементов Элементы (каждое данное массива) имеют общее имя(имя массива) и тип (тип элементов.
Презентация на тему: «Программирование циклических структур». Составила: учитель информатики Чура Н.А. Составила: учитель информатики Чура Н.А.
Это обозначаемая одним именем последовательность однотипных элементов. Массив -
Это обозначаемая одним именем последовательность однотипных элементов. Массив -
Циклический алгоритм –это алгоритм команды которого выполняются несколько раз подряд. В языке Паскаль имеется три различных оператора цикла: 1. Оператор.
Одномерный массив. Цель урока: познакомить учащихся с понятием одномерный массив Задачи: дать определение массива дать представление: об описании массива.
ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ НАЧАЛА ПРОГРАММИРОВАНИЯ.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Массивы Массив используется для обработки упорядоченного набора величин одного типа, обозначенного одним именем. Доступ к элементам массива осуществляется.
Двумерные массивы. Задачи обработки двумерных массивов.
Язык программирования Паскаль 9 часть. Массивы.
Тема урока: Одномерные массивы. - Где в жизни мы можем встретиться с таблицами?
Материалы к урокам по программированию Автор: Судакова Лариса Владимировна, учитель биологии и информатики МОУ СОШ 37 г. Буя Костромской области.
Организация циклических процессов начало К:=1 S:=1 N:=5 K<=N S:=S*K K:=K+1 S конец данет При решении многих задач вычислительный процесс имеет циклический.
Транксрипт:

Информатика Лекция 4

План лекции Операторы цикла (While, repeat, for) Массивы

Операторы цикла (While, repeat, for) Для организации циклов ( повторов ) при записи алгоритмов на языке Паскаль используются три вида операторов цикла : WHILE – оператор цикла с предварительным условием ; REPEAT – оператор цикла с последующим условием ; FOR – оператор цикла с управляющим параметром.

Оператор цикла WHILE Общий вид оператора следующий : while do ; где – логическое выражение ; – тело цикла ( простой или составной оператор ).

Пример : Зависимость удельной теплоемкости химического соединения от температуры выражается формулой С р = a + bT + c Т 2, где а, b, c – постоянные коэффициенты ; Т – температура. Вычислить удельную теплоемкость в интервале температур от 200 до 800 К с шагом 50 К. Программа. Program Tepl; var a,b,c,Cp:real; T,h:integer; Begin writeln(' Введите коэффициенты '); readln(a,b,c); T:=200; h:=50; while T

Оператор цикла REPEAT Общий вид оператора следующий : repeat ;..... { операторы циклической части } until ; Оператор действует следующим образом. Выполняются операторы циклической части, проверяется условие. Если оно ложно, то вновь выполняется тело цикла, если оно истинно, то происходит выход из цикла. Это может быть выражено так : « Повторять действие до тех пор, пока не выполнится условие ». Примечание. Так как границы цикла обозначены словами REPEAT и UNTIL, нет необходимости заключать операторы циклической части в операторные скобки begin – end, хотя их использование не является ошибкой.

Оператор цикла REPEAT Пример. Вычислить значение теплоемкости Ср с использованием оператора REPEAT. T:=200; h:=50; repeat Cp:=a+b*T+c*T*T; writeln('T=',T:3,' Cp=',Cp:7:2); T:=T+h; until T>800; Примечание : действие оператора REPEAT, противоположно действию оператора WHILE, т. к. в первом условие выхода из цикла должно быть истинным, а во втором – ложным.

Оператор цикла FOR Оператор цикла FOR используется для организации цикла, когда известно число повторений. Существует два варианта оператора : – при увеличении значения параметра ( цикл с положительным шагом : +1) for i:=n1 to n2 do ; – при уменьшении значения параметра ( цикл с отрицательным шагом : –1) for i:=n1 downto n2 do, где i – параметр цикла ; n1 и n2 – начальные и конечные значения параметра цикла ; – тело цикла ( простой или составной операторы ). Параметры i, n1, n2 должны иметь один и тот же тип, кроме real, шаг параметра цикла всегда 1.

Оператор цикла FOR Примечание : 1. Внутри цикла нельзя изменять начальное (n1) и конечное (n2) значения параметра цикла, а также само значение i. 2. После завершения цикла значение параметра i становится неопределенным ( т. е. ничему неравным ), за исключением выхода из цикла при помощи GOTO. 3. Во всех трех операторах цикла внутри цикла можно использовать операторы IF, GOTO. Разрешается в любой момент выходить из цикла, не дожидаясь его завершения. Но запрещено при помощи этих операторов передавать управление извне цикла внутрь цикла

Оператор цикла FOR Пример : Рассмотрим расчет теплоемкости с использованием оператора FOR. T:=200; h:=50; for i:=1 to 13 do begin Cp:=a+b*T+c*T*T; writeln('T=',T:3,' Cp=',Cp:7:2); T:=T+h; end; Параметр цикла i изменяется от 1 до 13, т. к. на заданном интервале температуры от 200 до 800 К с шагом 50 К должно быть вычислено тринадцать значений теплоемкости. Следует помнить. Операторы цикла WHILE и FOR могут содержать в теле цикла только один оператор. Поэтому при необходимости вычисления нескольких операторов необходимо заключатьих в операторные скобки ( т. е. использовать составной оператор begin …end).

Структурированные типы данных Массивы Массив – это упорядоченная последовательность элементов одного типа, обозначенных одним именем. Отдельная величина последовательности называется элементом массива ( переменная с индексом ). Индекс указывает положение ( адрес ) элемента в массиве. Любой массив имеет имя, размерность и длину ( размер ). Количество индексов у переменной с индексом определяет размерность массива. Длина массива – это общее число его элементов. Примерами массивов могут быть : 1) вектор х = { х 1, х 2,., х 10 } – это одномерный массив состоящий из десяти элементов х i, где i=1, …, 10. 2) матрица а 11 а 12 а 13 а 21 а 22 а 23 это двумерный массив из шести элементов а ij, где i=1,2; j=1,2,3.

Описание массивов. Возможны два способа описания массивов : 1) type = array[ ] of ; var :. Вначале определяется некоторый тип со структурой массива, а затем описывается переменная, как имеющая данный тип. 2) var : array [ ] of. Например, массивы вещественных чисел а 1, а 2,..., а 10 и b 1, b 2,..., b 10 можно описать : 1) type mas = array[1..10] of real; var a,b:mas; 2) var a,b: array [1..10] of real; Размерность массивов в Турбо – Паскале не ограничена. Доступ к каждому элементу массива можно выполнить путем указания имени массива, за которым в квадратных скобках следует индекс элемента. Индекс элемента может быть задан переменной – а [i]; числом – а [5]; выражением – а [2*i–1].

Примеры описания массивов : var { одномерный массив целых чисел } x:array[1..10]of integer; { одномерный массив вещественных чисел } y:array[1..5]of real; { двумерный массив вещественных чисел } a:array[1..3,1..5]of real; { трехмерный массив символьных данных } b:array[1..2,1..5,1..3]of char;.

Ввод – вывод массивов Для ввода – вывода массивов используются циклы. Рассмотрим ввод и вывод массивов на примерах. Пример ввода – вывода одномерного массива. Пусть для решения задачи необходимо ввести численные значения молекулярных масс десяти химических веществ : M 1, M 2,..., M 10. var M:array[1..10]of real; i:integer; Begin { ввод значений массива М в столбце } writeln(' Введите М '); for i:=1 to 10 do begin writeln(M,i); readln(M[i]); end; { вывод элементов массива М в строку } for i:=1 to 10 do write(M[i]); End.

Ввод – вывод массивов Ввод значений с экрана монитора будет происходить следующим образом. После появления записи : « введи М », следует записать численное значение М [1] и нажать на «Enter» и так до десятого элемента включительно. М 1 ; M2 ;..... M10.

Пример ввода – вывода двумерного массива. Требуется ввести значения теплоемкостей пяти органических соединений, представляющих три гомологических ряда : алканы, алкены, спирты. Ср 11, Ср 12,..., Ср 15 Ср 21, Ср 22,..., Ср 25 Ср 31, Ср 32,..., Ср 35 var Cp:array[1..3,1..5]of real; i,j:integer; Begin { ввод значений массива } for i:=1 to 3 do for j:=1 to 5 do begin writeln(' Введите Cp',i,j); readln( С p[i,j]); end; { вывод элементов массива по строкам } for i:=1 to 3 do begin for j:=1 to 5 do write(Cp[i,j]:7:3, ); writeln; end;..... End.

Ввод массива будет осуществляться таким же образом, как и в случае одномерного массива. При выводе массива на экран появляются три строки по пять численных значений теплоемкостей : C р [1,1] Cp[1,2]... Cp[1,5] Ср [3,1] Cp[3,2]... Cp[3,5] Численные значения элементов массива могут быть также заданы : - в разделе const Type mas = array[1..3] of real; mas1 = array[1..2,1..3] of integer; Const M:mas = (12.3,14.6,18.4); { одномерный массив } Cp:mas1 = ((10,16,8), (6,20,12)); { двумерный массив } или Const M: array[1..3] of real=(12.3,14.6,18.4); Cp: array[1..2,1..3] of integer = ((10,16,8), (6,20,12)); - случайными значениями от 0 до 1 Beginrandomize; for i:=1 to 10 do M[i]:= random;..... End.

Примечание. Random( х ) – возвращает случайное число от 0 до х. Если функция задана без аргумента (Random), то будут генерироваться случайные числа от 0 до 1 Randomize – обеспечивает ( при каждом перезапуске программы ) несовпадение последовательностей случайных чисел, генерируемых функцией Random