русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Подпрограммы


Дата добавления: 2013-12-23; просмотров: 713; Нарушение авторских прав


End;

End;

End;

End.

ReadLn;

End;

Begin

ReadLn(adres.telefon);

ReadLn(adres.kv);

ReadLn(adres.korp);

ReadLn(adres.dom);

ReadLn(adres.ulica);

ReadLn(adres.gorod);

ReadLn(data.den);

ReadLn(data.mes);

ReadLn(data.den);

ReadLn(fio.otch);

ReadLn(fio.name);

ReadLn(fio.fam);

ReadLn(gruppa);

Begin

ClrScr;

Begin

End;

End;

End;

End;

Uses WinCrt;

Program Baza_student;

Type TKadr = Record основная запись

gruppa : String[10];

fio : Record запись в записи

fam, name : String[10];

otch : String[15];

adres: Record запись в записи

gorod, ulica : String[20];

korp, dom, kv: String[5];

telefon : String[10];

data : Record запись в записи

den : 1..31;

mes : 1..12;

god : 1900..2000;

Var student : TKadr;

baza : File Of TKadr;

Assign(baza, 'D:\User\baza_student.dat');

ReWrite(baza); открываем файл для записи

Repeat начало цикла ввода

With student Do оператор присоединения

Write('Группа: ');

If (Length(gruppa)=0) если номер группы не введен,

Then Break; то выходим из цикла ввода

Write('Фамилия: ');

Write('Имя: ');

Write('Отчество: ');

Write('Год рождения: ');

Write('Месяц рождения: ');

Write('День рождения: ');

Write('Город: ');

Write('Улица: ');

Write('Дом: ');

Write('Корпус: ');

Write('Квартира: ');

Write('Телефон: ');

End; конец оператора присоединения



Write(baza, student); запись в базу данных

Until (False); конец цикла ввода

ReSet(baza); открываем файл для чтения

While Not(EOF(baza)) Do пока не конец файла

Read(baza, student); читаем данные из файла

With student Do и выводим на экран форматным способом

WriteLn(gruppa:10, fio.fam:10, fio.name:10, fio.otch:15);

Close(baza); закрываем файл

На практике часто бывает удобно сделать некоторые поля записи изменяемыми (вариантными).

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

Записи с вариантными полями называются записями с вариантами. Вариантные поля в них описываются после неизменяемых. Наличие вариантного поля указывается конструкцией:

Case селектор: тип Of

ключ-1: (варимант-1);

ключ-2: (вариант-2);

ключ-3: (вариант-3);

……………………

ключ-n:(вариант-n);

Тип селектора и перечень его возможных значений задаются в разделе определения типов Type.

Например, положение точки на плоскости можно задавать прямоугольными (x, y) или полярными (r, φ) координатами. Тогда запись с вариантами coord может быть описана так:

Type TDecpol = (decart, polar);

TCoord = Record

Case wid : TDecpol Of

decart : (x, y : Real);

polar : (r : Real; fi : 0..360);

Var coord : TCoord;

Селектором в данном случае является поле перечисляемого типа coord.wid , принимающее только два значения – decart и polar. При значении селектора decart поля переменной coord будут следующими:

coord.x ,coord.y типа Real,

а при значении поля polar – следующими:

coord.r типа Real,

coord.fi типа 0..360.

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

ü все имена полей должны быть различными, даже если они встречаются в разных вариантах,

ü если вариант пустой (для него поля нет), то он записывается так:

ключ : ();

ü любой список полей может иметь только одну вариантную часть, которая должна следовать за фиксированной частью записи,

ü в свою очередь, каждый вариант может содержать в себе вариантную часть, то есть допускаются вложенные варианты.

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

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

Метод структурного программирования предполагает:

· проектирование программ на основе метода пошаговой детализации (нисходящее программирование),

· использование модульного программирования,

· структурное кодирование программы.

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

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

Длинная программа вообще подобна блюду с макаронами: потянешь за одну макаронину – обязательно что-то поползет в другом месте. Одним из способов разбиения длинных, необозримых программ на обозримые, более короткие, является использование подпрограмм.

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

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

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

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

В Паскале различают два типа подпрограмм:

1. подпрограммы-функции,

2. подпрограммы-процедуры.



<== предыдущая лекция | следующая лекция ==>
With stud_1 Do | Рекурсия


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.