Программная инженерия

Запуск интегрированной среды Turbo Pascal. Выполнение программы в пошаговом режиме с прослеживанием работы процедуры. Локальные и глобальные переменные. Комплексное изучение понятия и назначения подпрограммы. Языки программирования высокого уровня.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 13.04.2014
Размер файла 52,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Филиал федерального государственного образовательного учреждения высшего профессионального образования

«Байкальский государственный университет экономики и права» в г. Усть-Илимске

(Филиал ФГБОУ ВПО «БГУЭП» в г. Усть-Илимске)

Кафедра Экономики

Специальность «Прикладная информатика в экономике»

Контрольная работа

по дисциплине «Программная инженерия»

Руководитель

Преподаватель Мустафина О.В.

Исполнитель

Студент группы ПИЭу-11

Машук Е.А.

Усть-Илимск 2014

Задание 1

локальный программирование язык

1. Запустить интегрированную среду Turbo Pascal.

2. В окне редактора наберем программу:

Program Trial_1;

Var X,Y : Integer;

Procedure Reverse ( A, B : Integer );

Begin

A := A * 10; B := B + 5;

WriteLn ( B : 3, A : 3)

End;

Begin

X := 1; Y := 100;

Reverse (X, Y);

Reverse (4, 5);

Reverse (4 * X, 5 * Y);

End.

1

2

3

4

5

6

7

8

9

10

11

12

13

3. Выполним программу и запишем в отчет полученные результаты в виде таблицы:

Таблица 1

№ п/п

Формальные параметры

Фактические параметры

Результат вывода на экран

1

A

B

X=1

Y=100

105 10,10 40,505 40

2

5

5

2

100

105 20, 10 40, 505 80

3

3

3

2

200

205 20, 10 40, 1005 80

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

4. В окне редактора наберем программу:

Program Trial_2;

Var I : Integer;

Procedure Count (X : Integer);

Begin

X := X + 1;

Write (` X = `, X);

End;

Begin

I := 5;

Write (` I 1 = `, I);

Count (I);

Write (` I 2 = `, I);

End.

1

2

3

4

5

6

7

8

9

10

11

12

13

5. Выполним программу и запишем полученные результаты в виде таблицы

Таблица 2

№ п/п

Переменная

Результат вывода на экран для процедуры Procedure Count (X : Integer );

Результат вывода на экран для процедуры Procedure Count (Var X: Integer);

1

I 1

5

5

2

X

6

6

3

I 2

5

6

6. Внесем изменения в программу, заменив строку 3 на следующий текст:

Procedure Count (Var X : Integer);

7. Выполним программу и запишем в отчет полученные результаты.

8. Выполним программу еще раз, но в пошаговом режиме с прослеживанием работы процедуры. Зададим для просмотра в окне отладчика переменные I и Х. Обратим внимание, как меняются значения этих переменных.

Локальные и глобальные переменные:

9. В окне редактора наберите программу:

Program Trial_3;

Var A, B : Integer;

Procedure ZB_1;

Var A: Integer;

Begin

A := 10; B:= 15;

WriteLn ('A2 = ', A, 'B2 = ', B)

End;

Begin

A:= 18; B:=37;

WriteLn ('A1 = ',A, 'B1 = ',B);

ZB_1;

WriteLn ('A3 = ',A, 'B3 = ',B)

End.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

10. Выполним программу в пошаговом режиме с прослеживанием работы процедуры. Зададим для просмотра в окне отладчика переменные A и B. Обратим внимание, как меняются значения этих переменных. Запишем отчет в результаты в виде таблицы.

Таблица 3

A1

18B1

37

A2

10B2

15

A3

18B3

15

ОТВЕТЫ НА ВОПРОСЫ:

1. Что такое подпрограмма? Для чего нужна подпрограмма?

Подпрограмма - это отдельная функционально независимая часть программы.

Подпрограммы решают три важные задачи:

избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;

улучшают структуру программы, облегчая ее понимание;

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

2. Какие виды подпрограмм есть в Turbo Pascal? Чем они отличаются друг от друга?

