рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Текст программы

Текст программы - раздел Информатика, Информатика Лабораторный практикум По программированию На Турбо-Паскале Program Lab_9; { Программа Лабораторной Работы N 9 Динамиче...

Program Lab_9;

{ Программа Лабораторной работы N 9

Динамические переменные. Списки.

Вариант N 31.

А.Я.Умненькая, ст. гр. Я-007}

TYPE data = record {описатель структуры данных студента}

Name : string[15]; { поле для Фамилии И.О.}

Bal1,Bal2 : integer; {поля баллов за 2 семестра}

SrBal : real; {поле для среднего балла }

end;

Pd=^Dek; {описатель указателей на вершины дека}

Dek= record { описатель звена дека}

P1:Pd; {поле указателя следующего звена от начала}

P2:Pd; {поле указателя следующего звена от конца }

Student: data; { поле данных студента}

end;

VAR

Docum: data; {рабочая структура данных о студенте }

DN,DK : Pd; { указатели на начало и конец дека }

Fin,Fout:text; {Файлы входных данных и результатов работы}

k:integer; { количество элементов дека}

Procedure GetStud(Var F:text; var St:data);

{процедура чтения одной записи файла и формирования данных студента}

Var

P,i:integer;

Begin

i:=0;

P:=0;

St.Name:='---------------'; поле фамилии заполняем строкой из прочерков максимальной длины

while P<2 do {пока не прочтем второй пробел }

begin

inc(i);

read(F,St.Name[i]); {читаем из файла по символу в поле имени }

if St.Name[i]=' ' then P:=P+1; { подсчет пробелов}

end;

St.Name:=Copy(St.Name,1,i); { Из полной строки поля фамилии вырезаем подстроку по второй пробел (включительно) и заносим обратно в поле фамилии }

readln(F,St.Bal1,St.Bal2,St.SrBal); { остаток записи файла читаем в поля оценок }

End;

Procedure PutDek(Var NK,KN:Pd; Inf:data; Beg:boolean);

{процедура добавления элемента в дек с заказанного конца}

Var U:Pd;

Begin

New(U);

U^.Student:=Inf;

U^.P1:=nil;

U^.P2:=nil;

if NK=nil then { если дек перед этим был пуст }

KN:=U

else

if Beg then { если добавляем в начало }

begin

U^.P1:=NK;

NK^.P2:=U;

end

else { если добавляем в конец }

begin

U^.P2:=NK;

NK^.P1:=U;

end;

NK:=U;

End;

Procedure DelDek(Var NK,KN:Pd; var Inf:data; Beg:boolean);

{процедура выбора элемента из заказанного конца дека }

Var U:Pd;

Begin

U:=NK;

Inf:=U^.Student;

if NK=KN then { если в деке был всего один элемент}

begin { делаем дек пустым}

KN:=nil;

NK:=nil;

end

else

if Beg then { если удаление из начала }

begin

NK:=U^.P1;

NK^.P2:=nil;

end

else { если удаление из конца }

begin

NK:=U^.P2;

NK^.P1:=nil;

end;

Dispose(U); { собственно освобождение памяти от элемента }

End;

Procedure ReadFile(Var F:text; Var DekN,DekK:Pd; var N:integer);

{ чтение файла с заполнением дека }

Var

Stud:data;

Begin

N:=0;

While Not Eof(F) do

begin

GetStud(F,Stud);

N:=N+1;

if (Stud.Bal1=5) and (Stud.Bal2=5) then

PutDek(DekN,DekK,Stud,TRUE)

else

if (Stud.Bal1=3) and (Stud.Bal2=3) then

PutDek(DekK,DekN,Stud,FALSE)

else { если данные не заносим в дек }

N:=N-1;

end;

End;

Procedure WriteFile(Var F:text; Var NK,KN:Pd; N:integer);

{ процедура распечатки дека в выводной файл с удалением дека}

Var

i:integer;

Stud:data;

Begin

Writeln(F,'|--------------------------------------',

'--------------|');

Writeln(F,'| N | Фамилия И.О. | 1-й балл | 2-й ',

'балл | Ср.балл |');

For i:=1 to N do

begin

Writeln(F,'|---|----------------|----------|----',

'------|---------|');

DelDek(NK,KN,Stud,TRUE);

WriteLn(F,'|',i:2,' | ',Stud.Name:15,'|',Stud.Bal1:6,

' |',Stud.Bal2:6,' |', Stud.SrBal:6:1,' |');

end;

Writeln(F,'|--------------------------------------',

'--------------|');

End;

BEGIN { ОСНОВНАЯ ПРОГРАММА }

Assign(Fin,'Dan.txt');

Reset(Fin);

Assign(Fout,'Umnik9.res');

ReWrite(Fout);

DN:=nil;

DK:=nil;

k:=0;

ReadFile(Fin,DN,DK,k);

Close(Fin);

With Docum do

begin

Bal1:=k;

Bal2:=0;

SrBal:=0.0;

Name:='Список типа S0D';

end;

PutDek(DN,DK,Docum,TRUE); { добавление в начало дека записи со сводной информацией. }

DelDek(DN,DK,Docum,TRUE); {Выбор из дека сводной информации для печати }

Writeln(Fout, Docum.Name:20,' из ',Docum.Bal1,' строк');

WriteFile(Fout,DN,DK,k); {печать дека в файл с удалением элементов дека}

close(Fout);

End.


– Конец работы –

Эта тема принадлежит разделу:

Информатика Лабораторный практикум По программированию На Турбо-Паскале

РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ГИДРОМЕТЕОРОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ... В А БОЛЬШАКОВ Г И ВОРОНОВ Л А САВВАТЕЕВА...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Текст программы

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

На Турбо-Паскале
    Санкт-Петербург УДК 681.3.06

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

Общие пояснения
Данная работа, как и все последующие, предполагает написание программы на языке Паскаль. Поскольку это первая работа по составлению программы, ниже приводится общая структура и правила написания пр

Требования к программе
· Программа должна содержать комментарий по форме, указанной в работе № 1. · Константа, встречающаяся в задании два или более раз, должна быть использована в программе в форме именованной

Общие пояснения
    1.Алгори

Формирование таблицы идентификаторов
В задании упоминаются: двумерный массив вещественного типа, количество строк (М<=7), количество столбцов (N<=7), входной текстовый файл, номер столбца с мини

Алгоритм
Должен содержать следующие шаги: Открытие входного и выходного файлов. Текстовый входной файл связывается с набором данных с вещественными числами 'D:LAB1DATF.TXT' и

Текст программы.
PROGRAM SortNum; { Программа Лабораторной работы N 5 Вариант N 31. А.Я.Умненькая, ст. гр. Я-007 } VAR M,N,Jmin,i,j,i1,ki : integer; Amin,Pr : r

Содержимое файла результатов UMNIK5.RES
  Исходный массив из 7x7 элементов -2.20 -6.93 0.20 8.97 8.09 5.38 7.82 5.43 15.33 13.60 9.32 17.38 17.70 16.26 13.13 13.78 20.59 17.91 15.16 19.02 21.66

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

Требования к программе
Программа должна содержать комментарий с указанием названия работы, № варианта, фамилии студента и № группы. Значения, отмеченные в таблице вариантов символом "*" в програм

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

Рассмотрение метода решения
Расчет суммы будем проводить по рекуррентной формуле: S=S+C, т.е. новое значение суммы S есть старое значение суммы S + очередное слагаемое

Алгоритм
Должен содержать следующие шаги: 1. Задание исходных данных в разделе констант (для A и B); 2. Ввод исходных данных (Dx и

Текст программы.
  program Tabl_Of_Fx; { Программа Лабораторной работы N 6 Вариант N 31. Использование рекуррентных формул в итеративных циклах. А.Я.Умненькая, ст.

Результаты расчета
Файл UMNIK6.RES будет в этом случае содержать: Исходные данные Интервал X: [-0.05 0.04], Шаг X:0.010, шагов: 9, точность: 1.0E-0006 Результаты р

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

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

Текст программы.
  PROGRAM KorrMas; { Лабораторная работа N 7 Вариант N 31 Обработка массива А.Я.Умненькая, ст. гр. Я-007 } TYPE Massiv = array[1..13,1..10

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

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

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

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

Алгоритм
1.Задание констант, стандартных значений; 2.Ввод исходных данных; 3.Печать исходных данных; 4.Расчет характеристик функций; 5.Открытие графики с проверкой правил

Текст программы
Program Graph_work; { Программа Лабораторной работы N 8. Вариант N 31. Построение графика функции. А.Я.Умненькая, ст. гр. Я-007 } Uses Graph,Crt,Print;

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

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

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

Односвязные списки
Пример организации односвязного списка приведен ниже. Type Z=Record {комбинированный тип для данных} a: String; {строковое поле} b, c: Integer; {поле целых чисел

Двусвязные списки
В двусвязных списках базовый комбинированный тип S для указателей типа P будет иметь два адресных поля: поле ls ссылки на следующую запись списка

Нульсвязные списки
К таким спискам относятся стек, очередь и дек. В отличие от прочих типов списков, по которым можно перемещаться, используя находящиеся в звеньях указ

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

Алгоритм
Укрупненные шаги алгоритма основной программы приведены под заголовком "содержание программы" (при оформлении отчета, алгоритмы следует включить в блок-схему программы). Рассмотрим строен

Главное меню
При входе в интегрированную среду системы программирования Турбо-Паскаль (для этого достаточно вызвать модуль turbo.exe), сразу становится доступным главное меню, которое расположено в самой верхне

Команды опции File.
Open: выбор и открытие файла с исходным текстом для редактирования. После активизации опции Open на экране появляется диалоговое окно, в котором находится список файлов те

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

Команды опции Search.
Команды этого режима предназначены для поиска любой последовательности символов в редактируемых текстах. Find – (поиск) – при выборе этой опции на экране появляется диалог

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

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

Команды опции Debug.
В режиме Debug можно пользоваться большими возможностями отладчика, встроенного в среду программирования Турбо-Паскаль 6.0. К ним в первую очередь относятся средства работы с окнами наблюден

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

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

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

Меню окна редактирования
В состав этого меню входят четыре опции меню Edit – Cut, Copy, Paste и Clear; опция меню Help –Topic search; опция меню Run

Меню окна наблюдений
В состав этого меню входят шесть опций: Add, Modify, Remove, Clear all, Enable и Disable. Add служит для добавления выражения в окно наблюдений. Любое выражение, пр

Основные команды встроенного редактора текста
Таблица 35. Список горячих клавиш Горячая клавиша Функция Опция меню F1 Открытие окна с подсказками

Сообщения об ошибках на шаге выполнения
Сообщения об ошибках на шаге выполнения имеют следующий формат: Run-time error < номер > at < сегмент >:< смещенне >, где < номер > – номе

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги