🗊 Условный и сложный операторы . Операторы цикла. Массивы.

Категория: Информатика
Нажмите для полного просмотра!
  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №1  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №2  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №3  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №4  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №5  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №6  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №7  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №8  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №9  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №10  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №11  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №12  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №13  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №14  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №15  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №16  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №17  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №18  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №19  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №20  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №21  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №22  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №23  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №24  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №25  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №26  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №27  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №28  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №29  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №30  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №31  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №32  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №33  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №34  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №35  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №36  
  Условный и сложный операторы . Операторы цикла. Массивы.   , слайд №37

Содержание

Вы можете ознакомиться и скачать Условный и сложный операторы . Операторы цикла. Массивы. . Презентация содержит 37 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Условный и сложный операторы . Операторы цикла. Массивы.
Описание слайда:
Условный и сложный операторы . Операторы цикла. Массивы.

Слайд 2





Операторы ветвления
Операторы ветвления
       К операторам, позволяющим из нескольких возможных вариантов выполнения программы (ветвей) выбрать только один, относятся if и case.
Условный оператор if
Оператор if выбирает между двумя вариантами развития событий:
if <условие>   then 
<операторы> 
[else 
<операторы>]
Описание слайда:
Операторы ветвления Операторы ветвления К операторам, позволяющим из нескольких возможных вариантов выполнения программы (ветвей) выбрать только один, относятся if и case. Условный оператор if Оператор if выбирает между двумя вариантами развития событий: if <условие> then <операторы> [else <операторы>]

Слайд 3





Условный оператор if работает следующим образом:
Условный оператор if работает следующим образом:
Сначала вычисляется значение <условия> - это может быть любое выражение, возвращающее значение типа boolean. 
Затем, если в результате получена "истина" (true), то выполняется оператор, стоящий после ключевого слова then, а если "ложь" (false) - без дополнительных проверок выполняется оператор, стоящий после ключевого слова else. Если же else-ветвь отсутствует, то не выполняется ничего.
Описание слайда:
Условный оператор if работает следующим образом: Условный оператор if работает следующим образом: Сначала вычисляется значение <условия> - это может быть любое выражение, возвращающее значение типа boolean. Затем, если в результате получена "истина" (true), то выполняется оператор, стоящий после ключевого слова then, а если "ложь" (false) - без дополнительных проверок выполняется оператор, стоящий после ключевого слова else. Если же else-ветвь отсутствует, то не выполняется ничего.

Слайд 4





Вложенный оператор If
Вложенный оператор If


if i>0 then 
if s>2 then 
s:=1
else  
else
 s:=-1;
Описание слайда:
Вложенный оператор If Вложенный оператор If if i>0 then if s>2 then s:=1 else else s:=-1;

Слайд 5







if i>0 then 
Begin
 if s>2   then 
s:=1;
end
else 
s:=-1;
Описание слайда:
if i>0 then Begin if s>2 then s:=1; end else s:=-1;

Слайд 6





Оператор выбора case
Оператор выбора case
Оператор case позволяет сделать выбор между несколькими вариантами:
case <переключатель> of	        <список_констант> : <один_оператор>;        [<список_констант> : <один_оператор>;]        [<список_констант> : <один_оператор>;]        [else <один_оператор>;]end;
Описание слайда:
Оператор выбора case Оператор выбора case Оператор case позволяет сделать выбор между несколькими вариантами: case <переключатель> of <список_констант> : <один_оператор>; [<список_констант> : <один_оператор>;] [<список_констант> : <один_оператор>;] [else <один_оператор>;]end;

Слайд 7





Var
Var
operation:Char;
x,y,z:real;
stop:Boolean;
……….
Case operatoin of
‘+’: z:=x+y;
‘-’: z:=x-y;
‘*’: z:=x*y;
‘/’: z:=x/y;
Else
Stop:=true;
End;
Описание слайда:
Var Var operation:Char; x,y,z:real; stop:Boolean; ………. Case operatoin of ‘+’: z:=x+y; ‘-’: z:=x-y; ‘*’: z:=x*y; ‘/’: z:=x/y; Else Stop:=true; End;

