Тема «Данные и их типы, соответствие типов».doc
Оценка 4.8

Тема «Данные и их типы, соответствие типов».doc

Оценка 4.8
doc
14.05.2020
Тема «Данные и их типы, соответствие типов».doc
Тема «Данные и их типы, соответствие типов».doc

Задания на лабораторную работу № 1

Тема: «Данные и их типы, соответствие типов»

 

Цель: Ознакомиться с типами данных, научиться выбирать типы данных для переменных        исходя из их совместимости и размеров.

 

Приборы и материалы: системный блок, монитор, клавиатура, мышь, операционная система MS-DOS или Windows, оболочка языка Паскаль, текстовый редактор.

 

На выполнение лабораторной работы отводится 4 часа.

 

Ход выполнения лабораторной работы.

 

1.     Изучить теоретическую часть.

2.     По полученному заданию на лабораторную работу в соответствии с вариантом сформулировать постановку задачи, которую необходимо выполнить в данной лабораторной работе.

3.     Опираясь на постановку задачи сформулировать математическую постановку задачи, в которой необходимо отразить все математические законы, законы логики, теоремы, аксиомы, формулы и т.д., которые будут использоваться для решения задачи в данной лабораторной работе.

4.     Написать алгоритм решения задачи.

5.     Выбрать несколько входных данных, и используя алгоритм решения задачи протестировать вручную входные данные в соответствии с алгоритмом (пошагово) и получить результат. Входных данных должно быть не менее 5.

6.     Используя компьютер с операционной системой MS-DOS или Windows и языком программирования Turbo Pascal 7.0 написать программу в соответствии с составленным алгоритмом решения задачи.

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

8.     Если результаты работы программы не совпадают с результатами тестирования алгоритма, необходимо исправить ошибки в программе.

9.     Сделать отчет по проделанной работе в который входит:

9.1.          Постановка задачи

9.2.          Математическая постановка задачи

9.3.          Алгоритм решения задачи

9.4.          Результаты тестирования алгоритма

9.5.          Текст программы

9.6.          Результаты работы программы

9.7.          Вывод

10. Ответить на контрольные вопросы для закрепления знаний теоретической части.

11. На выполнение лабораторной работы отводится 4 часа.

Выполнить программу на языке Pascal и написать по ней отчет. Пример оформления отчета по лабораторной работе приводится в приложении 3.


Задания на лабораторную работу №1

Написать программу и правильно определить тип результата, вычисляющую значение у, если значение х вводится с клавиатуры. Результат выдать на экран.

 

Номер варианта

Тип переменной х

Задание

1

Integer

2

Real

3

Byte

4

Word

5

Shortint

6

Integer

7

Real

8

Byte

9

Word

10

Shortint

11

Integer

12

Real

13

Byte

14

Word

15

Shortint

16

Integer

17

Real

18

Byte

19

Word

20

Shortint

21

Integer

22

Real

23

Byte

24

Word

25

Shortint

26

Integer

27

Real

28

Byte

29

Word

30

Shortint

 

 


ПРИЛОЖЕНИЕ 1

Теоретическая часть.

К стандартным типам Pascal относят:

·        Группу целых типов

·        Группу вещественных типов

·        Группу булевских типов

·        Символьный тип

·        Строковые типы

·        Указательный тип

·        Текстовый тип

Символьный тип, а также целые и булевские типы относят к, так называемым, порядковым типам.

Порядковые типы характеризуются следующими четырьмя свойствами:

1.     Множество допустимых значений любого порядкового типа представляет собой упорядоченную последовательность, каждый элемент которой имеет свой порядковый номер. Порядковый номер представляется целым числом. Первое значение любого порядкового типа имеет порядковый номер 0, следующее значение имеет порядковый номер 1 и так далее. Исключение составляют порядковые типы Integer, Shortint и Longint. Порядковым номером значений этих типов является само значение.

2.     К любому значению порядкового типа можно применить стандартную функцию Ord, возвращающую порядковый номер этого значения.

3.     К любому значению порядкового типа можно применить стандартную функцию Pred, возвращающую значение, предшествующее этому значению. Если эта функция применяется к первому допустимому значению любого порядкового типа, кроме булевских, то возвращается порядковый номер последнего значения.

4.     К любому значению порядкового типа можно применить стандартную функцию Succ, возвращающую значение, следующее за указанным. Если эта функция применяется к последнему допустимому значению любого порядкового типа, кроме булевских, то возвращается порядковый номер первого значения.

 

Группа целых типов.

В Pascal включены пять типов для описания переменных и констант представляющих целые числа. Их характеристики приведены в таблице 1.


Таблица 1

Название типа

Идентификатор

Диапазон представления чисел

Размер памяти

Короткое целое со знаком

Shortint

-128..127

1 байт

Целое со знаком

Integer

-32768..32767

2 байта

Длинное целое со знаком

Longint

-2147483648..2147483647

4 байта

Короткое целое без знака

Byte

0.255