В языках программирования высокого уровня используется два типа подпрограмм: процедуры и функции.

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

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

Подпрограммы, входящие в состав классов в объектных языках программирования, обычно называются методами. Этим термином называют любые подпрограммы-члены класса, как функции, так и процедуры; когда требуется уточнение, говорят о методах-процедурах или методах-функциях.

3. Что такое процедура? Ее общий вид.

При решении разных задач часто возникает необходимость проводить вычисления по одним и тем же алгоритмам, например, вычислять корень уравнения f(x)=0. В Паскале предусмотрена возможность объединения любой последовательности операторов в самостоятельную подпрограмму, называемую процедурой. PROCEDURE N(P1:TYPE1; P2:TYPE2; VAR P3:TYPE3 ...); N - имя процедуры, PI - формальные параметры, TI - их типы.

4. Что называется параметром, и каково его назначение?

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

параметры-значения;

параметры-переменные;

параметры-константы (используются только в версии 7.0);

параметры-процедуры и параметры-функции.

5. Правила записи параметров процедуры.

Для каждого формального параметра следует указать имя и, как правило, тип, а в случае параметра-переменной или параметра-константы - его категорию. Имена параметров могут быть любыми, в том числе и совпадать с именами объектов программы. Необходимо лишь помнить, что в этом случае объект основной программы с таким именем становится недоступным для непосредственного использования подпрограммой. Тип формального параметра может быть практически любым, однако в заголовке подпрограммы нельзя вводить новый тип. Например, нельзя писать function Max(A: array[1..100] of real): real; Чтобы правильно записать этот заголовок, следует в основной программе ввести тип-массив, а затем использовать его в заголовке: type tArr =array [1..100] of real; function Max (A: tArr) : real; При обращении к подпрограмме формальные параметры заменяются соответствующими фактическими вызывающей программой или подпрограммой.

6. Формальные и фактические параметры. Каково отличие параметров-значений от параметров-переменных?

Формальные параметры - это переменные, которые используются только внутри процедуры во время ее работы и играют роль приемника информации, поступающей извне. Поставщиками информации (конкретных значений) для формальных параметров являются. Фактическими параметрами могут служить переменные, константы, числа, выражения. При вызовах процедуры в разных частях основной программы, могут меняться фактические параметры, но формальные параметры, находящиеся внутри процедуры и воспринимающие значения от фактических параметров, остаются без изменений, меняются только хранимые ими значения. Чтобы отличить параметр-переменную от параметра-значения, перед ним в списке формальных параметров описываемой процедуры записывают служебное слово "Var". Для параметра-переменной должен быть указан его тип. Если фактическим параметром, передающим свое содержимое параметру-значению, может быть любое выражение соответствующего типа (переменная, константа, число, арифметическое выражение), то фактическим параметром для параметра-переменной может быть только переменная.

7. Как обращаться к процедуре?

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

procedure NumString(N: integer; var S: string);

var

V: integer;

begin

V := Abs(N);

S := '';

repeat

S := Chr(N mod 10 + Ord('0')) + S;

N := N div 10;

until N = 0;

if N < 0 then S := '-' + S;

end;

8. Последовательность событий при вызове процедуры с параметрами-значениями.

Var X,Y : Integer;

Procedure Reverse (A, B : Integer);

Begin

A := A * 10; B := B + 5;

WriteLn (B : 3, A : 3)

End;

Begin

X := 1; Y := 100; Reverse (X, Y);

Reverse (4, 5);

Reverse (4 * X, 5 * Y);

End.

10. В каких случаях в программе указывается директива компилятору {$I}

{$I < имя файла >}

Тип локальный. Сообщает компилятору о необходимости включить в компиляцию названный файл. Текст файла вставляется сразу за директивой. Расширение по умолчанию .PAS. Турбо-Паскаль допускает одновременно не более 15 входных файлов. Значит допускается вложенность до 15-ти уровней. Так же включаемый файл не может указываться в середине раздела операторов. Это означает, что все операторы между Begin и End раздела операторов должны быть в одном файле.