Слайд 8





дополнительные правила, относящиеся к структуре  оператора Case :
дополнительные правила, относящиеся к структуре  оператора Case :
Переключатель должен относиться только к порядковому типу данных, но не к типу longint. 
Переключатель может быть переменной или выражением. 
Список констант может задаваться как явным перечислением, так и интервалом или их объединением. 
Повторение констант не допускается. 
Тип переключателя и типы всех констант должны быть совместимыми.
Описание слайда:
дополнительные правила, относящиеся к структуре оператора Case : дополнительные правила, относящиеся к структуре оператора Case : Переключатель должен относиться только к порядковому типу данных, но не к типу longint. Переключатель может быть переменной или выражением. Список констант может задаваться как явным перечислением, так и интервалом или их объединением. Повторение констант не допускается. Тип переключателя и типы всех констант должны быть совместимыми.

Слайд 9





Пример оператора выбора:
Пример оператора выбора:
case symbol  of 
  'a'..'z', 'A'..'Z'   : writeln('Это латинская буква');  'а'..'я', 'А'..'Я' : writeln('Это русская буква');     
                '0'..'9' : writeln('Это цифра');  
  ' ',#10,#13,#26 : writeln('Это пробельный символ');   else	           
 writeln('Это служебный символ');
  end;
Описание слайда:
Пример оператора выбора: Пример оператора выбора: case symbol of 'a'..'z', 'A'..'Z' : writeln('Это латинская буква'); 'а'..'я', 'А'..'Я' : writeln('Это русская буква'); '0'..'9' : writeln('Это цифра'); ' ',#10,#13,#26 : writeln('Это пробельный символ'); else writeln('Это служебный символ'); end;

Слайд 10





Массивы 
Массивы 
   Массивы представляют собой ограниченную упорядоченную совокупность однотипных величин. Каждая отдельная величина называется компонентой массива. 
   Тип компонент может быть любым, принятым в языке ПАСКАЛЬ, кроме файлового типа. 
    Тип компонент называется базовым типом.
    Вся совокупность компонент определяется одним именем. Для обозначения отдельных компонент используется конструкция, называемая переменной с индексом или с индексами: 
A[5]             S[k+1]                   B[3,5].
Описание слайда:
Массивы Массивы Массивы представляют собой ограниченную упорядоченную совокупность однотипных величин. Каждая отдельная величина называется компонентой массива. Тип компонент может быть любым, принятым в языке ПАСКАЛЬ, кроме файлового типа. Тип компонент называется базовым типом. Вся совокупность компонент определяется одним именем. Для обозначения отдельных компонент используется конструкция, называемая переменной с индексом или с индексами: A[5] S[k+1] B[3,5].

Слайд 11





Описание массива
Описание массива
Для того чтобы задать массив, необходимо в разделе описания переменных (var) указать его размеры и тип его компонент.
Общий вид описания (одномерного) массива:
array[<левая_граница>..<правая_граница>] of <тип_компонент>; 
Например, одномерный (линейный) массив, состоящий не более чем из 10 целых чисел, можно описать следующим образом:
var a1: array [1..10] of integer;
Описание слайда:
Описание массива Описание массива Для того чтобы задать массив, необходимо в разделе описания переменных (var) указать его размеры и тип его компонент. Общий вид описания (одномерного) массива: array[<левая_граница>..<правая_граница>] of <тип_компонент>; Например, одномерный (линейный) массив, состоящий не более чем из 10 целых чисел, можно описать следующим образом: var a1: array [1..10] of integer;

Слайд 12





