Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

WinRAR ZIP archi / 2011_Лабораторные по инф_паскаль_Ч1

.pdf
Скачиваний:
41
Добавлен:
14.02.2015
Размер:
330.12 Кб
Скачать

Министерство образования и науки Российской Федерации Государственное образовательное учреждение высшего профессионального образования «Алтайский государственный технический университет имени И.И.Ползунова»

Факультет пищевых и химических производств

Кафедра технологии хранения и переработки зерна

Лузев В.С.

Методические указания к выполнению лабораторных работ по дисциплине

информатика

Основы алгоритмизации и программирования на языке

PascalABC.NET

Часть 1

Для студентов специальностей:

260201.65 -Технология хранения и переработки зерна, 260202.65 - Технология хлеба, кондитерских и макаронных изделий, 260204.65 - Технология бродильных производств и виноделие, 260501.65 - Технология продуктов общественного питания, 260303.65 -Технология молока и молочных продуктов», 260601.65 - Машины и аппараты пищевых производств».

Барнаул 2011

УДК 65.011.56

Лузев В.С. Методические указания к выполнению лабораторных работ по дисциплине информатика. Основы алгоритмизации и программирования на языке PascalABC.NET. Часть 1 / Алт. гос. техн. ун-т им. И.И. Ползунова. - Барнаул: Изд-во АлтГТУ, 2011. - 43 с.

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

Рассмотрены и одобрены на заседании кафедры технологии хранения и переработки зерна. Протокол N 7 от 28.01.11 г.

2

Оглавление Введение ...………………………………………………………………….4

Лабораторная работа №13. Программы линейной структуры. Присваи-

вание значений переменным. 2 часа. .......................................................

5

Лабораторная работа №14. Основные этапы решения задач на ПК. Схе-

мы алгоритмов. 2 часа…………………………………………………….14

Лабораторная работа №15. Условный оператор и оператор выбора.

4 часа. …………………………………………………………………….21

Лабораторная работа №16. Программы циклической структуры. 2 часа

……………………………………………………………………………...34

Литература……………………………………………………..………… 43

3

Введение

Язык программирования Pascal был разработан в 1970 году Никлаусом Виртом (Niklaus Wirth) и назван в честь французского математика Блеза Паскаля. С самого начала язык разрабатывался для целей обучения студентов. Язык Паскаль признан многими российскими преподавателями как один из лучших именно для начального обучения.

Н.Вирт — автор

 

 

классических

учебников,

 

 

переведенных

на многие

 

 

языки мира, в том числе

 

 

на русский язык («Алго-

 

 

ритмы и структуры дан-

 

 

ных», «Программирова-

 

 

ние на языке Модула-2»).

 

 

Его идеи оказывают

Никлаус Вирт

Блез Паскаль

глубокое влияние на ми-

 

 

ровую индустрию ПО (например, сразу два его ученика — Клеменс Шиперский и Ральф Зоммерер — являются сотрудниками в стратегическом исследовательском подразделении Microsoft). Научной школой Вирта в Цюрихском технологическом университете за последние 20 лет разработана плеяда оригинальных языков программирования и операционных систем (как исследовательских, так и промышленных), которые объединяются под общим названием Oberon. На протяжении мно-

гих лет проф. Вирт возглавлял в ETH Department Of Computer-Systems. В

настоящее время после ухода профессора на пенсию это учреждение возглавяет коллега Вирта проф. Юрг Гуткнехт.

Созданные Виртом языки программирования Паскаль, Модула-2, Оберон серьезно используются в российском образовании и индустрии.

В 2005 г. Никлаус Вирт посетил с визитом ряд городов и университетов России. Этому событию посвящен информационный ресурс Oberon2005.ru. Там же опубликовано большое количество научных трудов ученого.

PascalABC.NET - это язык Object Pascal для платформы Microsoft

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

Платформа .NET обеспечивает язык PascalABC.NET огромным количеством стандартных библиотек и позволяет легко сочетать его с другими .NET-языками: C#, Visual Basic.NET, управляемый C++,

4

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

Система PascalABC.NET призвана осуществить плавный переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию. Многие концепции в Pascal ABC сознательно упрощены, что позволяет использовать их на более ранних этапах обучения.

Интегрированная среда PascalABC.NET обеспечивает подсветку синтаксиса, подсказку по коду (подсказка по точке, подсказка параметров подпрограмм, всплывающая подсказка по коду), форматирование текста программы по запросу, переход к определению и реализации имени, элементы рефакторинга.

Все права на систему программирования PascalABC.NET принад-