1 байт

Целое без знака

Word

0..65535

2 байта

 

Группа вещественных типов.

В группу вещественных типов входят пять типов, представленных в таблице 2.

Таблица 2

Название типа

Идентификатор

Диапазон представления чисел

Значащие цифры мантиссы

Размер памяти

Вещественное одинарной точности

Single

От 1.5*10-45 до3.4*1038

7..8

4 байта

Вещественное

Real

От 2.9*10-39 до 1.7*1038

11..12

6 байтов

Вещественное двойной точности

Double

От 5.0*10-324 до 1.7*10308

15..16

8 байтов

Вещественное повышенной точности

Extended

От 3.4*10-4932 до 1.1*104932

19..20

10 байтов

Целое в формате вещественного

Comp

От -263+1 до 263-1 или приблизительно от -9.2*1018 до 9.2*1018

19..20

8 байтов

В этой группе необходимо выделить тип Comp, который является своеобразным «гибридом» целого и вещественного типов. С одной стороны, переменные и константы этого типа могут иметь только целые значения (свойства целых типов). С другой стороны, тип Comp, в отличие от целых типов, не является порядковым(свойство вещественных типов). Соответственно этому, типу Comp не присущи вышеприведенные свойства порядковых типов и поэтому его относят к группе вещественных типов.

Группа булевских типов.

Все реализации языка Pascal, в том числе и Turbo Pascal, вплоть до версии 6.0, содержали только один булевский тип Boolean, элементы которого могут принимать лишь два логических значения: True (истина) и False (ложь). В Turbo Pascal версии 7.0 добавлены еще три булевских типа ByteBool, WordBool и LongBool.

Характеристики булевских типов приведены в таблице 3.

Таблица 3

Идентификатор типа

Значению False соответствует

Значению True соответствует

Размер памяти

Boolean

Число 0

Любое число, отличное от 0

1 байт

ByteBool

Число 0

1 байт

WordBool

Число 0 в обоих байтах

2 байта

LongBool

Число 0 во всех байтах

4 байта

Новые булевские типы были введены для обеспечения совместимости разрабатываемых программ с оболочкой Новые булевские типы были введены для обеспечения совместимости разрабатываемых программ с оболочкой Windows, в которой значению False соответствует число 0, а значению True – любое число, отличное от 0. Результирующим типом операций сравнения и логических операций по прежнему остается тип Boolean.

 

Символьный тип.

Символьному типу соответствует стандартный идентификатор Char. Переменные и константы символьного типа могут принимать значения из множества символов кода ASCII. Значение кода требуемого символа можно получить при помощи функции Ord. Обратные действия определения символа по заданному коду выполняются функцией Chr. Кроме того к значениям типа Char, как и к значениям других порядковых типов, применимы также функции Pred и Succ.

Строковые типы.

С точки зрения структур данных строковые типы, в отличие от других стандартных типов, являются структурными данными. Однако, учитывая широкое использование строк в программировании, в Pascal для них введены стандартные типы String и PChar.

Тип PChar поддерживает формат представления строк, признаком конца которых служит символ с кодом 0(нуль) и которые называются строками с завершающим нулем или ASCIIZ-строками. Такие строки используются в Windows, и поэтому для облегченя создания программ, работающих под управлением Windows, ASCIIZ-строки были добавлены в Pascal.

 

 

Указательный тип.

Стандартный указательный тип имеет идентификатор Pointer. Значениями переменных и констант указательного типа являются адреса оперативной памяти, состоящие из адреса сегмента (1 слово=2 байта) и смещения (1 слово=2 байта). Адрес сегмента храниться в старшем слове, а смещение – в младшем слове полного адреса.

Элементы типа Pointer, в отличие от определяемых пользователем указательных типов, могут содержать адрес переменной любого типа.

 

Текстовый тип.

Стандартный текстовый тип Text используется для описания текстовых файлов.


ПРИЛОЖЕНИЕ 2

Контрольные вопросы.

1.     Перечислить стандартные типы языка Pascal?

2.     Какими свойствами характеризуются порядковые типы?

3.     Какие новые булевские типы введены в языке Pascal версии 7.0?

4.     Для каких целей были введены новые булевские типы?

5.     Какие названия входят в группу целых чисел?

6.     Какие названия входят в группу вещественных чисел?


ПРИЛОЖЕНИЕ 3

Пример выполнения и оформления лабораторной работы

1.Постановка задачи.

Вычислить сумму пяти целых положительных чисел вводимых пользователем с клавиатуры. Результат вычислений выдать на экран. Выход из программы происходит при нажатии клавиш «пробел» или «ввод».

2. Математическая постановка задачи

Вычислить сумму S целых чисел значения которых больше или равны 0.

S=x1+x2+x3+x4+x5   или  S=Σxi, где i принимает значения 1,2,3,4,5.

S ≥ 0, т.к. xi ≥ 0.

3. Алгоритм решения задачи

1.     начало

2.     S:=0

