Знакомство с языком программирования Паскаль

Автор: Пользователь скрыл имя, 25 Февраля 2013 в 10:13, курсовая работа

Описание работы

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

Содержание

Знакомство с языком программирования Паскаль.
Строки.
Функции и процедуры для работы со строками.
Файлы и работа с файловыми переменными.
5 . Программная часть.
5.1. Задание.
5.2. Блок-схема.
5.3. Код программы.
5.4. Пример работы.
6. Заключение.
7. Литература.

Работа содержит 1 файл

курсtim.doc

— 230.00 Кб (Скачать)

УЗБЕКСКОЕ  АГЕНТСТВО  СВЯЗИ  И ИНФОРМАТИЗАЦИИ

 

ТАШКЕНТСКИЙ  УНИВЕРСИТЕТ  ИНФОРМАЦИОННЫХ  ТЕХНОЛОГИЙ

ФЕРГАНСКИЙ ФИЛИАЛ

 

Кафедра: «Прикладная информатика»

КУРСОВАЯ  РАБОТА

по курсу               «ИНФОРМАТИКА»

 

Работу выполнил студент ______________________________________

Группа _____________ Факультет _______________________________

Специальность _______________________________________________

Курсовая работа защищена с оценкой ____________________________

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

подпись  Ф.И.О.

Фергана   - 2009

 

УЗБЕКСКОЕ  АГЕНТСТВО  СВЯЗИ  И ИНФОРМАТИЗАЦИИ

 

ТАШКЕНТСКИЙ  УНИВЕРСИТЕТ  ИНФОРМАЦИОННЫХ  ТЕХНОЛОГИЙ

 

 

Кафедра: «Прикладная информатика»

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

 

Студент ___________________    Группа ______  Вариант _______

 

Задание

  1. ___________________________________________________________________________________________________________________________________
  2. ___________________________________________________________________________________________________________________________________
  3. ___________________________________________________________________________________________________________________________________
  4. ___________________________________________________________________________________________________________________________________

 

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

подпись  Ф.И.О.

Задание принял к исполнению «___» _______________ 200_ г.

 

Подпись студента __________

План

  1. Знакомство с языком программирования Паскаль.
  2. Строки.
  3. Функции и процедуры для работы со строками.
  4. Файлы и работа с файловыми переменными.

5 . Программная часть.

5.1. Задание.

5.2. Блок-схема.

5.3. Код программы.

5.4. Пример работы.

6. Заключение.

7. Литература. 
ЗНАКОМСТВО С ЯЗЫКОМ ТУРБО ПАСКАЛЯ

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

ФАЙЛЫ

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

<имя> = FILE OF <тип>;

<имя> = TEXT;

<имя> = FILE;

Здесь <имя> - имя файлового типа (правильный идентификатор);

FILB, OF - зарезервированные  слова (файл, из);

TEXT- имя  стандартного типа текстовых  файлов;

<тт> - любой тип Турбо Паскаля, кроме  файлов.

Например:

type

product = record

name : String;

code : Word;

cost : comp

end;

text80 = file of String [80] ;

var

fl : file

f2 : text

f  : file

f4 : text

f5 : file

of char;

of nrocLuct:

В зависимости от способа объявления можно выделить три вида файлов: 

типизированные файлы (задаются предложением FILEOF...);

• текстовые файлы (определяются типом TEXT);

нетипизированные файлы (определяются типом FILE).

В наших примерах Fl, F4 nF5 - типизированные файлы, F2 - текстовый файл, F3 - нетипизированный файл. Вид файла, вообще говоря, определяет способ хранения информации в файле. Однако в Турбо Паскале нет средств контроля вида ранее созданных файлов. При объявлении уже существующих файлов программист должен сам следить за соответствием вида объявления характеру файла.

ДОСТУП К ФАЙЛАМ

Любой программе доступны два предварительно объявленных файла со стандартными файловыми переменными: INPUT - для  чтения данных с клавиатуры и OUTPUT - для  вывода на экран. Стандартный Паскаль  требует обязательного упоминания этих файлов в заголовке программы, например, так:  program NameOfProgram(input,output);