Нумерация компонент массива 
Нумерация компонент массива 
    Не обязана начинаться с 1 или с 0 -  можно описывать массив, пронумерованный любыми целыми числами. Необходимо лишь, чтобы номер последней компоненты был больше, чем номер первой:
     var a1: array [-5..4] of integer; 

    Нумеровать компоненты массива можно не только целыми числами. Любой порядковый тип данных (перечислимый, интервальный, символьный, логический, а также произвольный тип, созданный на их основе) имеет право выступать в роли нумератора.
Описание слайда:
Нумерация компонент массива Нумерация компонент массива Не обязана начинаться с 1 или с 0 - можно описывать массив, пронумерованный любыми целыми числами. Необходимо лишь, чтобы номер последней компоненты был больше, чем номер первой: var a1: array [-5..4] of integer; Нумеровать компоненты массива можно не только целыми числами. Любой порядковый тип данных (перечислимый, интервальный, символьный, логический, а также произвольный тип, созданный на их основе) имеет право выступать в роли нумератора.

Слайд 13





допустимы следующие описания массивов:
допустимы следующие описания массивов:
type 
charrr = 'a','c'..'z'; (- отсутствует символ "b")
a2: array [charrr] of integer; - 25 целых компонент
a3: array [shortint] of real; - 256 вещественных компонент
Общий размер массива не должен превосходить 65 520 байт. 
Нельзя задать массив
 a4:array[integer]of byte; 
поскольку тип integer покрывает 65 535 различных элементов.
 Тем более нельзя использовать тип longint.
Описание слайда:
допустимы следующие описания массивов: допустимы следующие описания массивов: type charrr = 'a','c'..'z'; (- отсутствует символ "b") a2: array [charrr] of integer; - 25 целых компонент a3: array [shortint] of real; - 256 вещественных компонент Общий размер массива не должен превосходить 65 520 байт. Нельзя задать массив a4:array[integer]of byte; поскольку тип integer покрывает 65 535 различных элементов. Тем более нельзя использовать тип longint.

Слайд 14





Тип компонент массива может быть любым:
Тип компонент массива может быть любым:
var 
a4: array[10..20] of real; - массив из компонент простого типа
a5: array[0..100] of record1; - массив из записей
a6: array[-10..10] of ^string; - массив из указателей на строки
a7: array[-1..1] of file; - массив из имен файловых переменных
a8: array[1..100] of array[1..100] of char; - двумерный массив (массив векторов)
Описание слайда:
Тип компонент массива может быть любым: Тип компонент массива может быть любым: var a4: array[10..20] of real; - массив из компонент простого типа a5: array[0..100] of record1; - массив из записей a6: array[-10..10] of ^string; - массив из указателей на строки a7: array[-1..1] of file; - массив из имен файловых переменных a8: array[1..100] of array[1..100] of char; - двумерный массив (массив векторов)

Слайд 15





Для краткости и удобства многомерные массивы можно описывать и более простым способом:
Для краткости и удобства многомерные массивы можно описывать и более простым способом:
var 
a9: array[1..10,1..20] of real; - двумерный массив 10 х 20
a10: array[boolean, -1..1,char, -10..10] of word; - четырехмерный массив 2 х 3 х 256 х 21
Описание слайда:
Для краткости и удобства многомерные массивы можно описывать и более простым способом: Для краткости и удобства многомерные массивы можно описывать и более простым способом: var a9: array[1..10,1..20] of real; - двумерный массив 10 х 20 a10: array[boolean, -1..1,char, -10..10] of word; - четырехмерный массив 2 х 3 х 256 х 21

Слайд 16





Общее ограничение на размер массива - не более 65 520 байт - сохраняется и для многомерных массивов. 
Общее ограничение на размер массива - не более 65 520 байт - сохраняется и для многомерных массивов. 
Количество компонент многомерного массива вычисляется как произведение всех его "измерений". 
Таким образом, в массиве а9
a9: array[1..10,1..20] of real; - двумерный массив 10 х 20
 содержится 200 компонент, а в массиве а10 - 32 256 компонент.