3.     «Введите пять целых положительных чисел»

4.     i:=1

5.     читаем xi

6.     S:=S+xi

7.     i:=i+1

8.     пока i≤5 п.4 иначе п.9

9.     Вывод S

10.      конец

4. Тестирование

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

Вводимые данные

Результат

2, 5, 6, 1, 9

23

0, 6, 0, 0, 0

6

-1, 8, 6, 0, 9

Несоответствие типов

К, 9, 2, 1, 9

Несоответствие типов

1.     начало

2.     S:=0

3.     «Введите пять целых положительных чисел»

4.     i:=1

5.     S:=0+2

6.     i:=1+1

7.     S:=2+5

8.     i:=2+1

9.     S:=7+6

10. i:=3+1

11. S:=13+1

12. i:=4+1

13. S:=14+9

14. «23»

15. конец

 

5. Текст программы

program primer;

var i:byte;

    S,x:word;

begin

  S:=0;

  writeln('Введите пять целых положительных чисел');

  For i=1 to 5 do

    begin

      readln(x);

      S:=S+x;

    end;

  writeln(S);

  readln;

end.

 

6. Примеры работы программы

 

Пример 1

Введите пять целых положительных чисел

2

5

6

1

9

23

 

Пример 2

Введите пять целых положительных чисел

0

6

0

0

0

6

 

 

 

7. Вывод

Алгоритм работы программы и программа соответствуют друг другу. Мы получили верные результаты, которые мы смогли проконтролировать вычислениями с помощью калькулятора. На основании проделанной работы можно сделать вывод, что необходимо контролировать работу с типами данных, чтобы данные были однотипными, иначе будет возникать ошибка.

 


Задания на лабораторную работу № 2

Тема: «Условный оператор If»

 

 

  Цель: Ознакомиться с условным оператором If, его полную и неполную форму и научиться применять его.

 

Приборы и материалы: системный блок, монитор, клавиатура, мышь, операционная система MS-DOS или Windows, оболочка языка Паскаль, текстовый редактор.

 

На выполнение лабораторной работы отводится 4 часа.

 

Ход выполнения лабораторной работы.

 

12. Изучить теоретическую часть.

13. По полученному заданию на лабораторную работу в соответствии с вариантом сформулировать постановку задачи, которую необходимо выполнить в данной лабораторной работе.

14. Опираясь на постановку задачи сформулировать математическую постановку задачи, в которой необходимо отразить все математические законы, законы логики, теоремы, аксиомы, формулы и т.д., которые будут использоваться для решения задачи в данной лабораторной работе.

15. Написать алгоритм решения задачи.

16. Выбрать несколько входных данных, и используя алгоритм решения задачи протестировать вручную входные данные в соответствии с алгоритмом (пошагово) и получить результат. Входных данных должно быть не менее 5.

17. Используя компьютер с операционной системой MS-DOS или Windows и языком программирования Turbo Pascal 7.0 написать программу в соответствии с составленным алгоритмом решения задачи.

18. Протестировать программу на входных данных, которые использовались при проверке работы алгоритма.

19. Если результаты работы программы не совпадают с результатами тестирования алгоритма, необходимо исправить ошибки в программе.

20. Сделать отчет по проделанной работе в который входит:

20.1.      Постановка задачи

20.2.      Математическая постановка задачи

20.3.      Алгоритм решения задачи

20.4.      Результаты тестирования алгоритма

20.5.      Текст программы

20.6.      Результаты работы программы

20.7.      Вывод

21. Ответить на контрольные вопросы.

22. На выполнение лабораторной работы отводится 4 часа.

Выполнить программу на языке Pascal и написать по ней отчет. Пример оформления отчета по лабораторной работе приводится в приложении 3.


Задания на лабораторную работу №2

Написать программу, вычисляющую значение у, если значение х вводится с клавиатуры. Результат выдать на экран.

Номер варианта

Задание

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

 

 

 


ПРИЛОЖЕНИЕ 1

 

Теоретическая часть.

 

Условный оператор If может быть записан в полной и неполной формах, которые имеют следующий вид.

Неполная форма:

 

 

If  Выражение  then  Оператор

 

 

Полная форма:

 

 

If  Выражение  then  Оператор1 else Оператор2

 

 

При выполнении условного оператора сначала вычисляется Выражение, результат которого может принимать только булевский тип, а затем, в зависимости от значения результата (True, False), выполняется или оператор1, стоящий после ключевого слова then (если результат равен True), или Оператор2, стоящий после ключевого слова else (если результат равен False).

В случае, когда оператор If записан в неполной форме, при значении результата False управление передается оператору, следующему непосредственно после оператора If, а Оператор, стоящий за ключевым словом then, пропускается.

По синтаксису после ключевых слов then и else может стоять всего лишь один оператор.

Если же в какой либо из ветвей альтернативы (then или else) или сразу в обоих требуется выполнить несколько операторов, то следует воспользоваться составным оператором

 

begin

end

 

