Программная инженерия
Запуск интегрированной среды 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