a10: array[boolean, -1..1,char, -10..10] of word; - четырехмерный массив 2 х 3 х 256 х 21
Описание слайда:
Общее ограничение на размер массива - не более 65 520 байт - сохраняется и для многомерных массивов. Общее ограничение на размер массива - не более 65 520 байт - сохраняется и для многомерных массивов. Количество компонент многомерного массива вычисляется как произведение всех его "измерений". Таким образом, в массиве а9 a9: array[1..10,1..20] of real; - двумерный массив 10 х 20 содержится 200 компонент, а в массиве а10 - 32 256 компонент. a10: array[boolean, -1..1,char, -10..10] of word; - четырехмерный массив 2 х 3 х 256 х 21

Слайд 17





     Для ввода или вывода массива в список ввода или вывода помещается переменная с индексом, а операторы ввода или вывода выполняются в цикле. Первый индекс определяет номер строки, второй - номер столбца. Двумерные массивы хранятся в памяти ЭВМ по строкам. Инициализация массивов (присвоение начальных значений всем компонентам массивов) осуществляется двумя cпособами. 
     Для ввода или вывода массива в список ввода или вывода помещается переменная с индексом, а операторы ввода или вывода выполняются в цикле. Первый индекс определяет номер строки, второй - номер столбца. Двумерные массивы хранятся в памяти ЭВМ по строкам. Инициализация массивов (присвоение начальных значений всем компонентам массивов) осуществляется двумя cпособами.
Описание слайда:
Для ввода или вывода массива в список ввода или вывода помещается переменная с индексом, а операторы ввода или вывода выполняются в цикле. Первый индекс определяет номер строки, второй - номер столбца. Двумерные массивы хранятся в памяти ЭВМ по строкам. Инициализация массивов (присвоение начальных значений всем компонентам массивов) осуществляется двумя cпособами. Для ввода или вывода массива в список ввода или вывода помещается переменная с индексом, а операторы ввода или вывода выполняются в цикле. Первый индекс определяет номер строки, второй - номер столбца. Двумерные массивы хранятся в памяти ЭВМ по строкам. Инициализация массивов (присвоение начальных значений всем компонентам массивов) осуществляется двумя cпособами.

Слайд 18





Первый способ - с использованием типизированных констант, например: 

Первый способ - с использованием типизированных констант, например: 

   type 
   Dim10= Array[1..10] of Real; 
const
   M10: Dim10 = ( 0, 2.1, 4, 5.65, 6.1, 6.7, 7.2, 8, 8.7, 9.3 );
Описание слайда:
Первый способ - с использованием типизированных констант, например: Первый способ - с использованием типизированных констант, например: type Dim10= Array[1..10] of Real; const M10: Dim10 = ( 0, 2.1, 4, 5.65, 6.1, 6.7, 7.2, 8, 8.7, 9.3 );

Слайд 19





При инициализации двумерных массивов значения компонент каждого из входящих в него одномерных массивов записывается в скобках: 
type 
При инициализации двумерных массивов значения компонент каждого из входящих в него одномерных массивов записывается в скобках: 
type 
     Dim3x2= Array[1..3,1..2] of Integer; 
const 
     M3x2: Dim3x2= ( (1, 2), (3, 4), (5, 6) ); 
Второй способ инициализации - использование разновидности процедуры FillChar: 
FillChar( var V; NBytes: Word; B: Byte ); 
Эта процедура заполняет участок памяти однобайтовым значением. Например, для обнуления массива 
    A[1..10] of Real можно записать:
 
FillChar(A, 40, 0);   или   FillChar(A, SizeOf(A), 0);
Описание слайда:
При инициализации двумерных массивов значения компонент каждого из входящих в него одномерных массивов записывается в скобках: type При инициализации двумерных массивов значения компонент каждого из входящих в него одномерных массивов записывается в скобках: type Dim3x2= Array[1..3,1..2] of Integer; const M3x2: Dim3x2= ( (1, 2), (3, 4), (5, 6) ); Второй способ инициализации - использование разновидности процедуры FillChar: FillChar( var V; NBytes: Word; B: Byte ); Эта процедура заполняет участок памяти однобайтовым значением. Например, для обнуления массива A[1..10] of Real можно записать: FillChar(A, 40, 0); или FillChar(A, SizeOf(A), 0);