который позволяет интерпретировать группу операторов как один оператор.


Обобщенные формы простейшего случая оператора if приведены в таблице 1.

Таблица 1

Количество операторов в ветви

Обобщенная форма оператора if

Then

Else

Один

Один

If выражение

  then оператор

  else оператор

Несколько

Один

If выражение

  then begin

    оператор;

    оператор;

    оператор

  end

  else оператор

Один

Несколько

If выражение

  then оператор

  else begin

    оператор;

    оператор;

          …

    оператор

  end

Несколько

Несколько

If выражение

  then begin

    оператор;

    оператор;

    оператор

  end

else begin

    оператор;

    оператор;

          …

    оператор

  end

 


ПРИЛОЖЕНИЕ 2

Контрольные вопросы.

1.     Какой оператор позволяет выполнить одно из нескольких действий в зависимости от результата вычислений выражения?

2.     Как происходит работа условного оператора If?

3.     В каких двух формах может быть записан оператор If?

 

 


ПРИЛОЖЕНИЕ 3

Пример выполнения и оформления лабораторной работы

1.Постановка задачи.

Вычислить сумму пяти целых положительных чисел вводимых пользователем с клавиатуры. Результат вычислений выдать на экран. Выход из программы происходит при нажатии клавиш «пробел» или «ввод».

2. Математическая постановка задачи

Вычислить сумму S целых чисел значения которых больше или равны 0.

S=x1+x2+x3+x4+x5   или  S=Σxi, где i принимает значения 1,2,3,4,5.

S ≥ 0, т.к. xi ≥ 0.

3. Алгоритм решения задачи

11.                        начало

12.                        S:=0

13.                        «Введите пять целых положительных чисел»

14.                        i:=1

15.                        читаем xi

16.                        S:=S+xi

17.                        i:=i+1

18.                        пока i≤5 п.4 иначе п.9

19.                        Вывод S

20.      конец

4. Тестирование

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

Вводимые данные

Результат

2, 5, 6, 1, 9

23

0, 6, 0, 0, 0

6

-1, 8, 6, 0, 9

Несоответствие типов

К, 9, 2, 1, 9

Несоответствие типов

16. начало

17. S:=0

18. «Введите пять целых положительных чисел»

19. i:=1

20. S:=0+2

21. i:=1+1

22. S:=2+5

23. i:=2+1

24. S:=7+6

25. i:=3+1

26. S:=13+1

27. i:=4+1

28. S:=14+9

29. «23»

30. конец

 

5. Текст программы

program primer;

var i:byte;

    S,x:word;

begin

  S:=0;

  writeln('Введите пять целых положительных чисел');

  For i=1 to 5 do

    begin

      readln(x);

      S:=S+x;

    end;

  writeln(S);

  readln;

end.

 

6. Примеры работы программы

 

Пример 1

Введите пять целых положительных чисел

2

5

6

1

9

23

 

Пример 2

Введите пять целых положительных чисел

0

6

0

0

0

6

 

 

 

7. Вывод

Алгоритм работы программы и программа соответствуют друг другу. Мы получили верные результаты, которые мы смогли проконтролировать вычислениями с помощью калькулятора. На основании проделанной работы можно сделать вывод, что необходимо контролировать работу с типами данных, чтобы данные были однотипными, иначе будет возникать ошибка.

 


Задания на лабораторную работу № 3

Тема: «Операторы цикла»

 

  Цель: Ознакомиться с операторами цикла, выяснить разницу между ними. Научиться применять операторы цикла в программах и заменять один оператор другим и знать те случаи, когда это невозможно.

 

Приборы и материалы: системный блок, монитор, клавиатура, мышь, операционная система MS-DOS или Windows, оболочка языка Паскаль, текстовый редактор.

 

На выполнение лабораторной работы отводится 4 часа.

 

Ход выполнения лабораторной работы.

 

23. Изучить теоретическую часть.

24. По полученному заданию на лабораторную работу в соответствии с вариантом сформулировать постановку задачи, которую необходимо выполнить в данной лабораторной работе.

25. Опираясь на постановку задачи сформулировать математическую постановку задачи, в которой необходимо отразить все математические законы, законы логики, теоремы, аксиомы, формулы и т.д., которые будут использоваться для решения задачи в данной лабораторной работе.

26. Написать алгоритм решения задачи.

27. Выбрать несколько входных данных, и используя алгоритм решения задачи протестировать вручную входные данные в соответствии с алгоритмом (пошагово) и получить результат. Входных данных должно быть не менее 5.

28. Используя компьютер с операционной системой MS-DOS или Windows и языком программирования Turbo Pascal 7.0 написать программу в соответствии с составленным алгоритмом решения задачи.

29. Протестировать программу на входных данных, которые использовались при проверке работы алгоритма.

30. Если результаты работы программы не совпадают с результатами тестирования алгоритма, необходимо исправить ошибки в программе.

31. Сделать отчет по проделанной работе в который входит:

31.1.      Постановка задачи