В Турбо  Паскале это необязательно, вот  почему заголовок программы можно  опускать.

Любые другие файлы, а также логические устройства становятся доступны программе только после выполнения особой процедуры открытия файла (логического устройства). Эта процедура заключается в связывании ранее объявленной файловой переменной с именем существующего или вновь создаваемого файла, а также в указании направления обмена информацией: чтение из файла или запись в него. Файловая переменная связывается с именем файла в результате обращения к стандартной процедуре ASSIGN',

ASSIGN (<ф.п.>, <имя файла или  л.у.>);

Здесь <ф.п.> - файловая переменная (правильный идентификатор, объявленный  в программе как переменная файлово1 о тина);  <имя файла или л.у. > - текстовое выражение, содержащее имя файла или логическое устройство.

Если  имя файла задается в виде пустой строки, например, ASSIGN (f, ' '), то в зависимости  от направления обмена данными файловая переменная связывается со стандартным файлом INPUT'или OUTPUT.  a .'. О

Функции и процедуры для работы со строками

Тип STRING (строка) в Турбо Паскале  широко используется для обработки  текстов. Он во многом похож на одномерный массив символов ARRAY{O..N]OFCHAR, однако, в отличие от последнего, количество символов в строке-переменной может меняться от 0 до N, где N - максимальное количество символов в строке. Значение N определяется объявлением типа STRING [N] и может быть любой константой порядкового типа, но не больше 255 . Турбо Паскаль разрешает не указывать N, в этом случае длина строки принимается максимально возможной, а именно iV=255. 

Строка в Турбо Паскале трактуется как цепочка символов. К любому символу в строке можно обратиться точно так же, как к элементу одномерного массива ARRA Y [O..NJ OF CHAR, например

var st : String;

begin

if St [5] = "A1 then . . .

end.

Самый первый байт в строке имеет  ьндехс 0 и содержит текущую длину  строки. Первый значащий символ строки занимает второй байт и имеет индекс 1. Над длиной строки можно осуществлять необходимые действия к таким способом изменять длину. Например, удалить из строки все ведомые пробелы можно следующим образом:

var

st : String;

1 : Byte;

begin

i := orcUsttO]); (i - текущая длина строки}

while (i <> 0) and (st[i] = ' ') do

begin

dec(i); .

st[O] := chr(i)

end;

end.

Значение ORD(st[Q]), т.е. текущую длину строки, можно получить и с помощью  функции LENGTH(st), например:

while (Length(st)oO) and (st [Length(st) ] =' ') do

st[O] := chr(Length(st)-l)

К строкам можно применять операцию «+» - сцепление, например:

St : = ¦ а ¦ + ' b' ;

st := st + 'С; {st содержит "abc"}

Если длина сцепленной строки превысит максимально допустимую длину N, то «лишние» символы отбрасываются. Следующая  программа, например, напечатает символ 1:

var

st: String [1] ;

begin

WriteLn(st)

end.

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

СОUNТ (SI [,S2, ... , SN] ) - функция типа STRING; возвращает строку, представляющую собой сцепление строк-параметров SI, S2, ..., SN. COPY(ST, INDEX, COUNT) - функция типа STRING; копирует из строки ST COUNT'символов, начиная с символа с номером INDEX. DELETE (ST, INDEX, COUNT) - процедура; удаляет COUNT символов из строки ST, начиная с символа с номером INDEX.

INSERT (SUBST, ST, INDEX) - процедура; вставляет  подстроку SUBST вегрку ST, начиная с  символа с номером INDEX.

LENGTH (ST) - функция типа INTEGER; возвращает  длину строки ST.

POS (SUBST, ST) - функция типа INTEGER; отыскивает в строке ЛТпервое вхождение подстроки SUBST и возвращает номер позиции, с которой она начинается; если подстрока не найдена, возвращается ноль.

