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

Учебно-методические пособия

4.1.1 Методическое пособие и учебные материалы по курсу «Основы информатики и вычислительной техники» для студентов экономических специальностей заочной формы обучения. В 2ч. Ч.1. А.В.Бахирев, Е.Н. Живицкая, В.Н. Комличенко и др. – Мн.: БГУИР, 2000. – 82 с.

4.1.2 Лабораторный практикум по курсу "Основы информатики и вычислительной техники" для студентов экономической специальности. В 2 ч. Ч. 1. А.В.Бахирев, Е.Н. Живицкая, В.Н. Комличенко, С.А. Соколов. – Мн.: БГУИР, 2000. – 48 с.

4.1.3 Лабораторный практикум по курсу «Основы информатики и вычислительной техники» для студентов экономических специальностей. В 2 ч. Ч. 2. Е.Н. Живицкая, В.Н. Комличенко, И. Г. Орешко, С. А. Соколов, А. А. Пасовец, А. В. Лепеш, Ф. Н. Козелько. – Мн.: БГУИР, 2001 – 42 с.

4.1.4 Лабораторный практикум по курсу «Основы информатики и программирования» для студентов спец. I-40 01 02-02 «Информационные системы и технологии в экономике» всех форм обуч. В 2 ч. Ч. 2 / Е.Н. Живицкая [и др.]. – Минск: БГУИР, 2007. – 108 с.

4.1.5 Лабораторный практикум по курсу "Технологии организации, хранения и обработки данных" для студентов экономических специальностей. Бутов А.А. – Мн.: БГУИР, 2008. – 52 с.

 

Технические средства обучения

4.2.1 ПК со следующей конфигурацией: процессор Pentium IV, RAM не ниже 512 Гб, видеокарта с RAM не ниже 128 Мб, объем жесткого диска не менее 40 Гб.

 

Компьютерные программы

4.3.1 Microsoft Visual Studio 6.0 (и выше);

4.3.2 Microsoft Office Enterprise 2007 (c основными компонентами);

4.3.3 ERwin Data Modeler 7;

4.3.4 ERwin Process Modeler 7.

 

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

 

 

Данная дисциплина не требует согласования с другими дисциплинами.

 

 

Заведующий кафедрой ________________ В.Н. Комличенко


ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ

 

Лекции

Тема 1. Основные понятия языка программирования С

Любой язык программирования, в том числе и язык С, можно рассматривать как очень примитивный иностранный язык с жесткими правилами, не имеющими исключений. Известно, что в тексте на любом естественном языке можно выделить следующие 4 разновидности элементов: символы, слова, словосочетания и предложения. Подобные элементы содержит и язык программирования, только слова называются лексемами, словосочетания – выражениями, а предложения – операторами. Лексемы образуются из символов, выражения – из лексем и символов, а операторы – из выражений, лексем и символов (рис. 1.1).

 

Операторы  
Выражения
Лексемы
Символы

 

 


Рис. 1.1. Состав языка программирования

 

Символы или алфавит языка – это основные неделимые знаки, с помощью которых пишутся все тексты на языке (естественном или языке программирования). Например, в русском языке один алфавит, в албанском – другой, в арабском – третий и т.д. Так как компьютер умеет работать только с числами, то в языках программирования символы представляются (кодируются) также посредством чисел. Соответствие между символами и кодирующими их числами называется кодировкой и представляется в виде кодовой таблицы (character set). Существует много различных кодировок символов. Например в Windows часто используется кодировка CP1251. В ней каждый символ представляется одним байтом (8 бит), поэтому в этой кодировке можно задать только 28 = 256 различных символов. В первой половине кодовой таблицы находятся латинские буквы, цифры, знаки арифметических операций и другие распространенные символы. Символы русского алфавита находятся во второй половине кодовой табоицы. Если требуется представлять символы другого национального алфавита (например, албанского), необходимо использовать другую кодовую таблицу. Существует универсальная кодировка Unicode, каждый символ которой кодируется двумя байтами и которая позволяет представить символы всех существующих алфавитов одновременно. Такая кодировка используется в более сложных современных языках программирования, таких как C++, Java, C#, Visual Basic.

Лексема или элементарная конструкция – это минимальная единица языка, имеющая самостоятельный смысл.

Выражение задает правило вычисления некоторого значения. Например, выражение a + b + c задает правило вычисления суммы трех величин.

Оператор задает законченное описание некоторого действия, данных или элемента программы. Например:

