Структура программы. Идентификаторы переменных, констант

Автор: Пользователь скрыл имя, 16 Января 2011 в 20:12, лекция

Описание работы

Delphi – это среда разработки программ, ориентированных на работу в операционной системе Windows. В основе Delphi лежит технология визуального проектирования, которая базируется на идеях объектно-ориентированного программирования. Программы в Delphi пишутся на языке Object Pascal, который является развитием языка Turbo Pascal. Слово “Object” особо подчёркивает, что язык поддерживает концепцию объектно-ориентированного программирования.

Работа содержит 1 файл

ЛЕКЦИЯ по Паскалью.docx

— 43.39 Кб (Скачать)

    Оператор  if  может быть  записан в сокращённой форме:

    if   <логическое  выражение>   then   <оператор> ;

Пример  1.  Даны  два различных вещественных  числа. Вывести на  экран большее из  них.

    var   x, y : real;

    begin

       readln(x, y);

       if   x>y  then  writeln(x:7:2)  else  writeln(y:7:2);

       readln

    end. 

Пример  2.  Даны  два действительных  числа x, y.  Если  x   и   y  отрицательны,  то  каждое  из  чисел заменить  его квадратом;  если  отрицательно  только  одно  из  них,  то  каждое   из   чисел увеличить в 10  раз;  если  оба числа   неотрицательны,  то  каждое  из  них заменить  корнем  квадратным.

    var   x, y : real;

    begin

       readln(x, y);

       if   (x<0) and (y<0)   then   begin   x:=sqr(x);  y:=sqr(y)  end

       else

          if   (x<0) xor (y<0)  then  begin  x:=x*10;  y:=y*10  end

         else   begin   x:=sqrt(x);  y:=sqrt(y)   end;

       writeln('x=', x:6:2,'  y=', y:6:2);  readln

    end. 

Пример  3.  Даны  три различных вещественных  числа a, b, c.  Найти максимальное  из  этих  чисел.

    var   a, b, c, max : real;

    begin

       readln(a, b, c);

       if   (a>b) and (a>c)   then   max:=a

       else

          if   b>c   then   max:=b

          else   max:=c;

       writeln('max= ', max:7:2);  readln

    end.                                                                               
 
 
 
 

ЛЕКЦИЯ  №4

Оператор  выбора  CASE

    В  отличие  от  оператора  if,  оператор  case  позволяет выбрать один  оператор  не  из  двух,  а из  нескольких  операторов.  В общем виде  оператор  case  может быть  записан следующим образом:

    case  <выражение>  of

    <список  меток 1> : <оператор1>;

    <список  меток 2> : <оператор2>;

    …………………………………..

    <список  меток N> : <операторN>

    else

    <оператор>

    end;

Здесь  <выражение>  –  это  выражение  порядкового  типа.  Вначале  вычисляется  значение  этого  выражения.  Затем  полученное  значение  последовательно  сравнивается    с  константами  из  списков  меток.  Если  значение  выражения  совпадает   с  какой-нибудь  константой,  то  выполняется  соответствующий  оператор.  Если  значение  выражения  не  совпадает  ни  с  одной  константой,  то  выполняется  оператор,  стоящий  за  словом  else. Если  слово else  отсутствует,  то  выполняется оператор,  стоящий за  словом  end.

Пример 11. По номеру  дня недели  определить  название  дня недели.

                      type  week=1..7;

                      var   day : week;

                      begin 

                      readln(day);

                      case  day   of

                      1 : writeln(¢Понедельник¢);

                      2 : writeln(¢Вторник¢);

                      3 : writeln(¢Среда¢);

                      4 : writeln(¢Четверг¢);

                      5 : writeln(¢Пятница¢);

                      6 : writeln(¢Суббота¢);

                      7 : writeln(¢Воскресенье¢)

                      else writeln(¢Ошибка  ввода¢)

                      end;  readln

                      end.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ЛЕКЦИЯ  №5 

Оператор  цикла с параметром

    Часто  при  решении  задач  необходимо  многократно  выполнять  определённую  последовательность  действий.  Такие  повторяющиеся  действия  называются  циклами.  В  языке  Object Pascal  возможна  организация 3-х видов циклов.

  1. С  параметром  (оператор  for)
  2. С  предусловием  (оператор  while)
  3. С  постусловием  (оператор repeat)

    Оператор  цикла  for  организует  выполнение  последовательности  операторов  заранее известное число раз.  Существуют  два варианта  оператора:

    1. С  увеличением  счётчика:

for  <счётчик> := <начальное значение>  to  <конечное значение>  do  <оператор>;

    2.  С  уменьшением  счётчика:

for <счётчик>:=<начальное значение>downto <конечное значение>do <оператор>;

Здесь 

<счётчик>  –  переменная  порядкового   типа –  параметр  цикла;

<начальное  значение>  и  <конечное значение> –  выражения,  которые  должны  быть  совместимы  с  параметром  цикла;