Слайд 20





Обращение к компонентам массива
Обращение к компонентам массива
Массивы относятся к структурам прямого доступа. Это означает, что возможно напрямую (не перебирая предварительно все предшествующие компоненты) обратиться к любой интересующей нас компоненте массива.
Доступ к компонентам линейного массива осуществляется так:
<имя_массива>[<индекс_компоненты>] а многомерного - так:
<имя_массива>[<индекс>,_,<индекс>]
Описание слайда:
Обращение к компонентам массива Обращение к компонентам массива Массивы относятся к структурам прямого доступа. Это означает, что возможно напрямую (не перебирая предварительно все предшествующие компоненты) обратиться к любой интересующей нас компоненте массива. Доступ к компонентам линейного массива осуществляется так: <имя_массива>[<индекс_компоненты>] а многомерного - так: <имя_массива>[<индекс>,_,<индекс>]

Слайд 21





Примеры использования компонент массива:
Примеры использования компонент массива:
a2['z']:= a2['z']+1;
a3[-10]:= 2.5;
a3[i+j]:= a9[i,j];
Описание слайда:
Примеры использования компонент массива: Примеры использования компонент массива: a2['z']:= a2['z']+1; a3[-10]:= 2.5; a3[i+j]:= a9[i,j];

Слайд 22





Примеры задания массивов типизированными константами:
Примеры задания массивов типизированными константами:
type 
mass = array[1..3,1..2] of byte;
const 
a: array[-1..1] of byte = (0,0,0); {линейный}
b: mass = ((1,2),(3,4),(5,6)); {двумерный}
s: array[0..9] of char = '0123456789';
Описание слайда:
Примеры задания массивов типизированными константами: Примеры задания массивов типизированными константами: type mass = array[1..3,1..2] of byte; const a: array[-1..1] of byte = (0,0,0); {линейный} b: mass = ((1,2),(3,4),(5,6)); {двумерный} s: array[0..9] of char = '0123456789';

Слайд 23





Операторы циклов
Операторы циклов
Для того чтобы обработать несколько однотипных элементов, совершить несколько одинаковых действий и т.п., разумно воспользоваться оператором цикла - любым из четырех, который наилучшим образом подходит к поставленной задаче.
Оператор цикла повторяет некоторую последовательность операторов заданное число раз, которое может быть определено и динамически - уже во время работы программы.
Замечание: Алгоритмы, построенные только с использованием циклов, называются итеративными - от слова итерация, которое обозначает повторяемую последовательность действий.
Описание слайда:
Операторы циклов Операторы циклов Для того чтобы обработать несколько однотипных элементов, совершить несколько одинаковых действий и т.п., разумно воспользоваться оператором цикла - любым из четырех, который наилучшим образом подходит к поставленной задаче. Оператор цикла повторяет некоторую последовательность операторов заданное число раз, которое может быть определено и динамически - уже во время работы программы. Замечание: Алгоритмы, построенные только с использованием циклов, называются итеративными - от слова итерация, которое обозначает повторяемую последовательность действий.

Слайд 24





for-to и for-downto
for-to и for-downto
В случае когда количество однотипных действий заранее известно (например, необходимо обработать все компоненты массива), стоит отдать предпочтение циклу с параметром (for).
Инкрементный цикл с параметром
for i:= first to last do <оператор>;
Описание слайда:
for-to и for-downto for-to и for-downto В случае когда количество однотипных действий заранее известно (например, необходимо обработать все компоненты массива), стоит отдать предпочтение циклу с параметром (for). Инкрементный цикл с параметром for i:= first to last do <оператор>;

Слайд 25