int a; a = b + c;

Первый оператор задает описание целочисленной переменной a. Второй оператор задает описание суммирования двух величин с сохранением результата в переменной a.

Для описания сложного действия требуется последовательность операторов.

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

Определение. Объединенная единым алгоритмом совокупность описаний и операторов образует программу на языке программирования. Обычно программа включает в себя еще так называемые директивы препроцессора. Для того, чтобы выполнить программу, требуется перевести ее на язык, понятный процессору компьютера – в машинные коды. Этот процесс состоит из нескольких этапов (рис. 1.2).

 

Исходный текст программы (.срр)
Полный текст программы (.срр)
Объектный код программы (.obj)
Исполняемая программа (.exe)
Препроцессор
Компилятор
Компоновщик
Библиотечные файлы (.lib)
Включаемые файлы (.h)

 

 


Рис. 1.2. Этапы создания исполняемой программы

 

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

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

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

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

Алфавит языка

Алфавит языка С включает в себя:

a) прописные и строчные латинские буквы, а также символ подчеркивания, который используется наряду с буквами;

b) арабские цифры от 0 до 9;

c) специальные символы, например +, *, {, & и др. (фактически используются все специальные символы на клавиатуре персонального компьютера за исключением @ и $);

d) пробельные символы (пробел, табуляция);

e) символ перехода на новую строку.

Лексемы

Из символов алфавита формируются лексемы языка, которые подразделяются на:

1) идентификаторы;

2) ключевые (зарезервированные) слова;

3) знаки операций;

4) константы;

5) разделители, к которым относятся: скобки, точка, запятая, пробельные символы, символ перехода на новую строку.

Границы лексем определяются другими лексемами, такими, как разделители или знаки операций.

Идентификаторы

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

a = b * c; // это неудачный выбор имен переменных

Cost = Price * Quantitty; //или Stoi = Cena * Kol;

Ключевые слова

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

auto double int struct

break else long switch

case enum register typedef

char extern return union

const float short unsigned

continue for signed void

default goto sizeof volatile

do if static while

Знаки операций

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

Рассмотрим наиболее распространенные операции: +, -, *, /. Из них две последние операции являются бинарными, а две первые – могут быть как бинарными, так и унарными, например:

a = -5;

a = b – 5;

Константы

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

Целая десятичная константа есть последовательность десятичных цифр, начинающаяся не с нуля, если только это не число ноль. Например:

Целая восьмеричная константа начинается нулем, за которым следуют восьмеричные цифры 0,1,…,7. Цифры 8 и 9 недопустимы. Например (для тех же чисел):

Целая шестнадцатиричная константа начинается парой символов 0x или 0X, за которыми следуют шестнадцатиричные цифры 0,1,…,9,A,B,C,D,E,F. Например (для тех же чисел):

0x1

0x5D

0x55C

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

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

5.7

.001

357.

9.0

0. или .0 или 0.0

2) Вещественная константа с плавающей точкой (экспоненциальный формат) представляется в виде мантиссы и порядка. Мантисса записывается слева от знака экспоненты (E или e), порядок – справа от этого знака. Значение константы определяется как произведение мантиссы и числа 10, возведенного в указанную в порядке степень. Пробелы внутри числа не допускаются, а для отделения целой части мантиссы от дробной используется точка. Например:

1.3Е2 = 1.3 × 102 = 130

.11е-3 = 0.11 × 10-3 = 0.00011

5Е10 = 5 × 1010 = 50000000000

Символьная константа представляет собой символ, заключенный в апострофы или два заключенных в апострофы символа, первый из которых есть обратная косая черта, например: ‘A’, ‘ю’, ‘#’, ‘+’, ‘\n’, ‘\t’. Символ обратной косой черты используется:

a) для представления кодов, не имеющих графического изображения, например:

\a – звуковой сигнал,

\b – возврат на шаг,

\f – перевод страницы,

\n – перевод курсора в начало следующей строки,

\r – возврат каретки,

\t – горизонтальная табуляция,

\v – вертикальная табуляция;

b) для представления символов: обратной косой черты (\), апострофа (‘), кавычки (“), знака вопроса (?). При этом записи ‘\’ и ‘’’ недопустимы и должны быть записаны как ‘\\’ и ‘\’’.

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

‘\112’ (то же, что и ‘G’)

‘\7’ (то же, что и ‘\a’ - звуковой сигнал)