31.2.      Математическая постановка задачи

31.3.      Алгоритм решения задачи

31.4.      Результаты тестирования алгоритма

31.5.      Текст программы

31.6.      Результаты работы программы

31.7.      Вывод

32. Ответить на контрольные вопросы.

33. На выполнение лабораторной работы отводится 4 часа.

Выполнить программу на языке Pascal и написать по ней отчет. Пример оформления отчета по лабораторной работе приводится в приложении 3.


Задания на лабораторную работу №3

Написать программы с использованием всех возможных операторов цикла для вычисления значений у, если х принадлежит заданному диапазону, а значения х изменяется с шагом h. Результат выдать на экран.

 

Номер варианта

Шаг h

Диапазон

Задание

1

2

(-4;6]

2

0.5

[3;9]

3

1

[1;12]

4

3

(3;16)

5

0.7

[-2;3]

6

2

[6;13)

7

1.5

(2;13]

8

4

[1;20]

9

2

[-3;10]

10

0.5

(-13;1)

11

3

[-12;-1]

12

1.3

[0;10)

13

1

(-2;9]

14

4

[-15;1]

15

2

[-1;14]

16

0.5

(-2;6)

17

5

[-7;18]

18

0.3

[0;4)

19

1

(-11;3]

20

3

[-2;16]

21

0.8

[-2;12]

22

2

(3;17)

23

1

[0;9]

24

3

[-6;15)

25

0.5

(0;5)

26

1

(2;11]

27

2

(0;19)

28

0.4

[14;17]

29

1

(-3;12]

30

1.6

[5;11)

 

 


ПРИЛОЖЕНИЕ 1

Теоретическая часть.

Операторы цикла (повторения) языка Pascal поддерживают напрямую три классических управляющих конструкций повторения: цикл с предусловием (while), цикл с постусловием (repeat) и цикл со счетчиком (for).

 

Оператор цикла с предусловием while.

Оператор while вместе с оператором case являются самыми универсальными управляющими конструкциями. С помощью операторов case можно записать условие разветвления произвольной сложности, а с помощью оператора while можно записать любое циклическое действие.

Упрощенно общую структуру оператора цикла с предусловием можно изобразить одним из двух следующих способов.

Если тело цикла состоит из одного оператора

Если тело цикла включает более одного оператора

While Условие do Оператор

While Условие do

begin Оператор;

          Оператор;

              …

          Оператор

End

Оператор while позволяет многократно выполнять одни и те же действия в зависимости от некоторого Условия, которое записывается между ключевыми словами while и do и должно быть выражением булевского типа, то есть принимать только значения True или False.

Опишем работу цикла while более подробно. Сначала, при входе в цикл, вычисляется Условие. Если оно равно False, то вход в цикл не выполняется и управление передается оператору, стоящему непосредственно за Операторами тела цикла. Если же Условие равно True, то происходит вход в цикл и однократное выполнение Операторов его тела. Как только достигнут конец тела цикла, управление его снова передается на его заголовок, где снова вычисляется Условие. Если значение Условия все еще равно True (что зависит от изменения значений переменных во время предыдущего выполнения Операторов цикла), то тело цикла выполняется еще один раз, и так далее. Как только очередное выполнение Условия цикла дает значение False, работа цикла завершается.

 

Оператор цикла с постусловием repeat.

Оператор цикла с постусловием состоит из ключевого слова repeat, за которым следуют операторы тела цикла, и замыкающего ключевого слова until, после которого указывается условие окончания цикла.

Упрощенно общую структуру оператора repeat можно представить так:

 

 

 

Repeat

    Оператор;

    Оператор;

         …

    Оператор

until Условие

Заметим, что в отличие от while, оператор repeat не требует использования составного оператора, когда в его теле необходимо записать более одного оператора.

Кроме того оператор repeat является не столь универсальным, как оператор while, поскольку его Условие располагается в конце тела цикла и операторы его тела будут, в отличие от цикла while, всегда выполняться как минимум один раз. Это означает, что оператор repeat не годится для записи циклов, в которых может возникнуть ситуация, когда тело цикла не должно выполняться ни разу.

Выражение, используемое  в качестве Условия окончания цикла, должно давать результат булевского типа.

Общий принцип работы цикла repeat такой же, как у цикла с предусловием, но в отличие от while, Условие проверяется не перед выполнением тела цикла, а после него, и управление циклом repeat прямо противоположно управлению циклом while. То есть цикл продолжается пока Условие равно False и заканчивается, когда Условие становиться равным True.

 

Оператор цикла со счетчиком (с параметром) for.

Оператор цикла со счетчиком подходит для программирования только таких циклических фрагментов, в которых для выполнения цикла известны начальное и конечное значения счетчика повторения цикла. Это обуславливает его менее широкую сферу применения, чем более универсальных операторов while и repeat. Однако в тех случаях, когда его использование возможно, оператор for, благодаря своей высокой наглядности, имеет несомненное преимущество перед операторами цикла с условиями.

