Главная » Все файлы » Просмотр файлов из архивов » Документы » Организация данных в ЭВМ и основы программирования

Организация данных в ЭВМ и основы программирования

2017-07-08СтудИзба

Описание файла

Документ из архива "Организация данных в ЭВМ и основы программирования", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "информатика" в общих файлах.

Онлайн просмотр документа "Организация данных в ЭВМ и основы программирования"

Текст из документа "Организация данных в ЭВМ и основы программирования"

Министерство образования Российской Федерации

Московская Государственная академия приборостроения и информатики

Конспект лекций по информатике

для специальностей 2102, 0718

Автор доц., к.т.н. Каширская Е.Н.

Москва, 2003

ОРГАНИЗАЦИЯ ДАННЫХ В ЭВМ И ОСНОВЫ ПРОГРАММИРОВАНИЯ

1. ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ ПАСКАЛЬ

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

1.1. Структурное программирование

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

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

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

  • простые переменные,

  • массивы,

  • последовательные файлы,

  • множества,

  • записи,

  • записи с вариантами,

  • указатели, а также развитые средства построения из них новых типов данных.

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

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

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

Основная цель структурного программирования - создать программу с минимальными взаимосвязями между ее модулями. В ИДЕАЛЕ каждый модуль должен иметь один вход и один выход.

Опыт использования методов структурного программирования позволяет сделать следующие выводы:

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

2) использование модулей небольших размеров позволяет упростить и ускорить процессы их отладки;

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

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

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

Еще одно огромное достоинство языка Паскаль - это краткость языка. Созданный первоначально для обучения программированию, язык Паскаль стал очень распространенным языком.

1.2. Основные символы языка

Алфавит языка. Основными символами языка являются:

- буквы A,B,C, .....,Z - заглавные,

- буквы a,b,c, .......,z - строчные

- цифры 0,1,2, .......,9,

- знаки + - * / = < > ( ) _ “пробел”,

- спецсимволы [ ] { } . , : ; ‘ # $.

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

Максимальная длина программной строки ограничена 126 символами.

Следующие слова зарезервированы и, следовательно, не могут быть использованы иначе как служебные (они зарезервированы):

ABSOLUTE - адрес

AND - логическое умножение

ARRAY - массив

BEGIN - начать

CASE - в случае (выбор)

CONST - константа

CONSTRUCTOR - создать объект

DIV - целочисленное деление

DO - делать (в цикле)

DOWNTO - шаг в уменьшении

ELSE - иначе

END - конец

EXTERNAL - внешняя процедура

FILE - описание файла

FOR - для

FORWARD - опережающее описание

FUNCTION - функция

GOTO - идти

IF - если

IMPLEMENTATION - правило выполнения модулей

IN - в

INLINE - включение в строку

INTERFACE - связь модулей

INTERRUPT - прерывание

LABEL - метка

MOD - остаток от целочисленного деления

NIL - пустота

NOT - нет

OBJECT - переменная типа “типа”

OF - из

OR - логическое сложение

PACKET - упакованный

PROCEDURE - процедура

PROGRAM - программа

RECORD - запись

REPEAT - повторить

SET - множество

STRING - строка

THEN - тогда

TO - к

TYPE - тип

UNIT - программный модуль

UNTIL - до тех пор, пока

USES - использовать

VAR- переменная

VIRTUAL - внутренняя переменная

WILE - пока

WITH - с

XOR - икс ор

1.3. Элементы языка

Идентификатор - начинается с буквы или “_” (символа подчеркивания) и состоит из букв, цифр и “_”. Длина идентификатора ограничена длинной программной строки, т.е. 126 символами, но при этом компилятор различает только первые 63 символа. Большие и маленькие буквы не различаются.

Пример. MYVAR три различных написания

myvar одной и той же

MyVar переменной

Числа в Паскаль - программе - это константы целого или действительного типа. Целые константы представляются в десятичной или шестнадцатеричной системе счисления. Признаком шестнадцатеричной системы является предшествующий символ $. Целые константы должны принадлежать диапазону от -2147483648 до 2147483647.

Пример. -1 константы

65535 целого типа

1.234 константы

-1.45Е+27 действительного

0.9542Е-12 типа

257Е0

Строки - последовательность символов, заключенных в апострофы (в одиночные кавычки). Максимальная длина строковой константы - 255 символов.

Пример. ‘TURBO PASCAL 6.0’

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

Комментарий в Паскале - любой текст, ограниченный (*.........*) или {........}. Вложенность компонентов допускается лишь двумя способами:

(* ...... {........} ........*) или {......(*........*).......}

1.4. Интегрированная среда TURBO PASCAL

Система программирования TURBO PASCAL представляет собой интегрированную среду, включающую в себя экранный редактор, компилятор, редактор связей (Linker), отладчик.

Интегрированность среды проявляется не только в единой идеологии построения компонент, но и в связи их друг с другом: при возникновении ошибки Turbo автоматически переходит в режим экранного редактирования и позиционирует курсор в точку возникновения ошибки. Аналогичные действия выполняются и отладчиком при возникновении ошибки во время выполнения программы.

1.5. Структура программы в TURBO PASCAL

Program <название> - заголовок программы

Label - описание меток

Const - описание констант

Type - описание типов

Var - описание переменных

Procedure - описание процедур

Function – описание функций

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

Раздел “описание” состоит из пяти секций.

Описание меток. Переход по метке выполняется оператором GOTO. Все метки должны быть описаны. Метки могут быть целочисленными от 0 до 9999 или идентификаторами. Каждая описанная метка должна появиться в программе.

Пример. Label X1, Finish, 4444;

Описание констант. Общий вид:

Const идентификатор = выражение (или число).

Пример.Const Limit = 256

M = 25*16;

K = M*Limit - 1

Error = ‘Ошибка’; - символьная константа;

Err1 = Error + ‘Повторите ввод’;

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

ABS - абсолютная величина

CHR - символическая переменная типа порядковый номер

HI - старший байт (хай)

LENGTH - длина строковой переменной

LO - младший байт

ORD – порядковый номер

PRED - предыдущее значение

PTR - указатель (пойнтер)

ROUND - округление

SIZEOF - размер переменной

SUCC - следующий

SWAP - перестановка байтов

TRUNC – отбрасывание дробной части числа

Предопределенные константы:

FALSE - истина

TRUE - ложь

MAXINT = 32767

MAXLONGINT = 2147483647

BOOLEAN - логическая переменная

INTEGER - целое

LONGINT - длинное целое

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

Пример. Const L = 100;

H = -L;

В данном примере сначала определяется идентификатор константы L, который затем используется при определении константы Н.

В качестве констант в языке Паскаль разрешается использовать целые и вещественные значения, а также строки.

Пример. Const PI = 3,14;

STR = ‘-----’;

LENGHT = 80;

1.6. Определение типов

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

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

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

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

Type идентификатор = тип;

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
440
Средний доход
с одного платного файла
Обучение Подробнее