STR(X hWIDTH [:DECIMALS] 1 , ST) - процедура; преобразует  число X любого вещественного или целого типов в строку символов STtok, как это делает процедура WRITELNnepeu выводом; параметры WIDTH и DECIMALS, если они присутствуют, задают формат преобразования' WIDTH определяет общую ширину поля, выделенного под соответствующее символьное представление вещественного шга целого числа X, a DECIMALS - количество символов в дробной части (этот параметр имеет смысл только в том случае, когда Г- вещественное число). VAL(ST, X, CODE) - процедура; преобразует строку символов ST ВО внутреннее представление целой или вещественной переменной X, которое определяется типом этой переменной; параметр CODE содержит ноль, если преобразование прошло успешно, и тогда в Х помещается результат преобразования, в противном случае он содержит номер позиции в строке ST, где обнаружен ошибочный символ, и в этом случае содержимое Хне меняется; в строке STмогут быть ведущие пробелы, однако ведомые пробелы недопустимы; например, обращение val (' 123 ' , k, i) пройдет успешно: к получит значений 123, в / будет помещен 0, в то время как обращение val (' 123 ' , k, i) будет ошибочным: значение к не изменится, а i будет содержать 4. UPCASE (СН) - функция типа CHAR; возвращает для символьного выражения СН, которое должно представлять собой строчную латинскую букву, соответствующую заглавную букву; если значением СН является любой другой символ (в том числе строчная буква русского алфавита), функция возвращает его без преобразования.

Примеры:

var

х : Real;

у : Integer;

St,Stl: String;

begin

st := concat D2* ,'345') ; {строка st содержит 12345}

stl := copy (at, 3, Length (at)-2) ; {stl содержит 345}

insert ('-' ,stl, 2) ; {строка stl содержит 3-45}

delete (st,pos (' 2 ' , st) , 3) ; {строка st содержит 15}

str(pi:6:2,st) ; {строка st содержит 3.14}

val ('3,1415 ' ,x,у) ; {у содержит 2, x остался без изменения}

end.

Операции отношения =, о, >, <, >=, <= выполняются над двумя строками посимвольно, слева направо с  учетом внутренней кодировки символов (см. табл.4.1 и првл.2). Если одна строка меньше другой по длине, недостающие символы короткой строки заменяются значением СНЩО) .

Следуютттие операции отношения дадут  значение TRUE:  'А' > '1'

¦ Turbo' < ' Turbo Pascal' 'Паскаль' > 'Turbo Pascal'

Инициация файла

Инициировать файл означает указать  для этого файла направление  передачи данных. В Турбо Паскале можно открыть файл для чтения, для записи информации, а также для чтения и записи одновременно. Для чтения файл инициируется с помощью стандартной процедуры RESET:  RESET (<ф.п.>);  Здесь <ф.п. > - файловая переменная, связанная ранее процедурой ASSIGN с уже существующим файлом или логическим устройством приемником информации. При выполнении этой процедуры дисковый файл или логическое устройство подготавливается к чтению информации. В результате специальная переменная-указатель, связанная с этим файлом, будет указывать на начало файла, т.е. на компонент с порядковым номером 0.

Если делается попытка инициировать чтение из несуществующего файла  или из логического устройства PRN, возникает ошибка периода исполнения, которая может быть сообщена программе ненулевым значением встроенной функции IORESULT пяла WORD. Например, следующий фрагмент программы позволяет установить, существует ли требуемый файл на диске:

var

f: file of Char;

begin

assign(f,'myfile.dat');

{$!'} {Отключаем контроль ошибок ввода-вывода;

reset (f) ;

{$!+} {Включаем контроль ошибок  ввода-вывода}

if IOResult <> о then

{Файл не существует}

else

{Файл существует}

end.

В этом фрагменте с помощью директивы  компилятора {$!*} отключается автоматический контроль ошибок ввода-вывода. Если этого не сделать, то отсутствие файла приведет к аварийному завершению программы. В Турбо Паскале разрешается обращаться к типизированным файлам, открытым процедурой RESET (т.е. для чтения информации), с помощью процедуры WRITE (т.е.  для записи информации). Такая возможность позволяет легко обновлять ранее созданные типизированные файлы и при необходимости расширять их. Для текстовых файлов, открытых процедурой RESET, нельзя использовать процедуру WRITE или WRITELN.

Информация о работе Знакомство с языком программирования Паскаль