Упрощенно общую структуру оператора цикла со счетчиком можно представить одним из следующих способов.

1)    Если счетчик при выполнении цикла наращивает свое значение:

For Переменная := Начальное Значение Счетчика

to Конечное Значение Счетчика

do Оператор

Чтобы оператор выполнился хотя бы один раз Начальное Значение Счетчика должно быть не больше, чем Конечное Значение Счетчика.

2)    Если счетчик при выполнении цикла уменьшает свое значение:

For Переменная := Начальное Значение Счетчика

downto Конечное Значение Счетчика

do Оператор

Чтобы Оператор выполнился хотя бы один раз Начальное Значение Счетчика должно быть не меньше, чем Конечное Значение Счетчика.

Оператор for имеет два существенных ограничения:

·        Шаг изменения счетчика циклов может быть только или +1 (если используется ключевое слово to), или -1(если используется ключевое слово downto).

·        Переменная, выступающая в роли счетчика циклов, может быть только порядкового типа и должна быть локальной для того блока, в котором находится оператор for.

Сравнение работы операторов while, repeat и for.

Отметим отличия и особенности стиля работы с рассмотренными циклическими операторами.

Цикл с предусловием while (пока условие истинно)

Цикл с постусловием repeat (до истинности условия)

1. До начала цикла должны быть сделаны начальные установки переменных, управляющих условием цикла, для корректного входа в цикл

2. В теле цикла должны присутствовать операторы, изменяющие переменные условия так, чтобы цикл через некоторое число итераций завершился

3. Цикл работает пока условие истинно (пока true)

3. Цикл работает пока условие ложно (пока false)

4. цикл завершается, когда условие становиться ложным (до false)

4. Цикл завершается, когда условие становиться истинным (до true)

5. Цикл может не выполниться ни разу, если исходное значение условия при входе в цикл равно False

5. Цикл обязательно выполняется как минимум один раз

6. Если в теле цикла требуется более одного оператора, то необходимо использовать составной оператор

6. Независимо от количества операторов в теле цикла использование составного оператора не требуется

Цикл со счетчиком For

1. Начальная установка переменной счетчика циклов до заголовка не требуется

2. Изменение в теле цикла значений переменных, стоящих в заголовке цикла, не допускается

3. Количество итераций цикла неизменно и точно определяется значениями нижней и верхней границ и шага цикла

4. Нормальный ход работы цикла может быть нарушен оператором goto или процедурами Break и Continue

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

 


ПРИЛОЖЕНИЕ 2

Контрольные вопросы.

1.     Какие управляющие конструкции повторения поддерживаются в языке Pascal?

2.     Как работает оператор цикла while?

3.     В чем заключается различие между операторами repeat и while?

4.     Какие ограничения накладываются на использование оператора for?

5.     Какие существуют отличия и особенности при работе с операторами while, repeat, for?


ПРИЛОЖЕНИЕ 3

Пример выполнения и оформления лабораторной работы

1.Постановка задачи.

Вычислить сумму пяти целых положительных чисел вводимых пользователем с клавиатуры. Результат вычислений выдать на экран. Выход из программы происходит при нажатии клавиш «пробел» или «ввод».

2. Математическая постановка задачи

Вычислить сумму S целых чисел значения которых больше или равны 0.

S=x1+x2+x3+x4+x5   или  S=Σxi, где i принимает значения 1,2,3,4,5.

S ≥ 0, т.к. xi ≥ 0.

3. Алгоритм решения задачи

21.                        начало

22.                        S:=0

23.                        «Введите пять целых положительных чисел»

24.                        i:=1

25.                        читаем xi

26.                        S:=S+xi

27.                        i:=i+1

28.                        пока i≤5 п.4 иначе п.9

29.                        Вывод S

30.      конец

4. Тестирование

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

Вводимые данные

Результат

2, 5, 6, 1, 9

23

0, 6, 0, 0, 0

6

-1, 8, 6, 0, 9

Несоответствие типов

К, 9, 2, 1, 9

Несоответствие типов

31. начало

32. S:=0

33. «Введите пять целых положительных чисел»

34. i:=1

35. S:=0+2

36. i:=1+1

37. S:=2+5

38. i:=2+1

39. S:=7+6

40. i:=3+1

41. S:=13+1

42. i:=4+1

43. S:=14+9

44. «23»

45. конец

 

5. Текст программы

program primer;

var i:byte;

    S,x:word;

begin

  S:=0;

  writeln('Введите пять целых положительных чисел');

  For i=1 to 5 do

    begin

      readln(x);

      S:=S+x;

    end;

  writeln(S);

  readln;

end.

 

6. Примеры работы программы

 

Пример 1

Введите пять целых положительных чисел

2

5

6

1

9

23

 

Пример 2

Введите пять целых положительных чисел

0

6

0

0

0

6

 

 

 

7. Вывод