лежат PascalABCCompiler Team (web-сайт http://pascalabc.net).

Ключевые особенности PascalABC.NET

Высокая совместимость с Borland Pascal 7.0 и Delphi.

Генерация кода для платформы .NET.

Возможность доступа к огромному количеству .NET-библиотек от контейнерных классов до средств работы с сетью.

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

Ряд расширений языка Pascal, в числе которых оператор foreach, внутриблочные описания переменных, автоопределение типа при описании, встроенные множества произвольных типов, упрощенный синтаксис модулей, методы в записях, операция new для создания объектов, определение тел методов внутри классов.

5

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

Простая и эффективная растровая графическая библиотека.

Встроенный электронный задачник Programming Taskbook.

Модули исполнителей Робот и Чертежник, используемых в школьной информатике.

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

Наличие Web-среды разработки WDE, позволяющей запустить программу прямо из окна браузера.

Возможность опубликовать в интернете ссылку на файл, сохраненный в Web-среде разработки.

Использование многолетнего опыта обучения программированию при создании языка и среды.

Общие указания к выполнению лабораторных работ

Выполнив лабораторную работу, студент оформляет отчет, который состоит из следующих разделов:

1.Тема и цель работы.

2.Условия задачи.

3.Математическая модель задачи.

4.Блок схема алгоритма.

5.Текст программы и исходные данные.

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

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

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

6

Лабораторная работа №13

Программы линейной структуры. Присваивание значений переменным. 2 часа.

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

Предмет и содержание работы: изучение пользовательского интерфейса и приемов работы с PascalABC.NET.

Технические средства и программное обеспечение: персональный компьютер с операционной системой Windows™, система PascalABC.NET.

Краткие сведения о системе PascalABC.NET

Система программирования основана на языке Delphi Pascal. Руководитель проекта PascalABC.NET - доцент кафедры алгебры мехмата ЮФУ, руководитель Центра компьютерного образования мехмата Южного федерального университета (ЮФУ) Станислав Станиславович Михалкович. Система программирования Pascal ABC.NET распространяется по принципу Freeware, бесплатна и не требует регистрации.

Запуск и остановка программы

Для запуска программы в текущем окне редактора следует нажать

клавишу F9 или кнопку (выполнить) на панели инструментов. Программа вначале компилируется, после чего, если не найдены

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

ляется надпись [Запущен] Выполнение программы можно в любой момент прервать нажати-

ем комбинации клавиш Ctrl-F2 или кнопки (завершить).

7

Структура программы

Программа на языке PascalABC.NET имеет следующий вид: program имя_программы;

раздел uses раздел описаний begin

операторы

end.

Первая строка называется заголовком программы и не является обязательной.

Имя программы выбирается программистом самостоятельно в соответствии с правилами построения идентификаторов.

Раздел uses начинается с ключевого слова uses, за которым следует список имен модулей и пространств имен .NET, перечисляемых через запятую.

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

1.Описание меток (Label).

2.Описание типов (Type).

3.Описание констант (Const).

4.Описание переменных (Var).

5.Описание процедур и функций (Procedure, Function).

Далее следует блок begin/end, внутри которого находятся операторы, отделяемые один от другого символом "точка с запятой".

Раздел uses и раздел описаний могут отсутствовать.

Например:

program MyProgram; var

a,b: integer; r: real;

begin readln(a,b); x := a/b; writeln(x);

end;

8

Идентификаторы и зарезервированные слова

Идентификаторы служат в качестве имен программ, модулей, процедур, функций, типов, переменных и констант. Идентификатором считается любая последовательность латинских букв или цифр, начинающаяся с буквы. Буквой считается также символ подчеркивания "_".

Например, a1, _h, b123 - идентификаторы, а 1a, ф2 - нет. Строчные и прописные буквы равнозначны: а и А являются одним и тем же идентификатором. Пробелы и специальные символы алфавита не могут входить в идентификатор.

Примеры правильных идентификаторов:

а

ALPHA MyProgramIsBestProgram date_27_sep_39

external _beta

Примеры неправильных идентификаторов: 1Program {начинается цифрой}

block#l {содержит специальный символ} My Prog {содержит пробел}

mod {зарезервированное слово}

Идентификатор не должен совпадать ни с одним из зарезервированных слов:

and

array

as

begin

case

class

const

constructor

destructor

div

do

downto

else

end

event

except

file

final

finalization

finally

for

foreach

function

goto

if

implementation

in

inherited

initialization

interface

is

label

lock

mod

nil

not

of

operator

or

procedure

program

property

raise

record

repeat

set

shl

shr

sizeof

template

then

to

try

type

typeof

until

uses

using

var

where

while

with

xor

 

 

 

 

9

 

 

Будем также называть зарезервированные слова ключевыми.

Запись вещественных чисел

Существуют два формата записи чисел, которые используются при вводе и выводе:

форма естественной математической записи (2, 123456, 123.4567, 0.72467, 0.00345);

форма с мантиссой и порядком (12.4Е3, 0.4Е-3, 1Е25)

6.7456е-4 в естественной форме 6.745*10-4=0.0006745

мантиссапорядок

Буква Е или e (лат) указывает "степень числа 10". Пробелы в числовых константах запрещены.

Переменные и константы.

Переменные и константы имеют имена, образованные по правилам использования идентификаторов.

В языке PascalABC.NET реализовано достаточно много типов переменных. Мы рассмотрим пять типов, что вполне достаточно для начального обучения языку.

Тип integer (целый). Значения этого типа занимают 4 байта и нахо-

дятся в диапазоне от -2147483648 до 2147483647.

Тип real (вещественный). Значения вещественного типа занимают 8 байт, содержат 15-16 значащих цифр и по модулю не могут превосходить величины 1.8∙10308.

Тип byte (беззнаковый целый). Значения этого типа занимают 1 байт и находятся в диапазоне от 0 до 255.

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

Строки могут иметь произвольную длину. К символам в строке можно обращаться, используя индекс: s[i] обозначает i-тый символ в строке, нумерация начинается с единицы. Если индекс i выходит за пределы длины строки, то генерируется исключение.

Кроме того, в PascalABC.NET реализованы размерные строки. Для их описания используется тип string[n], где n - константа целого типа, указывающая длину строки.

10