- •Содержание.
- •1.Предмет и содержание дисциплины 6
- •2.Использование языка программирования с в решении экономических задач 7
- •3.Информатика как наука. 68
- •4.Арифметико-логические основы эвм. 74
- •5.Электронные вычислительные машины. 88
- •7.Основы алгоритмизации. 113
- •8. Программное обеспечение эвм. 127
- •9.Экономическая эффективность программного изделия. 215
- •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.8.1.Функция printf.
- •2.1.8.2.Управляющая строка.
- •2.1.8.3.Функция scanf.
- •2.1.8.4.Функция getchar
- •2.1.8.5.Функция putchar
- •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.2.2.Макроподстановка с аргументами.
- •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.
- •9.Экономическая эффективность программного изделия.
2.1.8.3.Функция scanf.
Функция scanf предназначена для осуществления форматного ввода данных с клавиатуры. Scanf (форматное описание) в основном соответствует формату printf. Аргументы scanf должны быть указателями на соответствующие значения переменных. (Перед значениями переменных всех типов, за исключением массивов ( строк символов ) ставится амперсант. & - это символ обозначает, что в распоряжении функции предоставляется не содержимое, а адрес переменной.) Управляющая строка содержит спецификации преобразования и используется для установления количества и типов аргументов. Игнорируются пробелы, символы табуляции и перехода на строку. Между знаком % и символом преобразования может находиться число, задающее max размер поля или (*) запрещение присваивания.
scanf(“% d _ % * d _ % d”, & a, & b);
ввод с клавиатуры 1 _ 2 _ 3
В результате обращения к функции, scanf будут присвоены значения а = 1; b = 3.
2.1.8.4.Функция getchar
Функция getchar предназначена для чтения по одному символу из стандартного источника (клавиатуры) Формальное описание данной функции (переменная должна иметь тип int или char).
Пример:
а = getchar ( );
По данному оператору переменной а, присваивается очередной вводимый символ.
2.1.8.5.Функция putchar
Функция putchar предназначена для вывода значений переменной (символа) в стандартный выходной поток (на экран дисплея)
putchar (переменная);
Пример: putchar (a);
По данному оператору в выходном потоке появится значение символа а. Любая программа работает над данными, которые должны быть заданы.
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 – унарный оператор, возвращающий длину в байтах переменной или типа помещенных в скобке.
Пример:
floatf;
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
В данной операции осуществляется сдвиг значения влево на с разрядов, в оставшиеся разряды bзаносятся нули.
Пример №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.
Горизонтальные преобразования выполняются всегда, вертикальные по мере необходимости.
