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

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

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
773 Кб
Скачать

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

Простые операторы. К ним относятся операторы присваивания, перехода GOTO, вызова процедуры и пустой оператор.

Оператор присваивания. Например, А: = В + С;

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

Например,

1:begin

……..

end; begin

……..

goto 10;

………

10 : a: = b + c

…….

goto 1;

end;

Переход возможен только к той метке, которая определена в этом блоке, в этой процедуре.

Пустой оператор. Оператор не указывает ни на какую операцию и состоит только из символа «;». Например,

a:= b + c; ; ;

;

;

d := e +f;

Несколько операторов, выполняемых последовательно, могут быть объединены в один составной. Такое утверждение идентифицируется ключевым словом BEGIN и заканчивается словом END. Например,

Begin a:=b;

d:=a + c; f:=d+1;

end;

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

31

Оператор IF используется вместе с операторами THEN и ELSE. Например, если a =b, то переменной c присваивается значение переменной d и после этого выполняется вызов функции cos(d):

IF a = b then c := d; a:=cos(d);

В том случае, если a≠b, параметр c не определен. Придадим ему, например, нулевое значение, и тогда a будет равно 1:

IF a=b then c:=d else c:=0; a:=cos(c);

Операторы IF могут быть вложенными один в другой. Например, IF A<>0 THEN IF B<>9 THEN A=B THEN C:=D ELSE C:=0;

Оператор из предыдущего примера вложен в оператор IF B<>0, который, в свою очередь, тоже вложен в оператор IF A<>0.

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

case (x+y-1) of

2: a:=b;

3: a:=sin(x); 4 .. 9 : a:=cos(x);

10 : a:=sin(x+y); else a:=1;

end;

Управление от оператора CASE будет передано метке 2, если выражение (x+y-1) равно 2, аналогично – метке 3; метке 4 .. 9, если значение выражения соответственно будет 4, 5, 6, 7, 8 или 9. Если всех значений выражения программист заранее не может предвидеть, он должен обязательно включить оператор else.

Для организации повторного или многократного прохождения той или иной последовательности операций программист может воспользоваться операторами для организации цикла:

WHILE, REPEAT, FOR.

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

while a=b do c:= a + b;

Если при первой же проверке условия a=b окажется, что a ≠ b, то оператор c:= a +b не будет выполнен ни одного раза.

Оператор REPEAT. Иногда программисту необходимо, чтобы выполнение тела цикла предшествовало проверке условия и, таким образом, было выполнено хотя бы один раз. Например,

32

repeat c:=a+b until a<> b;

Повторять выполнение c:= a+b до тех пор, пока выполняется условие a=b. Даже если a не будет равно b при первой проверке, все равно первый раз (и единственный) оператор c:=a + b все таки будет выполнен. Этим и отличается использование оператора REPEAT от WHILE.

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

for i :=1 to 100 do a := b+1;

Иными словами, для всех I =1,2,3,..,100 необходимо вычислять значение переменной a = b + 1. Переменная i должна быть порядкового типа и не меняться при вычислении выражения в теле цикла, стоящем после do.

Оператор WITH применяется при работе с полями записей и служит для следующих целей. Если требуется некоторая последовательность операций над различными полями одной записи, то в каждой операции имена полей должны были бы быть составными (из имени записи и имени поля ), то есть имя записи дублировалось бы во всех операциях. Чтобы этого избежать, такую группу операций над полями одной записи объединяют в блок с операторами WITH и END и имя записи записывают один раз вслед за оператором WITH и в самом блоке записываются только имена полей. Например,

with record do begin

. . . . . . . . . . . . . . . . . . . . . . .

year := 5; month := 2; day :=15;

. . . . . . . . . . . . . . . . . . . . . . .

end;

3.7. Организация ввода – вывода

Для ввода исходных данных, над которыми должны выполнятся преобразования в программе, используются операторы READ и READLN. Можно вводить данные целого, вещественного и символьного типа. Разделителем между числами служит пробел или ENTER (конец строки ). Символы при вводе не разделяются. Оператор READLN осуществляет переход к началу новой строки после ввода значения последней переменной в списке.

Вывод данных разрешает выводить значения всех стандартных типов. Общий вид операторов вывода значений целого, логического, символьного и строкового типа:

WRITE ( a : m);

(1)

WRITELN ( a: m);

(2)

33

 

где а – выводимое выражение, m – переменная или выражение целого типа; означает общее число позиций для вывода. Оператор (2) в отличие от (1) осуществляет переход к началу новой строки после окончания вывода значения последней переменной в списке объектов вывода.

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

части числа

 

WRITE (b : m : n);

(3)

WRITELN( b : m: n);

(4)