Цикл for-to работает следующим образом:
Цикл for-to работает следующим образом:
вычисляется значение верхней границы last; 
переменной i присваивается значение нижней границы first; 
производится проверка того, что i<=last; 
если это так, то выполняется <оператор>; 
значение переменной i увеличивается на единицу; 
пункты 3-5, составляющие одну итерацию цикла, выполняются до тех пор, пока i не станет строго больше, чем last; как только это произошло, выполнение цикла прекращается, а управление передается следующему за ним оператору.
Описание слайда:
Цикл for-to работает следующим образом: Цикл for-to работает следующим образом: вычисляется значение верхней границы last; переменной i присваивается значение нижней границы first; производится проверка того, что i<=last; если это так, то выполняется <оператор>; значение переменной i увеличивается на единицу; пункты 3-5, составляющие одну итерацию цикла, выполняются до тех пор, пока i не станет строго больше, чем last; как только это произошло, выполнение цикла прекращается, а управление передается следующему за ним оператору.

Слайд 26





какое количество раз отработает цикл for-to в каждом из трех случаев:
какое количество раз отработает цикл for-to в каждом из трех случаев:
first < last: цикл будет работать last-first+1 раз; 
first = last: цикл отработает ровно один раз; 
first > last: цикл вообще не будет работать.
Описание слайда:
какое количество раз отработает цикл for-to в каждом из трех случаев: какое количество раз отработает цикл for-to в каждом из трех случаев: first < last: цикл будет работать last-first+1 раз; first = last: цикл отработает ровно один раз; first > last: цикл вообще не будет работать.

Слайд 27





Декрементный цикл с параметром
Декрементный цикл с параметром
 аналогичный вариант цикла for, который позволяет производить обработку не от меньшего к большему, а в противоположном направлении:

for i:= first downto last do <оператор>;
Описание слайда:
Декрементный цикл с параметром Декрементный цикл с параметром аналогичный вариант цикла for, который позволяет производить обработку не от меньшего к большему, а в противоположном направлении: for i:= first downto last do <оператор>;

Слайд 28





Цикл for-downto работает следующим образом:
Цикл for-downto работает следующим образом:
переменной i присваивается значение first; 
производится проверка того, что i>=last; 
если это так, то выполняется <оператор>; 
значение переменной i уменьшается на единицу; 
пункты 1-3 выполняются до тех пор, пока i не станет меньше, чем last; как только это произошло, выполнение цикла прекращается, а управление передается следующему за ним оператору.
Если при этом
first < last, то цикл вообще не будет работать; 
first = last, то цикл отработает один раз; 
first > last, то цикл будет работать first-last+1 раз.
Описание слайда:
Цикл for-downto работает следующим образом: Цикл for-downto работает следующим образом: переменной i присваивается значение first; производится проверка того, что i>=last; если это так, то выполняется <оператор>; значение переменной i уменьшается на единицу; пункты 1-3 выполняются до тех пор, пока i не станет меньше, чем last; как только это произошло, выполнение цикла прекращается, а управление передается следующему за ним оператору. Если при этом first < last, то цикл вообще не будет работать; first = last, то цикл отработает один раз; first > last, то цикл будет работать first-last+1 раз.

Слайд 29





while и repeat-until
while и repeat-until
Если заранее неизвестно, сколько раз необходимо выполнить тело цикла, то удобнее всего пользоваться циклом с предусловием (while) или циклом с постусловием (repeat-until).
Общий вид этих операторов:
while <условие_1> do <оператор>;
repeat <операторы> until <условие_2>; 
Условие окончания цикла может быть выражено переменной, константой или выражением, имеющим логический тип.
Описание слайда:
while и repeat-until while и repeat-until Если заранее неизвестно, сколько раз необходимо выполнить тело цикла, то удобнее всего пользоваться циклом с предусловием (while) или циклом с постусловием (repeat-until). Общий вид этих операторов: while <условие_1> do <оператор>; repeat <операторы> until <условие_2>; Условие окончания цикла может быть выражено переменной, константой или выражением, имеющим логический тип.