11. В чем различие между стандартными и определенными пользователем подпрограммами?

Подпрограммы могут быть стандартными, т.е. определенными системой, и собственными, т.е. определенными программистом. Стандартная подпрограмма (процедура или функция) - подпрограмма, включенная в библиотеку программ, доступ к которой обеспечивается средствами языка программирования. Вызывается подпрограмма по имени с заданием фактических параметров. Типы фактических параметров должны соответствовать типам формальных параметров, указанным при описании данной процедуры в библиотечке процедур и функций. Из набора стандартных процедур и функций по обработке одного типа информации составляются модули. Каждый модуль имеет своё имя (мы уже хорошо знакомы с модулями Crt, Graph). Доступ к процедурам и функциям модуля осуществляется при подключении этого модуля (Uses Crt, Graph). Help содержит подробные описания предусмотренных средой программирования процедур и функций. Для вызова подсказки при работе со стандартными процедурами и функциями нужно поставить на имя подпрограммы курсор и нажать клавиши <Ctrl+F1>. Справочная информация о процедурах и функциях в Help имеет стандартную структуру.

12. Чем отличаются локальные от глобальных переменных?

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

procedure t1;

var y1, y2: real;

procedure sq1;

var a, b, c, d: real;

begin

{Переменные a, b, c, d являются локальными для sq1,

область их действия - процедура sq1}

……………………………………

end;

begin

{Переменные y1, y2 - нелокальные для sq1,

область их действия - t1 и sq1}

end;

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

Задание 2

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

Вариант 11.

Найти произведение всех ее положительных элементов и заменить им все диагональные элементы этой матрицы.

Теоретическое введение:

Для обработки матриц в задании применены вложенные операторы цикла со счетчиком:

for <идентификатор>:=<нач. значение счетчика> to < конечное значение счетчика > do

<оператор>

Ввод фактического количества строк и столбцов квадратной матрицы A (k<=N), ввод-вывод элементов матрицы Mass и произведение всех ее положительных элементов и замены ими всех диагональных элементов этой матрицы реализовано через соответствующие процедуры: Vvod, Vivod, Proizv с параметрами. Выходные параметры передаются через атрибут Var. Используются одна стандартная подпрограмма модуля CRT:

Для ввода символа (в данном случае n или N) - функция Random.

Описание программы:

Программа написана на алгоритмическом языке ПАСКАЛЬ и реализована в среде PascalABC, процессор Pentium. Программа состоит из главной программы и трех подпрограмм (Vvod, Vivod, Proizv), объединенных в единый модуль WORK11.pas. Из главной программы вызывается внешния подпрограмма стандартного модуля CRT: Random.

Описание логической структуры:

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Описание входных данных:

Mass - квадратная матрица, состоящая из вещественных элементов (типа integer): ArrayA: array[1..N,1..N] of integer.

Описание выходных данных:

S: integer - вычисляет произведение всех положительных элементов матрицы в процедуре Proizv.

ArrayA: array[1..N,1..N] of integer - массив произведение всех ее положительных элементов и с замененными ими все диагональные элементы этой матрицы Mass - выводится в процедуре Vivod.

Описание подпрограмм:

Процедура Vvod(Var Mass:ArrayA) - служит для заполнения массива с помошью процедуры Random.

Процедура Vivod(Mass:ArrayA) - Служит для ввода значений вещественных элементов матрицы Mass типа ArrayA=array[1..N,1..N] of integer.

Процедура Proizv(Mass:ArrayA;Var s:integer) - служит для произведения всех положительных значений матрицы.

Описание алгоритма решения задачи

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

ТЕСТОВЫЕ ПРИМЕРЫ

Присвоим значение N=3

0 -5 -3

2 1 -5

-3 -5 3

Произведение = 6

6 -5 6

2 6 -5

6 -5 6

Присвоим значение N=2

-2 -5

3 3

Произведение = 9

9 9

9 9

Присвоим значение N=4

