Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
13
Добавлен:
05.06.2018
Размер:
34.82 Кб
Скачать

Билет №25. Общая характеристика языка Pascal.

Язык Паскаль в его современном воплощении (TURBO PASCAL 7.0, OBJECT PASCAL 9.0) -это весьма мощный язык, содержащий многие десятки различных и весьма полезных конструкций. Изучить все его возможности в таком кратком курсе, как наш, нереально.

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

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

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

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

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

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

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

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

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

Задача 4.2.6(25)

program alex25;

type mas=array[1..5,1..4]of integer;

var i,j,maxi:integer;

a,b:mas;

procedure proc(x:mas;n,m:integer;var l:integer);

var i,j,max:integer;

sum:array[1..5]of integer;

begin

for i:=1 to n do

begin

sum[i]:=0;

for j:=1 to m do

if x[i,j]>0 then sum[i]:=sum[i]+x[i,j];

end;

max:=sum[1];

l:=1;

for i:=2 to n do

if sum[i]>max then begin

max:=sum[i];

l:=i;

end;

end;

begin

for i:=1 to 3 do

for j:=1 to 4 do

read(a[i,j]);

for i:=1 to 5 do

for j:=1 to 3 do

read(b[i,j]);

proc(a,3,4,maxi);

writeln('nomer stroki 1 matricy',maxi);

proc(b,5,3,maxi);

writeln('nomer stroki 2 matricy',maxi);

readln;

End.

Соседние файлы в папке 1 семестр сессия