Слайд 30





Замечание:  на каждой итерации циклы for и while выполняют только по одному оператору (либо группу операторов, заключенную в операторные скобки begin-end и потому воспринимаемую как единый составной оператор). В отличие от них, цикл repeat-until позволяет выполнить сразу несколько операторов: ключевые слова repeat и until сами служат операторными скобками.
Замечание:  на каждой итерации циклы for и while выполняют только по одному оператору (либо группу операторов, заключенную в операторные скобки begin-end и потому воспринимаемую как единый составной оператор). В отличие от них, цикл repeat-until позволяет выполнить сразу несколько операторов: ключевые слова repeat и until сами служат операторными скобками.
Так же, как циклы for-to и for-downto, циклы while и repeat-until можно назвать в некотором смысле противоположными друг другу.
Описание слайда:
Замечание: на каждой итерации циклы for и while выполняют только по одному оператору (либо группу операторов, заключенную в операторные скобки begin-end и потому воспринимаемую как единый составной оператор). В отличие от них, цикл repeat-until позволяет выполнить сразу несколько операторов: ключевые слова repeat и until сами служат операторными скобками. Замечание: на каждой итерации циклы for и while выполняют только по одному оператору (либо группу операторов, заключенную в операторные скобки begin-end и потому воспринимаемую как единый составной оператор). В отличие от них, цикл repeat-until позволяет выполнить сразу несколько операторов: ключевые слова repeat и until сами служат операторными скобками. Так же, как циклы for-to и for-downto, циклы while и repeat-until можно назвать в некотором смысле противоположными друг другу.

Слайд 31





Последовательности действий при выполнении этих циклов таковы:
Последовательности действий при выполнении этих циклов таковы:
Для while:
1. Проверяется истино ли <условие_1>.
2. Если это так, то выполняется <оператор>.
3. Пункты 1 и 2 выполняются до тех пор, пока <условие_1> не станет ложным.
Для repeat-until:
1. Выполняются <операторы>.
2. Проверяется, ложно ли <условие_2>
3. Пункты 1 и 2 выполняются до тех пор, пока <условие_2> не станет истинным.
Таким образом, если <условие_1> изначально ложно, то цикл while не выполнится ни разу. Если же <условие_2> изначально истинно, то цикл repeat-until выполнится один раз.
Описание слайда:
Последовательности действий при выполнении этих циклов таковы: Последовательности действий при выполнении этих циклов таковы: Для while: 1. Проверяется истино ли <условие_1>. 2. Если это так, то выполняется <оператор>. 3. Пункты 1 и 2 выполняются до тех пор, пока <условие_1> не станет ложным. Для repeat-until: 1. Выполняются <операторы>. 2. Проверяется, ложно ли <условие_2> 3. Пункты 1 и 2 выполняются до тех пор, пока <условие_2> не станет истинным. Таким образом, если <условие_1> изначально ложно, то цикл while не выполнится ни разу. Если же <условие_2> изначально истинно, то цикл repeat-until выполнится один раз.

Слайд 32





break и continue 
break и continue 
Существует возможность прервать выполнение цикла (или одной его итерации), не дождавшись конца его (или ее) работы.
break прерывает работу всего цикла и передает управление на следующий за ним оператор.
continue прерывает работу текущей итерации цикла и передает управление следующей итерации (цикл repeat-until) или на предшествующую ей проверку (циклы for-to, for-downto, while).
Замечание: При прерывании работы циклов for-to и for-downto с помощью функции break переменная цикла (счетчик) сохраняет свое текущее значение, не "портится".
Описание слайда:
break и continue break и continue Существует возможность прервать выполнение цикла (или одной его итерации), не дождавшись конца его (или ее) работы. break прерывает работу всего цикла и передает управление на следующий за ним оператор. continue прерывает работу текущей итерации цикла и передает управление следующей итерации (цикл repeat-until) или на предшествующую ей проверку (циклы for-to, for-downto, while). Замечание: При прерывании работы циклов for-to и for-downto с помощью функции break переменная цикла (счетчик) сохраняет свое текущее значение, не "портится".