Алгоритм работы программы и программа соответствуют друг другу. Мы получили верные результаты, которые мы смогли проконтролировать вычислениями с помощью калькулятора. На основании проделанной работы можно сделать вывод, что необходимо контролировать работу с типами данных, чтобы данные были однотипными, иначе будет возникать ошибка.

 


Задания на лабораторную работу № 4

Тема: «Одномерные массивы»

 

  Цель: Ознакомиться с одномерными массивами, способами их заполнения. Научиться выполнять операции над элементами массивов.

 

Приборы и материалы: системный блок, монитор, клавиатура, мышь, операционная система MS-DOS или Windows, оболочка языка Паскаль, текстовый редактор.

 

На выполнение лабораторной работы отводится 4 часа.

 

Ход выполнения лабораторной работы.

34. Изучить теоретическую часть.

35. По полученному заданию на лабораторную работу в соответствии с вариантом сформулировать постановку задачи, которую необходимо выполнить в данной лабораторной работе.

36. Опираясь на постановку задачи сформулировать математическую постановку задачи, в которой необходимо отразить все математические законы, законы логики, теоремы, аксиомы, формулы и т.д., которые будут использоваться для решения задачи в данной лабораторной работе.

37. Написать алгоритм решения задачи.

38. Выбрать несколько входных данных, и используя алгоритм решения задачи протестировать вручную входные данные в соответствии с алгоритмом (пошагово) и получить результат. Входных данных должно быть не менее 5.

39. Используя компьютер с операционной системой MS-DOS или Windows и языком программирования Turbo Pascal 7.0 написать программу в соответствии с составленным алгоритмом решения задачи.

40. Протестировать программу на входных данных, которые использовались при проверке работы алгоритма.

41. Если результаты работы программы не совпадают с результатами тестирования алгоритма, необходимо исправить ошибки в программе.

42. Сделать отчет по проделанной работе в который входит:

42.1.      Постановка задачи

42.2.      Математическая постановка задачи

42.3.      Алгоритм решения задачи

42.4.      Результаты тестирования алгоритма

42.5.      Текст программы

42.6.      Результаты работы программы

42.7.      Вывод

43. Ответить на контрольные вопросы.

44. На выполнение лабораторной работы отводится 4 часа.

Выполнить программу на языке Pascal и написать по ней отчет. Пример оформления отчета по лабораторной работе приводится в приложении 3.

 

 


ПРИЛОЖЕНИЕ 1

Теоретическая часть.

 

Массив – это структура данных, которая представляет собой однородную, фиксированную по размеру и конфигурации совокупность элементов простой или составной структуры, упорядоченных по номерам.

Массив определяется именем (идентификатором) и количеством размерностей (координат), необходимых для указания местонахождения требуемого элемента массива. Имя массива является единым для всех его элементов.

Поскольку конфигурация элементов массива фиксирована, то к отдельному элементу можно обращаться с помощью одного или нескольких индексов, в зависимости от размерностей массива. В качестве индексов могут использоваться константы и переменные порядковых типов. Элементами массивов могут быть как простые переменные любых типов, так и переменные составных типов (массивов, строк, записей и т.д.).

При решении задач, как правило, используются одномерные, двухмерные и трехмерные массивы. Массивы большей размерности на практике встречаются редко.

Схематично одномерный массив можно представить таким образом:

 

 

 

 


ПРИЛОЖЕНИЕ 2

Контрольные вопросы.

1.     Что представляет собой массив как структура данных?

2.     Какие данные могут выступать в качестве индексов массива?

3.     Какие данные могут выступать в качестве элементов массива?


ПРИЛОЖЕНИЕ 3

Пример выполнения и оформления лабораторной работы

1.Постановка задачи.

Вычислить сумму пяти целых положительных чисел вводимых пользователем с клавиатуры. Результат вычислений выдать на экран. Выход из программы происходит при нажатии клавиш «пробел» или «ввод».

2. Математическая постановка задачи

Вычислить сумму S целых чисел значения которых больше или равны 0.

S=x1+x2+x3+x4+x5   или  S=Σxi, где i принимает значения 1,2,3,4,5.

S ≥ 0, т.к. xi ≥ 0.

3. Алгоритм решения задачи

31.                        начало

32.                        S:=0

33.                        «Введите пять целых положительных чисел»

34.                        i:=1

35.                        читаем xi

36.                        S:=S+xi

37.                        i:=i+1

38.                        пока i≤5 п.4 иначе п.9

39.                        Вывод S

40.      конец

4. Тестирование

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

Вводимые данные

Результат

2, 5, 6, 1, 9

23

0, 6, 0, 0, 0

6

-1, 8, 6, 0, 9

Несоответствие типов

К, 9, 2, 1, 9

Несоответствие типов

46. начало

47. S:=0

48. «Введите пять целых положительных чисел»

49. i:=1

50. S:=0+2

51. i:=1+1

52. S:=2+5

53. i:=2+1

54. S:=7+6

55. i:=3+1

56. S:=13+1

57. i:=4+1