<оператор>  –  это  оператор,  который   выполняется  в  цикле   –  тело  цикла.

Если  в  цикле  необходимо  выполнить  группу  операторов,  то  её  следует  заключить  в  операторные  скобки  begin…end.

    Оператор  for  действует следующим образом.  Вначале вычисляются начальное и конечное  значения  счётчика.  Далее счётчику  присваивается начальное значение.  Затем значение  счётчика  сравнивается  с конечным  значением.  Далее,  пока  счётчик меньше  или равен конечному значению  ( в первом  варианте )  или больше  или равен ( во  втором  варианте ),  выполняется очередная итерация  цикла.  В противном случае  происходит  выход из  цикла.  Выполнение  очередной итерации  включает  в себя  сначала выполнение  тела  цикла,  а затем присвоение  счётчику следующего  большего  значения  (в первом  варианте )  или следующего  меньшего  значения  ( во  втором  варианте ).  Если  параметр  цикла целого  типа,  то  это означает  увеличение  либо  уменьшение  его на  1.  В первом  варианте  начальное значение  должно  быть  меньше  конечного,  а во  втором  варианте  – больше  конечного.  В противном случае  тело  цикла не  будет выполнено ни  разу.

Пример 12.  Напечатать  столбиком все целые числа от  30  до  45.

    var   i : integer;                

    begin

    for   i:=30   to   45  do  writeln(i);

    readln

    end. 

Пример 13.  Найти сумму всех  целых чисел от  10  до  50.

    var    i, s : integer;

    begin

    s:=0;

    for   i:=10   to   50  do  s:=s+i;

    writeln(s);

    readln

    end.

Рассмотрим  выполнение  этой  программы  по  шагам:

                                  i                           s

                                 10                   0 + 10 = 10

                                 11                 10 + 11 = 21

                                 12                 21 + 12 = 33                     

                                 …………………………..

                                 50                               1230  

Пример  14.    Вычислить сумму      22 + 23 + 24 +  … + 210

Для  решения  этой  задачи  сначала  ответим  на  вопрос:  сколько  слагаемых  в  этой  сумме?   Слагаемые  –  это  степени  двойки  от   2ой   до   10ой.  Следовательно,  имеем 9  слагаемых.  Каждое  следующее слагаемое получается  из  предыдущего умножением  на  2.  Пусть a – очередное слагаемое,  s  – сумма.   Используя эти   соображения,   запишем решение:

      var    i, a, s : integer;

      begin

     a:=2;  s:=0;

     for   i:=1   to   9  do

     begin   a:=a*2;  s:=s+a   end;

     writeln(s);

     readln

     end.  

Пример  15.  Подсчитать  количество  двузначных  чисел,  кратных  7.

Решение. Двузначные  числа  –  это  все  целые  числа  от  10  до   99.  k  – счётчик двузначных  чисел,  кратных 7.

    var   i, k : integer;

    begin

    k:=0;

    for   i:=10   to   99   do

    if   i mod 7=0   then   inc(k);

    writeln(k);

    readln;

    end. 

Пример  16.  Дано  натуральное  число  n,  которое вводится  с клавиатуры.  Вычислить сумму всех  его натуральных делителей,  за  исключением самого  числа.

Решение.  Мы  будем  перебирать  все  числа  от  1  до   n div 2  (так как у числа n  не  может быть  натуральных делителей,  больших,  чем n div 2)  и складывать  те  из  них,  на  которые число n  делится без остатка. 

    var   i, s, n : integer;

    begin

    readln(n);

    s:=0;

    for   i:=1   to   n div 2    do

    if   (n mod i =0)   then    s:=s+i;

    writeln(s);

    readln

    end. 

Пример  17.  Дана  последовательность  из  10  действительных  чисел,  которые  вводятся  с  клавиатуры.  Подсчитать  сумму  тех  из  них,  которые  больше,  чем   5,12.

Решение.  На  каждом  из  10  шагов  цикла  мы  должны:  во-первых,  прочитать  очередное  число  a,  во-вторых,  если  прочитанное   число удовлетворяет условию   a>5.12,   добавить  его  в  сумму.

    var   i : integer;  a, s : real;

    begin

    s:=0;

    for   i:=1 to  10  do

    begin

    read(a);

    if   a>5.12   then   s:=s+a

    end;

    writeln(s:5:2);

    readln;  readln

    end.

После  запуска  приложения  введём  через  пробел   последовательность  чисел

6.5   -0.4   2.01   12.8   -9.2   -0.15   10.7   3.98   -4.1   0.6

и  нажмём  Enter.  Получим результат   30.00.

Пример  18.  Дана  последовательность  из  10  действительных  чисел,  которые вводятся  с клавиатуры.  Найти максимальный  элемент последовательности.

    var    i : integer;  a, max : real;

    begin

    read(max);

Информация о работе Структура программы. Идентификаторы переменных, констант