-5 -2 1 -3

-1 2 -2 -2

1 2 -4 -1

0 -5 2 -1

Произведение = 8

8 -2 1 8

-1 8 8 -2

1 8 8 -1

8 -5 2 8

ЛИСТИНГ ПРОГРАММЫ Work11.pas

Program Work11;

Uses CRT;

Const N=10;

Type ArrayA=array[1..N,1..N] of integer;

Var Mass:ArrayA;

i, j, j1, j2, S:integer;

{Заполняем массив с количеством N строк и столбцов. С помощью процедуры Random.}

Procedure Vvod(Var Mass:ArrayA);

Var i, j:integer;

Begin

For i:=1 to N do

For j:=1 to N do

Begin

Mass[i,j]:=Random(9)-5;

End;

End;

{Вывод значений вещественных элементов матрицы Mass.}

Procedure Vivod(Mass:ArrayA);

Var i, j:integer;

Begin

For i:=1 to N do

Begin

For j:=1 to N do

write(Mass[i,j]:4);

writeln;

End;

End;

{Вычисление произведения положительных чисел квадратной матрицы Mass.}

Procedure Proizv(Mass:ArrayA;Var s:integer);

Var i, j:integer;

Begin

s:=1;

For i:=1 to N do

For j:=1 to N do

if Mass[i,j]>0 then s:=s*Mass[i,j];

End;

{Главная программа}

Begin

Vvod(Mass);

Vivod(Mass);

Proizv(Mass,s);

j1:=0;

j2:=n+1;

For i:=0 to n-1 do

Begin

Mass[i+1,j1+1]:=s;

Mass[i+1,j2-1]:=s;

j2:=j2-1;

inc(j1);

End;

writeln('Произведение= ',s);

Vivod(Mass);

readln;

End.

Список использованной литературы

1. Абрамов С.А., Зима Е.В. Начала информатики. М., 1989.

2. Вирт Н. Алгоритмы + структуры данных = программы. М., 1985.

3. Джонс Ж., Харроу К. Решение задач в системе Турбо Паскаль. М., 1991.

4. Мизрохи С.В. TURBO PASCAL и объектно-ориентированное программирование. М., 1992.

5. Прайс Д. Программирование на языке Паскаль: Практическое руководство. М., 1987.

6. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. М., 1997.

7. Фирменная документация и компьютерные справочники (файлы помощи типа HELP).

Размещено на Allbest.ru

...

