
- •Содержание
- •1.Введение
- •Рекомендуемая литература
- •1.1Этапы решения инженерных задач с помощью эвм.
- •1.2Алгоритмы решения задач.
- •1.2.1Понятие алгоритма, его свойства.
- •Свойства алгоритма
- •1.2.2Обозначения элементов алгоритмов (блоки).
- •1.2.3Базовые управляющие конструкции.
- •Основные блочные символы.
- •Базовые алгоритмические структуры.
- •1.2.4Некоторые стандартные приемы алгоритмизации.
- •1. Поменять местами содержимое двух переменных (три ведра).
- •Определить, имеют ли две переменные один знак.
- •Проверить делимость числа на 3.
- •Алгоритм обработки массива.
- •Найти сумму элементов массива.
- •Найти максимальный элемент массива.
- •Использование флага наступления события.
- •Построить таблицу значений функции на отрезке и найти ее максимальное значение.
- •1.3Системы программирования.
- •1.3.1Состав.
- •1.3.2Язык программирования, алфавит, синтаксис, семантика.
- •1.3.3Реализация языка.
- •1.4Характеристики языков программирования.
- •1.5Целевое назначение систем программирования.
- •1.5.1Машинно-ориентированные.
- •1.5.1.1Системы символического кодирования.
- •1.5.1.2Ассемблеры.
- •1.5.2Машинно-независимые.
- •1.5.2.1Процедурно-ориентированные.
- •1.5.2.2Проблемно-ориентированные.
- •1.6Этапы обработки программы машиной.
- •2.1История создания.
- •2.3Алфавит, структура программы.
- •2.3.1Алфавит.
- •2.3.2Структура программы.
- •2.4Типы данных Си. Константы. Переменные. Описания переменных.
- •2.5Выражения в языке Си.
- •2.5.1Арифметические операции и выражения.
- •2.5.2Логические операции и выражения.
- •2.5.3Некоторые другие операции в языке Си.
- •2.5.3.1Операция присваивания.
- •2.5.3.2Условная операция.
- •2.5.3.3Операция последовательного вычисления (запятая).
- •2.5.3.4Специфические формы операции присваивания.
- •2.5.3.5Приоритет выполнения операций.
- •2.5.4Стандартные функции.
- •2.5.4.1Правила записи.
- •2.5.4.2Основные математические функции.
- •2.6.2.2Оператор бесформатного ввода с клавиатуры.
- •2.6.2.3Функция форматного вывода на экран.
- •2.6.2.4Функция ввода символа с клавиатуры.
- •2.6.3Составной оператор.
- •3.Операторы управления.
- •3.1Условные операторы.
- •3.1.1Оператор if-else.
- •3.1.2Оператор else-if.
- •3.2Оператор-переключатель. Оператор break.
- •3.3Операторы для организации цикла.
- •3.3.1Оператор цикла с предусловием (while).
- •3.3.2Оператор цикла с постусловием (do).
- •3.3.3Оператор цикла с параметром (for) или пошаговый.
- •3.3.4Вложенные циклы.
- •3.3.5Операторы break и continue.
- •3.3.6Оператор безусловного перехода.
- •4.Использование массивов. Указатели.
- •4.1Массивы.
- •4.1.1Понятие массива. Описание массива.
- •4.1.2Инициализация массивов.
- •4.1.2.1Инициализация массивов при их объявлении.
- •4.1.2.2Инициализация массивов вводом с клавиатуры.
- •4.1.3Вывод массивов.
- •4.1.4Работа с массивами.
- •4.2Указатели.
- •4.2.1Адреса и указатели.
- •4.2.2Массивы и указатели.
- •4.2.3Строки и указатели.
- •5.Функции пользователя в языке Си.
- •5.1Назначение функций. Описание функции.
- •5.2Обращение к функции. Прототип функции. Область видимости и время жизни переменных.
- •5.3Правила соответствия формальных параметров и фактических аргументов.
- •5.4Передача данных по значению и по адресу. Функция scanf().
- •5.5Использование массивов в качестве аргументов функции.
- •Int na, nb; // количества введенных элементов этих массивов
- •Vvod_mas1(&na,a) // Ввод количества элементов na и массива a
- •Vvod_mas1(&nb,b) // Ввод количества элементов nb и массива b
- •If password("Мой пароль")
- •6.Работа с внешними файлами в Си.
- •6.1Файловый указатель. Открытие файла.
- •6.2Чтение данных из текстового файла.
- •6.3Запись данных в текстовый файл. Закрытие файла.
1.6Этапы обработки программы машиной.
Опишем подробно те действия, которые должен предпринять программист, написав в тетради алгоритм, чтобы получить результаты расчетов на бумаге, экране или в файле. Мы представим этапы этих действий в виде схемы и в виде словесного описания. Результатами этапов являются объекты, приведенные в блоках. На схеме в первом блоке указан смысл каждой строки в последующих блоках. Между блоками приведены номера этапов, названия и средства их выполнения.
Написание программы. Здесь происходит достаточно формальный процесс перевода алгоритма с языка, использованного при его разработке, в текст программы на алгоритмическом языке высокого уровня (у нас это Си). При написании программы учитывается разработанные ранее сценарий ее работы и интерфейс пользователя.
Создание программы на диске. На этом этапе с помощью программы редактор текстов, обычно входящую в систему программирования, текст программы записывается на жесткий диск. Результатом этапа редактирования является текстовый файл программы на языке Си с именем, которое дает программист, и расширением .c или .cpp. Этот файл имеет название исходный модуль. Программа может быть записана и в нескольких исходных модулях, т.е. состоять из нескольких файлов.
Компиляция программы. На этапе компиляции каждый исходный модуль переводится с языка высокого уровня в машинный код. Это действие производится с помощью программы компилятор, обязательно входящей в систему программирования. Результатом работы компилятора является файл на диске, имеющий то же имя, что и исходный модуль, а расширение .obj. Этот файл носит название объектный модуль. Побочным результатом компиляции в случае наличия синтаксических ошибок в программе являются сообщения компилятора о них на экране дисплея. В этом случае объектный модуль не формируется.
Сборка (компоновка, редактирование связей). На этом этапе все объектные модули с помощью программы компоновщик (или редактор связей) компонуются (собираются) в одну исполняемую программу на машкоде. Результатом работы компоновщика является файл, который называется загрузочный модуль. Его имя совпадает с именем первого из объектных модулей, участвующих в сборке, а расширение - .exe. Вместе с объектными модулями компонуются и используемые в программе стандартные функции из специальных библиотек, входящих в систему программирования. При этом формируются так называемые перекрестные ссылки (связи), т.е. адреса расположения в памяти используемых функций.
Загрузка. С помощью программы загрузчик (или интерпретатор команд операционной системы, обычно это файл command.com), программа загружается в оперативную память и управление передается на ее первую команду (принцип Фон-Неймана). Обычно в начале работы программы вводятся исходные данные либо из файла, либо пользователем с клавиатуры. В процессе выполнения программа выводит результаты на экран, принтер или в файл на диске.
Табл.3
Вид представления Место хранения Язык Имя хранения Название объекта |
|
Алгоритм Блок-схема в тетради Язык -графический Имя алгоритма блок-схема задачи |
|
Программа текст в тетради на языке Си Имя программы текст программы |
|
|
|
|
|
Программа Файл на диске на языке машкод имя.exe загрузочный модуль |
|
Программа Файл на диске на языке машкод имя.obj объектный модуль |
|
Программа Файл на диске на языке Си имя.cpp исходный модуль |
|
|
|
|
|
Результаты Числа и текст на экране или в файле На русском языке |
|
Исходные данные Числа и текст Ввод с клавиатуры или из файла На русском языке |
|
Стандарт-е функции Объектный модуль на диске на языке машкод .lib, .obj Библ.станд.функций |
2.Основные понятия языка Си++.