Шестнадцатиричный код задается одной или двумя шестнадцатиричными цифрами, снабженными префиксом x, например:

‘\xF5’ (то же, что и ‘G’)

‘\x7’ (звуковой сигнал)

Поскольку символьная константа есть число, то вполне допустимым будет оператор:

x = 10 + ‘A’; //соответствует: x = 10 + 65;

Строковая или текстовая константа есть последовательность символов, заключенная в кавычки, например:

“Мы изучаем язык С”

“\tЗначение x = 100\n”

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

“Издательский дом \”Питер \“”

В конец каждой строковой константы компилятором добавляется не имеющий графического изображения так называемый нуль-символ, представляемый парой символов \0. Поэтому длина строковой константы всегда на единицу больше количества символов в ее записи. Таким образом, пустая строка “” на самом деле имеет длину 1. Если сравнить строковую константу из одного символа, например “A”, и символьную константу ‘A’, то они имеют разную длину (соответственно 2 и 1). В отличие от пустой строки, пустая символьная константа (т.е. ‘’) недопустима.

Комментарии

Комментарии предназначены для записи пояснений к программе и формирования документации.

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

 

Тема 2. Типы данных

Концепция типа данных.

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

1) внутреннее представление данных в памяти компьютера и, следовательно, диапазон их возможных значений;

2) допустимые действия над данными (какие операции и функции можно применять к величинам этого типа).

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

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

Простые типы данных

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

1) int (целый);

2) char (символьный);

3) float (вещественный);

4) double (вещественный с двойной точностью).

Первые два типа называют целочисленными, последние два – типами с плавающей точкой. Внутреннее представление величины целочисленного типа – это целое число в двоичном коде, например:

0 … 011100101(2) = 20 + 22 + 25 + 26 + 27 = 1 + 4 + 32 + 64 + 128 = 229(10)

Типы данных с плавающей точкой хранятся в памяти компьютера иначе, чем целочисленные и состоят из двух частей – мантиссы и порядка, причем каждая часть имеет знак. Длина мантиссы определяет точность представления числа, а длина порядка –диапазон его изменения. В первом приближении это можно представить так: например, для числа 0.381×104 мантисса равна 381, порядок равен 4; для числа 560.3×102 = 0.5603×105 мантисса равна 5603, порядок равен 5; число 0.012 = 0.12 ×10-1 имеет мантиссу 12 и порядок -1.

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

1) short (короткий);

2) long (длинный);

3) signed (знаковый);

4) unsigned (беззнаковый).

Целый тип int

Размер типа int не определяется стандартом, а зависит от длины разрядной сетки процессора компьютера. Для современных 32-разрядных персональных компьютеров под величины этого типа отводится 4 байта (в будущих 64-разрядных персональных компьютерах этот тип будет иметь длину 8 байт).

Спецификатор short перед именем типа int указывает компилятору, что под число требуется отвести 2 байта независимо от разрядности процессора, а спецификатор long перед int означает, что будет отведено 4 байта. Таким образом на 32-разрядном процессоре типы int и long int эквивалентны.

При использовании спецификатора signed старший бит числа интерпретируется как знаковый (0 – положительное число, 1 – отрицательное число). Спецификатор unsigned позволяет представлять только положительные числа, поскольку старший разряд рассматривается как часть кода числа.

Все целочисленные типы по умолчанию считаются знаковыми, то есть спецификатор signed можно опускать. В свою очередь, типы short int, long int, unsigned int можно сокращать до short, long, unsigned соответственно.

 

Символьный тип char

Под величину символьного типа отводится 1 байт (8 бит). Тип char, как и другие целые типы, может быть со знаком или без знака. Величины со знаком могут менять свои значения в диапазоне от ‑128 до 127. При использовании спецификатора unsigned значения могут изменяться в пределах от 0 до 255. Этого достаточно для представления любого символа кодовой таблицы.

 

Диапазоны значений целых типов данных для 32-разрядного компьютера

Тип (сокращение) Диапазон значений Размер (байт)
signed char (char) -128 . . . 127
unsigned char 0 . . . 255
signed short int (short) -32 768 . . . 32 767
unsigned short int (unsigned short) 0 . . . 65 535
signed long int (long) -2 147 483 648 . . . 2 147 483 647
unsigned long int (unsigned long) 0 . . . 4 294 967 295
signed int (int) -2 147 483 648 . . . 2 147 483 647
unsigned int (unsigned) 0 . . . 4 294 967 295