Слайд 33





Оператор безусловного перехода goto
Оператор безусловного перехода goto
при всей его нежелательности все-таки существует ситуация, когда предпочтительно использовать именно его. Эта ситуация - необходимость передачи управления изнутри нескольких вложенных циклов на самый верхний уровень.
Дело в том, что процедуры break и continue прерывают только один цикл - тот, в теле которого они содержатся. Поэтому в упомянутой выше ситуации пришлось бы заметно усложнить текст программы, вводя много дополнительных прерываний. А один оператор goto способен заменить их все.
Описание слайда:
Оператор безусловного перехода goto Оператор безусловного перехода goto при всей его нежелательности все-таки существует ситуация, когда предпочтительно использовать именно его. Эта ситуация - необходимость передачи управления изнутри нескольких вложенных циклов на самый верхний уровень. Дело в том, что процедуры break и continue прерывают только один цикл - тот, в теле которого они содержатся. Поэтому в упомянутой выше ситуации пришлось бы заметно усложнить текст программы, вводя много дополнительных прерываний. А один оператор goto способен заменить их все.

Слайд 34





Вывод массива, удобный для пользователя
Вывод массива, удобный для пользователя
Задача. Распечатать двумерный массив размерности MxN удобным для пользователя способом. (Известно, что массив содержит только целые числа из промежутка [0..100].)
Алгоритм. нужно вывести массив построчно, отражая его структуру.
Реализация
for i:= 1 to n do
begin  
for j:= 1 to m do 
write(a[i,j]:4);  
 writeln;
end;
Описание слайда:
Вывод массива, удобный для пользователя Вывод массива, удобный для пользователя Задача. Распечатать двумерный массив размерности MxN удобным для пользователя способом. (Известно, что массив содержит только целые числа из промежутка [0..100].) Алгоритм. нужно вывести массив построчно, отражая его структуру. Реализация for i:= 1 to n do begin for j:= 1 to m do write(a[i,j]:4); writeln; end;

Слайд 35





Как с помощью цикла можно ввести значения элементов с клавиатуры:
Как с помощью цикла можно ввести значения элементов с клавиатуры:
For I:=1 to n do
Begin
         writeln(‘Введите значение элемента ’,’I’ );
         readln(a[i]);
End;
Описание слайда:
Как с помощью цикла можно ввести значения элементов с клавиатуры: Как с помощью цикла можно ввести значения элементов с клавиатуры: For I:=1 to n do Begin writeln(‘Введите значение элемента ’,’I’ ); readln(a[i]); End;

Слайд 36





Как присвоить значения элементам массива или как заполнить массив с помощью датчика случайных чисел:
Как присвоить значения элементам массива или как заполнить массив с помощью датчика случайных чисел:
For I:=1 to n do
Begin
          a[i]:=random(21)-10;
End;
Массив будет заполнен целыми числами от –10 до 10
Описание слайда:
Как присвоить значения элементам массива или как заполнить массив с помощью датчика случайных чисел: Как присвоить значения элементам массива или как заполнить массив с помощью датчика случайных чисел: For I:=1 to n do Begin a[i]:=random(21)-10; End; Массив будет заполнен целыми числами от –10 до 10

Слайд 37





Как подсчитать сумму значений его элементов:
Как подсчитать сумму значений его элементов:

S:=0
For I:=1 to n do
begin
S:=s+a[i];
Writeln(‘сумма элементов массива =  ‘,s);
Readln;
end;
Описание слайда:
Как подсчитать сумму значений его элементов: Как подсчитать сумму значений его элементов: S:=0 For I:=1 to n do begin S:=s+a[i]; Writeln(‘сумма элементов массива = ‘,s); Readln; end;



Похожие презентации
Mypresentation.ru
Загрузить презентацию