- •Содержание.
- •1.Предмет и содержание дисциплины 6
- •2.Использование языка программирования с в решении экономических задач 7
- •3.Информатика как наука. 68
- •4.Арифметико-логические основы эвм. 73
- •5.Электронные вычислительные машины. 88
- •7.Основы алгоритмизации. 113
- •8. Программное обеспечение эвм. 127
- •1.Предмет и содержание дисциплины
- •1.1.Содержание дисциплины.
- •2.Использование языка программирования с в решении экономических задач
- •2.1. Программы и данные
- •2.1.1. Достоинство языка с
- •2.1.2.Использование с.
- •2.1.3.Структура программы на языке с.
- •2.1.4. Элементы программы. Идентификаторы.
- •2.1.5. Типы данных.
- •2.1.6. Таблица всех допустимых комбинаций базовых типов и модификаторов для 16-битных слов.
- •2.1.7. Локальные и глобальныепеременные.
- •2.1.8.Функции ввода и вывода данных.
- •2.1.9.Функции и обозначающие символы.
- •2.2.Операции, операторы и выражения.
- •2.2.1.Операторы организации циклов.
- •2.2.1.1. Оператор for
- •2.2.1.2.Оператор while
- •2.2.1.3.Оператор цикла do-while.
- •2.2.2. Операторы выбора.
- •2.2.2.1.Оператор if – else(если…иначе)
- •If (условие) оператор 1;
- •2.2.2.2. Оператор ?
- •Выражение 1? выражение 2: выражение 3;
- •2.2.2.3. Оператор switch (переключатель)
- •2.2.2.4. Оператор безусловного перехода goto.
- •2.2.2.5. Операторbreak
- •2.2.2.6. Оператор continue
- •2.2.3.Объявление переменных.
- •2.2.4.Константы.
- •2.2.5.Коментарии.
- •2.2.6.Рекомендации по програмированию.
- •2.3.Структурированные типы данных.
- •2.3.1.Массив.
- •2.3.1.1. Связь между массивами и указателями.
- •2.3.1.2. Рекомендации по програмированию.
- •2.3.1.3. Массивы строк символов.
- •2.3.1.4.Многомерные массивы.
- •2.3.2. Структуры.
- •2.3.2.1. Доступ к членам структуры.
- •2.3.2.2. Присваивание структур.
- •2.3.2.3.Массивы структур.
- •2.3.2.4.Массивы и структуры в структурах.
- •2.3.3.Битовые поля.
- •Разряды машинного слова
- •2.3.4.Cмеси.
- •2.3.5.Cредства typedef
- •2.3.6.Файлы.
- •2.3.6.1.Ввод и вывод информации.
- •2.3.6.2.Функции fsanf и fprintf
- •2.3.6.3.Чтение и вывод строк.
- •2.3.6.4.Функция fgets( )
- •2.3.6.5. Функция fputs( )
- •2.4. Указатели.
- •2.4.1.Операторы для работы с указателями.
- •2.4.2.Выражение с указателями.
- •2.4.3.Арифметические действия с указателями.
- •2.4.4.Сравнение указателей.
- •2.4.5.Массивы указателей
- •2.4.6. Указатели на указатели многочисленные или перенаправления.
- •2.4.7. Указателина структуры.
- •2.4.7.1.Объявление указателей на структуру.
- •2.4.7.2.Использование указателей на структуру.
- •2.4.8. Рекомендации по програмированию.
- •2.5.Функции.
- •2.5.1.Вызов функции. Использование вызывающей функции. Обращение к вызывающей функции.
- •2.5.2.Аргументы и параметры.
- •2.5.3.Оператор return.
- •2.5.4.Рекурсия (использование вызывающей функции обращения к самой себе).
- •2.5.5.Использование указателя на функцию при вызове функции.
- •2.5.6.Главная функция, передача аргументов главной функции.
- •2.6.Библиотечные функции языка с.
- •Наиболее употребительные заголовочные файлы.
- •2.6.1. Puts ( )
- •Int puts (s)
- •2.6.2. Gets ( )
- •2.6.3. Putc().
- •2.7.1.Включение файла.
- •2.7.2.Макроподстановка.
- •2.7.2.1.Простая.
- •2.7.3.Рекомендации по программированию.
- •2.7.4.Директива #undef
- •2.7.5.Условная компиляция.
- •2.7.6.Директива #elif.
- •2.7.7.Директива #error.
- •2.8 Динамическое распределение памяти
- •2.8.1.Операторы malloc и free.
- •2.8.2.Операторы new и delete.
- •2.8.2.1.Размещение массивов с помощьюnew.
- •2.9 Связные списки, очереди, стеки
- •2.9.1.Односвязные и двусвязные списки.
- •2.9.2.Очереди.
- •2.9.3.Стеки.
- •3.Информатика как наука.
- •3.1.Информатика и информация
- •3.2.Информация и управление
- •3.3.Информационные технологии
- •4.Арифметико-логические основы эвм.
- •4.1.Позиционные системы счисления
- •4.1.1.Система счисления.
- •4.2. Метод деления.
- •4.3.Метод умножения.
- •4.4.Сложение двоичных чисел
- •4.5.Умножение двоичных чисел
- •4.6.Деление двоичных чисел
- •5.Электронные вычислительные машины.
- •5.1.Функционально-структурная организация
- •5.1.1.Структура персонального компьютера
- •5.1.2.Внутренние устройства пк.
- •5.1.3.Специальная память.
- •5.2. Внешние запоминающие устройства.
- •5.2.1.Носители информации.
- •5.2.1.1. Жесткий диск.
- •5.2.1.2. Флоппи-диски.
- •5.2.1.3. Компакт-диски.
- •5.2.2.Клавиатура пвэм.
- •5.2.2.1.Клавиатура.
- •5.2.2.2.Классификация клавиш.
- •5.2.2.3.Устройство клавиатуры.
- •5.2.4.Дисплеи пэвм.
- •5.2.4.1.Текстовый режим.
- •5.2.4.2.Графический режим.
- •5.2.5.Печатающие устройства.
- •5.2.6.Мышь и трекбол.
- •5.2.7.Дополнительные устройства пэвм.
- •5.2.7.1. Сканер.
- •5.2.7.2. Плоттер.
- •5.2.7.3. Дигитайзер.
- •5.2.7.4. Модем.
- •5.2.7.5. Звуковая карта.
- •5.2.7.6. Видеоадаптер.
- •5.2.7.7. Сетевая карта.
- •5.2.7.8.Стример.
- •5.3. Тенденции развития пэвм.
- •5.3.1. Ibm pc – совместимые персональные компьютеры
- •5.3.1.1Аппаратные средства пк (Hardware)
- •5.3.1.2.Драйверы
- •5.3.2. Персональные компьютеры фирмы Apple
- •5.3.2.1.IMac
- •5.3.2.2.PowerMacG4
- •5.3.2.3.Выбираем конфигурацию
- •5.4.Сотовая связь
- •7.Основы алгоритмизации.
- •7.1.Понятие алгоритма
- •7.2.Основные этапы технологического процесса разработки программ решения экономических задач на эвм.
- •7.3.Свойства алгоритма
- •7.4.Алгоритмический язык
- •7.5.Языки программирования.
- •8. Программное обеспечение эвм.
- •8.1. Системное программное обеспечение эвм
- •8.1.1.Операционная система.
- •8.1.1.1.Понятие, основные функции и составные части ос.
- •8.1.1.2.Файловая система.
- •8.1.1.3.Характеристики и виды ос.
- •8.1.1.4.Oc ms dos
- •8.1.1.5.OcWindows.
- •8.1.1.6.Стандартные приложенияWindows
- •8.1.1.7.Обзор современных ос.
- •8.1.2.Программная оболочка
- •8.1.2.1.Norton Navigator
- •8.1.2.2.Windows Commander
- •8.1.3.Файлы и каталоги
- •8.1.3.1.Создание каталога.
- •8.1.3.2.Работа с файлами и каталогами. Операции с отдельными файлами
- •8.1.3.3.Работа с группой файлов.
- •8.1.3.4.Операции с файлами
- •8.1.4.Сканирование
- •8.1.5.Дефрагментация
- •8.1.6.Norton Utilities
- •8.1.6.1.Norton Disk Doctor
- •8.1.6.2.NortonSpeedDisk
- •8.1.7.Архивация.
- •8.1.7.1.Программы архивации
- •8.1.7.2.Arj
- •8.1.7.3.WinRar
- •8.1.7.4.ZipFoldersиZipMagic2000
- •8.1.8.Антивирусные средства.
- •8.1.8.1.Классификация вирусов.
- •8.1.8.2.Особенности алгоритма работы вируса.
- •8.1.8.3.Аппаратные устройства – источники вирусов.
- •8.1.8.4.Способы защиты от вирусов.
- •8.2. Прикладное программное обеспечение пэвм
- •8.2.1.Компьютерная графика.
- •8.2.1.1.Направления компьютерной графики
- •8.2.1.2.Растровая и векторная графика.
- •8.2.1.3.Назначение и характеристика пакетов растровой графики.
- •8.2.1.4.Назначение и характеристика пакетов векторной графики.
- •8.2.1.5.Программы трехмерного моделирования.
- •8.2.1.6.Назначение и характеристика пакетов деловой графики.
- •8.2.1.7.Графические форматы данных.
- •8.2.1.8.Задачи, решаемые средствами компьютерной графики:
- •8.2.2.Текстовыепроцессоры.
- •8.2.2.1.Сохранение документа и основные особенности наиболее часто употребляемых форматов
- •8.2.2.2.Общая характеристикаMicrosoftWord2000 и его новые и усовершенствованные функциональные возможности.
- •8.2.3.Табличные процессоры
- •8.2.3.1 . Концепция электронной таблицы
- •8.2.3.2.Основные понятия табличного процессора
- •8.2.3.3.Структурные единицы электронной таблицы
- •8.2.3.4.Правила работы.
- •8.2.3.5. Характеристика табличных процессоров
- •8.2.3.6.Функциональные возможностиExcelи его интерфейс.
- •8.2.3.7.ВозможностиExcel97
- •8.2.4.Пакеты презентационной графики.
- •8.2.4.1.Создание презентации с помощью Мастера автосодержания.
- •8.2.4.2.Возможности программы.
- •8.2.4.3.Новые возможности в очередных версиях.
- •8.2.5. Дополнительные возможности продуктов ms Office
- •8.2.5.1.Совместное использование программ Word, Excel, PowerPoint.
- •8.2.5.2.Подготовка документов на бланке.
- •8.2.5.3.Отправка документа по электронной почте.
- •8.2.5.4.Создание Web-страниц.
- •8.2.5.5.Назначение и характеристика мsOutlook.
2.2.Операции, операторы и выражения.
Выражения являются объектами конструированными с использованием операции (сложения, вычитания, умножения и т.д.). Константы, переменные (включая структуры, массивы и вызовы функций) и представляют собой формулы для вычисления значений переменных.
Выражения состоят из операндов (элементов языка).
Операции классифицируются по числу участвующих в них операндов и по типу действия, которые они выполняют.
Классифицируются по числу операндов:
1) Первичные, определяющие размер, разделители и компоненты составных обьектов языка.
2) Унарные – выполнения действия под одним операндом.
3) Бинарные – требуется два операнда (включая большинство опера-
ций С).
4) Тройная – требуется 3 операнда.
?: – условная операция ( одна )
Порядок выполнения операндов при вычислении значения выражения определяется их приоритетами и может регулироваться с помощью круглых скобок. Приоритет можно рассматривать, как ранг операции.
Порядок можно рассматривать, как направление, в котором выполняются операции, обладающие одинаковым приоритетом.
Приоритет |
Знак операции |
Класс операции |
Порядок |
1 |
( )[ ] –> . |
Первичные |
––––> |
2 |
!++ -- ~ - * & sizeof (тип) |
Унарные |
<–––– |
3 |
* / % |
Бинарные мультипликативные |
––––> |
4 |
+ – |
Адитивные |
––––> |
5 |
<< >> |
Сдвига |
––––> |
6 |
< > <= >= |
Отношения |
––––> |
7 |
== != |
Равенство |
––––> |
8 |
& |
Побитовая и |
––––> |
9 |
^ |
Исключающая или |
––––> |
10 |
|
Подбитовая или |
––––> |
11 |
&& |
Логическое и |
|
12 |
|
Логическое или |
––––> |
13 |
?: |
Условное или |
<–––– |
14 |
= + = – = *= /= %= &= ^= = |
Присваивающая |
<–––– |
15 |
, |
Запятая |
––––> |
Знак опреации |
Назначение операции |
() |
Вызов функции |
[] |
Выделение элемента массива |
––––> |
Выделение элемента записи |
. |
Выделение элемента записи |
! |
Логическое отрицание |
++ |
Увеличение на единицу |
– – |
Уменьшение на единицу |
~ |
поразрядное отрицание |
– |
изменение знака |
* |
обращение по адресу |
& |
- взятие адреса |
│ sizeof |
определение размера в байтах |
( тип ) |
преобразование типа |
* |
- умножение |
/ |
Деление |
% |
определение остатка от деления |
+ |
Сложение |
– |
Вычитание |
<< |
сдвиг влево |
>> |
сдвиг вправо |
< |
меньше, чем |
> |
больше, чем |
<= |
меньше или равно |
>= |
больше или равно |
= = |
Равно |
!= |
не равно |
Для остальных операций назначения определяются названием класса операции (см. предыдущую таблицу).
Оператор “,” используется для связки нескольких выражений. Левая сторона оператора “,” всегда вычисляется, как void ( т.е. не выражающее значение ) – это означает, что значение выражения находящегося с правой стороны станет значением разделенного запятыми выражения.
Пример:
x= (y=3,y+1 );
Скобки необходимы, т.к. операция запятая имеет более низкий приоритет по сравнению с операцией присваивания. Оператор “,” аналогичен и в русском языке.
Оператор sizeof – унарный оператор возвращающий длину в байтах переменной или типа помещенных в скобке.
Пример:
ftoat f;
printf ( " % f ", sizeof f );
printf( " %d",sizeof(int) );
В результате выполнения этого оператора выдаются значения 4 и 2.
Для вычисления размера типа, тип помещается в круглые скобки.
Для имени переменной круглые скобки необязательны.
Пример:
1. а! = b
Дает результат 1, если а не = b, и 0 в противном случае.
Операции + + и - - можно записывать как перед операндом, так и после него ++а и а++. В первом случае значение операнда изменяется перед его использование в соответствующем выражении, а во втором после его использования.
Пример №1.
|b = 1;
с = 2;
а = b+с++;
Получены такие значения = 3, а = 3
Пример №2.
b = 1;
с = 2;
а = b+ (++c);
Получены такие значения
с = 3;
а = 4;
Пример №3.
а = ~ b;
b = 1001
а = 0110
Пример №4.
а = b % c
b= 5
c= 2
a= 1
Эту операцию нельзя использовать для переменных типа float и double.
Пример №5.
а = b << c
b= 1001
c= 2
a= 0100
В данной операции осуществляется сдвиг значения влево на С разрядов в оставшиеся разряды в заносятся нули.
Пример №6.
а = = b
Дает результат единица, если а = b, и 0 в противном случае.
Остальные операции отношения аналогичны: результат = 1, если истинно, и 0 если ложно.
Пример №7.
y = x ? a:b
( Тройная операция ) В этом выражении y = a, если x не = 0 и y = b,
если х = 0
Пример №8.
y= (a>b) ?a:b;
Позволяет присвоить переменной y значение большей переменной а или b.
y = max (a,b) – максимальное значение между а и b.
Пример №9. ( коньюнкция (логическое "и") )
а = b & c;
если b = 1010 логическое умножение
c = 0110 1*0 0*1 1*1 0*0
то а = 0010
Пример:Поразрядная дизъюнкция ( "или" )
а = b|с
b = 1010, с = 0110, то а = 1110
1 и 0 выбирают 1, 0 и 1 выбирают 1, 1 и 1 выбирает 1,
0 и 0 выбирает 0
Поразрядно исключающая или
а = b ^ c
b= 1100
c= 0110
a= 1010
Если соответствующие разряды имеют различные значения, то результатом будет 1, в противном случае 0.
В языке С а = а + 5; аналогично записи а + = 5. В общем виде
а + = b а = а + b.
По аналогии используются другие бинарные операции.
При выполнении арифметических операций, если в выражении появляются операнды различных типов в С действуют следующие правила преобразования к некоторому общему типу.
1) Операторы типа char и short преобразуются к типу int. А типа float к типу double.
2) Если один из 2-х операндов имеет тип double другой операнд преобразуется к типу double результат имеет тип double.
3) Если один из операторов имеет тип unsigned, то и другой операнд преобразуется к типу unsigned результат unsigned.
4) Если один из операндов имеет тип long другой тоже преобразуется к long, результат long.
5) Если не выполнено условие 1.4 оба операнда должны быть типа int и результат имеет тип int.
Схема выполнения арифметических преобразований.
double<────float
│
long
│
unsigned
│
int <───── char, short.
Горизонтальные преобразования выполняются всегда, вертикальные по мере необходимости.