Подобные документы

  • Основы работы на языке высокого уровня Turbo Pascal. Основное оборудование и программное обеспечение. Операторы, необходимы для работы в графической среде Turbo Pascal. Запуск графического режима. Текст программы в графической среде Turbo Pascal.

    лабораторная работа [12,7 K], добавлен 14.05.2011

  • Сущность среды программирования Turbo Pascal. Разработка программы с учетом потребительских свойств. Особенности методов современной технологии программирования (пошаговой детализации, структурный, модульный принцип, метод иерархической декомпозиции).

    курсовая работа [57,1 K], добавлен 03.03.2011

  • Понятие и содержание процедур и функций среды TP как логически самостоятельных фрагментов программы. Описание списка формальных параметров процедуры Pascal и преобразование подпрограммы в массив. Локализация имен и правила работы с модулями среды TP.

    презентация [154,6 K], добавлен 10.10.2013

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

    учебное пособие [1,5 M], добавлен 10.12.2010

  • История создания и развитие Pascal. Особенности пакета программирования Turbo. его возможности редактора текстов, компилятора и отладчика. Построения программы на языке Turbo Pascal, ее структура, типы алгоритмов, одномерные и многомерные массивы.

    курсовая работа [519,3 K], добавлен 25.06.2011

  • Изучение текстового режима языка программирования Turbo Pascal. Написание игры "Змейка" с помощью средств, процедур и функций языка программирование Turbo Pascal. Структурное и функциональное описание разработки. Листинг и общие примеры работы программы.

    контрольная работа [286,3 K], добавлен 10.04.2011

  • Базовые информационные технологии в управлении. Целый и вещественный тип данных языка программирования Turbo Pascal. Создание программы в интегрированной инструментальной оболочке Turbo Pascal 7.0. Полезные качества информационных технологий управления.

    курсовая работа [1,1 M], добавлен 12.02.2015

  • Структура и основные элементы языка Turbo Pascal. Алгоритм составления простейших программ на Turbo Pascal. Применение условного оператора и сильноветвящихся алгоритмов. Циклы с предусловием и постусловием, сочетание циклических и условных операторов.

    реферат [64,0 K], добавлен 20.03.2016

  • Разработка эскизного и технического проектов программы "Helpopr" (ввод, хранение и вывод данных на дисплей по запросу пользователя). Язык программирования Turbo Pascal. Описание алгоритма программы. Требования к компьютеру и программному обеспечению.

    курсовая работа [198,1 K], добавлен 03.02.2010

  • Программирование и структура программы на языке Turbo Pascal и MS Visual C++6.0. Вычисление площади круга. Реализация программы в системе Turbo Pascal и MS VISUAL C++6.0 для Windows. Структура окна ТРW. Сохранение текста программы в файле на диске.

    лабораторная работа [3,7 M], добавлен 22.03.2012

  • Основные сведения о языках программирования и их состав. Программа для компьютера. Использование компилятора и операторы. Языки программирования высокого уровня. Концепции объектно-ориентированного программирования. Языки искусственного интеллекта.

    презентация [6,3 M], добавлен 14.08.2013

  • История появления и распространения Turbo Pascal - среды разработки для языка программирования Паскаль. Общий вид объявления файлового типа. Входная, выходная и промежуточная информация. Алгоритм решения задачи: словесный алгоритм, блок-схема, программа.

    курсовая работа [359,4 K], добавлен 05.01.2010

  • Сравнительный анализ наиболее распространенных языков, их классификация, описание достоинств и недостатков. Использование процедур, функции и подпрограмм в языках программирования высокого уровня. Разработка и реализация программы "Бортовой компьютер".

    курсовая работа [329,8 K], добавлен 22.06.2014

  • Разработка алгоритмов методом пошаговой детализации. Типы данных и операции в Turbo-Pascal. Организация работы с подпрограммами. Составление алгоритмов и программ задач с использованием конечных сумм. Организация работы с динамическими переменными.

    учебное пособие [1,4 M], добавлен 26.03.2014

  • Разработка тестирующей программы для проверки знаний студента по математике на языке программирования Turbo Pascal с использованием подпрограмм "Vvod" (создание файла с вопросами и ответами) и "Initialization" (запуск тестирование и инициализация файла).

    курсовая работа [137,7 K], добавлен 28.03.2010

  • Краткое описание работы базы данных. Программирование на языке Object Pascal в среде Delphi. Структура данных, описание типов и файлов. Глобальные и локальные переменные, процедуры, используемые в модуле. Расчёт объёма необходимой оперативной памяти.

    курсовая работа [215,7 K], добавлен 07.12.2010

  • История программных продуктов "Borland Software Corporation". Языки программирования Turbo-Pascal, Delphi, CaliberRM, Turbo C++ и основные их принципы работы. Развитие их совместимости с Windows. Создание корпоративных систем на основе Веб-технологий.

    реферат [20,9 K], добавлен 02.04.2010

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

    шпаргалка [776,8 K], добавлен 07.05.2010

  • Информационные технологии и защиты данных. Методы защиты информации. Виды информационной безопасности и умышленные угрозы. Программирование на языке Turbo Pascal. Типы числовых данных. Функции ввода и вывода. Логические операторы, символьные переменные.

    курсовая работа [1,7 M], добавлен 16.05.2016

  • Запуск на инструментальном компьютере интегрированной системы программирования "Турбо Ассемблер-AVR" (CasmAVR.exe). Создание нового файла и сохранение его с именем demo2.asm. Создание демонстрационной программы с использованием редактора текста.

    лабораторная работа [1,2 M], добавлен 26.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.