где b – выводимое выражение, m – общее число позиций, n – количество позиций после запятой.

Контрольные вопросы и упражнения

1. Ответить на следующие вопросы:

а) можно ли вводить с помощью оператора READ значения булевского

типа?

б) почему параметрами процедуры ввода READ могут быть только переменные, а не числа или выражения?

в) если в качестве исходных данных задано пять чисел, то можно ли ввести пятое из них, не вводя первые четыре?

2.Что получится в результате выполнения операторов:

а) write (‘A’:3,2:1); writeln (5*3.2);

б) writeln (5<6,5<=6:8); writeln (‘КОНЕЦ’); в) writeln (5*3.3:4:1, ‘РЕЗУЛЬТАТ’) ?

3.Что будет напечатано программой:

а)

program aba;

 

var a,b:integer;

`

begin

 

read (a,b,a);

writeln (a,b,a) end.

если для ввода заданы числа 1, 2 и 3?

б) program print1; var x:integer;

begin

x:=2; writeln(’x+1’)

end.

в) program sq; var b,c,d:real;

begin

read(b,c); d:=sqrt(sqr(b) – 4*c);

writeln(’x1=’, (- b + d)/2, ’ x2=’,(- b – d)/2)

end.

34

если в качестве исходных данных заданы числа 1.0 и -2.0?

г)

program time; var fi:real; h,m:integer; begin read

 

(fi); h:=trunc(fi/30); m:=trunc

 

(fi – 30*h/0.5); writeln (h,’_’, m) end.

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

д)

program print2;

 

 

var x:real; t:boolean;

 

 

begin

 

 

read(x);

t:= x< round(x);

 

read(x)

y:= t and (x<trunc(x));

writeln (t)

end.

если для ввода заданы числа 1.5; -0.8?

4.Найти ошибки в каждой из следующих программ:

а)

program A;

 

 

const d = 5;

 

 

 

begin

 

 

 

d:= sqr(d);

 

 

writeln(‘d*2=’,d)

 

 

end.

 

б)

program B;

 

 

const k = true;

 

 

var x:real;

 

 

 

begin

 

 

 

read(x);

writeln (ord(x) = k)

 

 

end.

 

в)

program C;

 

 

var a,b,c : integer;

 

 

 

begin

 

 

 

read(a,b);

writeln( (a+b+c)/3)

end.

 

 

 

 

г)

program D;

 

 

 

var x:real;

 

 

 

begin

 

read(x); y:=sqrt(x) + 1; writeln(y)

end. д) program E;

const B = 2.5; var a,b,c : real;

begin

read(a,c); writeln(a*c > b)

end.

35

3.8. Вызов процедур и функций

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

Вызов процедуры (функции) должен сопровождаться соответствующим указанием – директивой.

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

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

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

PROGRAM IT _IS_MY ;

(* разделы описания меток, констант, типов, переменных *)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(* раздел описаний процедур и функций * )

PROCEDURE line ( x, y, z ); type

t:integer;

l:char;

var

x, y, i, j: t; z : l;

begin

for i : = x то j := y do write ( z ) ;

end;

Тогда вызов этой процедуры в одном из последующих блоков главной программы I T –IS – MY будет оформляться следующим образом:

( * главная программа * ) begin

a: = ‘ * ‘; x: = 10; j : = 50;

line ( x, y, a );

end.

Однако если описание процедуры ( функции ) выполнено вслед за написанием блоков программы, а вызов такой процедуры необходимо сделать в од-

36

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

(* главная программа *) begin

a: = ‘ *’ ; x: = 10; y : = 50;

line ( x, y, z ); forvard;

end

 

( * описание процедуры

line *)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Если вызываемая процедура

является внешней по отношению к про-

грамме, то здесь могут быть два случая:

1.Внешняя процедура написана на языке Паскаль.

2.Внешняя процедура написана на каком–то другом языке.

В первом случае вызов необходимо оформить с использованием директи-

вы EXTERNAL. Например,

 

line (a, b, c);

external;

Во втором случае вместо директивы FORWARD необходимо указать ди-

рективу NONPASCAL. Например,

line (a, b, c);

nonpascal;

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

Программисту необходимо помнить о следующих ограничениях:

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

2.Действительными параметрами не могут быть стандартные процедуры

ифункции.

3.Компоненты упакованных структур не могут быть действительными параметрами.

37

ЗАКЛЮЧЕНИЕ

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.Информатика: учебник / под ред. Н.В. Макаровой. – М.: Финансы и статистика, 2008. –766 с.

2.Окулов, С.М. Основы программирования / С.М.Окулов. – М.: БИНОМ. Лабораторные знания, 2006. – 440 с.

3.Кудинов, Ю.И. Основы современной информатики / Ю.И. Кудинов, Ф.Ф. Пащенко. – М.: Лань, 2010. – 256 с.

4.Алексеев, Е.Р. Турбо Паскаль 7.0 / Е.Р. Алексеев, О.В. Чеснокова – М.: НТ Пресс, 200. – 320 с.

5.Информатика: учебно-методическое пособие для иностранных слушателей подготовительного отделения / А.Д. Кононов, А.А. Кононов – Воронеж,

ВГАСУ, 2013. – 48 с.

6.Борковский, А.Б. Англо-русский словарь по программированию и информатике / А.Б. Борковский. – М.: Рус. яз., 1997. – 335 с.

Послесловие

Давно замечено и многократно подтверждено, что люди, получившие образование в России, помимо удачной жизненной карьеры, навсегда сохраняют искренние теплые чувства к нашей стране. Они стремятся использовать любые возможности для общения с русскими туристами, специалистами из России, горячо мечтают вновь и вновь побывать в нашей стране для продолжения образования или даже постоянного проживания в России. У них здесь много друзей, которые относятся к ним с такой же любовью. Мы вам рады. Это навсегда. Так было и так будет!

38

ПРИЛОЖЕНИЕ 1

ГЛОССАРИЙ

Анимация – картинка, небольшой мультик, размещенный на вебстраничке сайта.

Архив – сжатая до компактного размера информация (файл).

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

яся на ЭВМ, называемых серверами баз данных. Для отыскания информации в БД используют программные системы управления базами данных (СУБД).

Браузер – программа, позволяющая просматривать информацию в Internet. К таким программам относятся, например, Internet Explorer, Mozilla Firefox, Opera и другие.

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

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

Вирус – вредоносная программа, которая «заражает» ЭВМ или сеть ЭВМ и нарушает их работу.

Выделенный сервер – это такой сервер, доступ к которому имеет отдельный клиент или группа клиентов.

Гипертекст – это Internet-страница или структурированный документ, в котором есть гиперссылки на другие документы.

Главная страница – первая страница сайта.

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

Интернет (internet) – глобальная компьютерная сеть, обеспечивающая взаимосвязь различных компьютерных сетей.

Интерпретатор – программа в ОС, позволяющая анализировать исходную программу и параллельно выполнять её команду (операторы).

Интерфейс – программно-аппаратный комплекс связи между устройствами (элементами) ЭВМ, а также пользователя с ЭВМ.

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

Кодирование – представление информации в зашифрованном виде (буквами либо цифрами, знаками и т. п.).

39

Компилятор – программа ОС, которая переводит и компонует исходную программу на ЯВУ в программу на языке ЭВМ, а затем её исполняет.

Логин – имя пользователя, позволяющее совместно с паролем использовать ресурсы ЭВМ.

Локальная сеть – это объединенные в сеть ЭВМ, находящиеся на сравнительно небольшом удалении друг от друга, например, локальная сеть вуза, предприятия, организации, фирмы, района, города и т. п.

Маршрутизатор (Router) – программно–аппаратное устройство, которое выбирает путь движения информации к клиенту в сети Internet по его запросу или адресу.

Операционная система (ОС) – набор управляющих, сервисных, служебных и других программ, обеспечивающих работу ЭВМ.

Пароль – секретный набор символов, который защищает систему (ЭВМ) от несанкционированного доступа.

Пиксель – элементарная точка на экране монитора. Чем большеe количество пикселей размещается на мониторе, тем выше качество графического разрешения.

Портал – объединенный сайт, включающий разные сайты и информационные ресурсы, поддерживающие полезные сервисы и выполняющие разнообразные функции.

Программное обеспечение – набор программ, позволяющих решать различные задачи на ЭВМ.

Протокол – правила передачи информации в сети ЭВМ.

Релевантность – степень соответствия информации запросам её пользователя.

Рунет – пространство Internet’a, где аудио и текстовая информация представлена на русском языке.

Сайт – то же самое, что и Веб-сайт.

Сервер – в компьютерной сети выделенная ЭВМ, на которой размещены определенные услуги, например, почтовый (E-mail) сервер, FTP–сервер с размещенной на нём информацией и другие сервера.

Трафик – объём информации в канале сети, прошедший в единицу вре-

мени.

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

DNS (Domain Name System) – доменная система адресации. База данных, размещенная в сети и предназначенная для преобразования доменного (символьного, буквенного) имени в физическое (числовое) имя.

Dpi (dot per inch) – число точек на дюйм. Единица измерения разрешающей способности различных устройств ( принтеров, cканеров и т. д.).

HTML – язык (Hyper Text Mark-up Language). Один из основных языков,

на котором составлены Web–страницы.

40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]