58. S:=14+9

59. «23»

60. конец

 

5. Текст программы

program primer;

var i:byte;

    S,x:word;

begin

  S:=0;

  writeln('Введите пять целых положительных чисел');

  For i=1 to 5 do

    begin

      readln(x);

      S:=S+x;

    end;

  writeln(S);

  readln;

end.

 

6. Примеры работы программы

 

Пример 1

Введите пять целых положительных чисел

2

5

6

1

9

23

 

Пример 2

Введите пять целых положительных чисел

0

6

0

0

0

6

 

 

 

7. Вывод

Алгоритм работы программы и программа соответствуют друг другу. Мы получили верные результаты, которые мы смогли проконтролировать вычислениями с помощью калькулятора. На основании проделанной работы можно сделать вывод, что необходимо контролировать работу с типами данных, чтобы данные были однотипными, иначе будет возникать ошибка.

 


Задания на лабораторную работу № 1

Задания на лабораторную работу № 1

Вывод 2. Ответить на контрольные вопросы для закрепления знаний теоретической части

Вывод 2. Ответить на контрольные вопросы для закрепления знаний теоретической части

Задания на лабораторную работу №1

Задания на лабораторную работу №1

ПРИЛОЖЕНИЕ 1 Теоретическая часть

ПРИЛОЖЕНИЕ 1 Теоретическая часть

Таблица 1 Название типа

Таблица 1 Название типа

Характеристики булевских типов приведены в таблице 3

Характеристики булевских типов приведены в таблице 3

Элементы типа Pointer , в отличие от определяемых пользователем указательных типов, могут содержать адрес переменной любого типа

Элементы типа Pointer , в отличие от определяемых пользователем указательных типов, могут содержать адрес переменной любого типа

ПРИЛОЖЕНИЕ 2 Контрольные вопросы

ПРИЛОЖЕНИЕ 2 Контрольные вопросы

ПРИЛОЖЕНИЕ 3 Пример выполнения и оформления лабораторной работы 1

ПРИЛОЖЕНИЕ 3 Пример выполнения и оформления лабораторной работы 1

Текст программы program primer; var i:byte;

Текст программы program primer; var i:byte;

Задания на лабораторную работу № 2

Задания на лабораторную работу № 2

Результаты работы программы 1

Результаты работы программы 1

Задания на лабораторную работу №2

Задания на лабораторную работу №2

9 10 11 12 13 14 15 16 17

9 10 11 12 13 14 15 16 17

18 19 20 21 22 23 24 25 26

18 19 20 21 22 23 24 25 26

27 28 29 30

27 28 29 30

ПРИЛОЖЕНИЕ 1 Теоретическая часть

ПРИЛОЖЕНИЕ 1 Теоретическая часть

Обобщенные формы простейшего случая оператора if приведены в таблице 1

Обобщенные формы простейшего случая оператора if приведены в таблице 1

ПРИЛОЖЕНИЕ 2 Контрольные вопросы

ПРИЛОЖЕНИЕ 2 Контрольные вопросы

ПРИЛОЖЕНИЕ 3 Пример выполнения и оформления лабораторной работы 1

ПРИЛОЖЕНИЕ 3 Пример выполнения и оформления лабораторной работы 1

Текст программы program primer; var i:byte;

Текст программы program primer; var i:byte;

Задания на лабораторную работу № 3

Задания на лабораторную работу № 3

Результаты работы программы 1

Результаты работы программы 1

Задания на лабораторную работу №3

Задания на лабораторную работу №3

ПРИЛОЖЕНИЕ 1 Теоретическая часть

ПРИЛОЖЕНИЕ 1 Теоретическая часть

Repeat Оператор;

Repeat Оператор;

Чтобы Оператор выполнился хотя бы один раз

Чтобы Оператор выполнился хотя бы один раз

ПРИЛОЖЕНИЕ 2 Контрольные вопросы

ПРИЛОЖЕНИЕ 2 Контрольные вопросы

ПРИЛОЖЕНИЕ 3 Пример выполнения и оформления лабораторной работы 1

ПРИЛОЖЕНИЕ 3 Пример выполнения и оформления лабораторной работы 1

Текст программы program primer; var i:byte;

Текст программы program primer; var i:byte;

Задания на лабораторную работу № 4

Задания на лабораторную работу № 4

Ответить на контрольные вопросы

Ответить на контрольные вопросы

ПРИЛОЖЕНИЕ 1 Теоретическая часть

ПРИЛОЖЕНИЕ 1 Теоретическая часть

ПРИЛОЖЕНИЕ 2 Контрольные вопросы

ПРИЛОЖЕНИЕ 2 Контрольные вопросы

ПРИЛОЖЕНИЕ 3 Пример выполнения и оформления лабораторной работы 1

ПРИЛОЖЕНИЕ 3 Пример выполнения и оформления лабораторной работы 1

Текст программы program primer; var i:byte;

Текст программы program primer; var i:byte;
Скачать файл