- •11. Операторы. Дополнение 135
- •12. Передача данных потоком 145
- •13. Файлы 149
- •14. Структура программы 157
- •15. Указатели, массивы, строки 170
- •16. Работа с экраhом 179
- •Задачи 185
- •Приложения 197
- •Библиографический список 224 введение
- •1. Основные понятия и определения
- •1.1. Компьютер
- •Процессор
- •Периферия
- •1.2. Алгоритмы
- •1.3. Программы и языки
- •Основные понятия языка программирования
- •Выполнение программы
- •Машинный и алгоритмический языки
- •Метаобозначения
- •Этапы обработки программы на компьютере
- •Терминология
- •Трансляция
- •Редактирование связей (компоновка)
- •Загрузка
- •1.4. Данные
- •Системы счисления
- •Типы и совокупности данных
- •Вещественные
- •Логические
- •Совокупности данных
- •2. Элементы языка
- •2.1. История языков с и Basic
- •2.2. Алфавит
- •2.3. Идентификаторы
- •2.4. Знаки разрядки
- •2.5. Комментарии
- •Могут ставиться везде, где допустим знак разрядки. Транслятор рассматривает их как пробел.
- •2.6. Запись текста программы
- •3.1.1. Целые
- •3.1.2. Данные с плавающей точкой
- •3.1.3. Логический тип
- •3.1.4. Символьные данные
- •3.1.5. Дополнительные типы данных
- •3.2. Совокупности данных
- •3.2.1. Массивы
- •Объявления массивов
- •Обращение к элементу массива
- •3.2.2. Структуры
- •Вопросы для самопроверки и контроля Вопросы для самопроверки
- •Контрольные вопросы
- •4. Выражения
- •4.1. Арифметические операторы Основные
- •Дополнительные
- •Приоритет
- •4.2. Операторы конкатенации
- •4.3. Операторы сравнения
- •4.4. Логические операторы
- •4.5. Обращение к функции
- •4.6. Встроенные функции
- •4.7. Заключительные замечания
- •5.2. Присваивание
- •5.3. Безусловный переход
- •5.4. Инструкция If. Пустая инструкция
- •5.5. Составная инструкция
- •5.6. Циклы
- •5.6.1. Циклы с предусловием
- •Циклы while
- •Циклы for
- •5.6.2. Циклы с постусловием
- •5.6.3. Вложенные циклы
- •5.7. Управляемые переходы
- •5.7.1. Инструкция break
- •5.7.2. Инструкция continue
- •5.7.3. Инструкции exit и continue
- •5.8. Многоальтернативный выбор
- •5.8.1. Инструкция switch (язык с)
- •5.8.2. Инструкция select case (язык Basic)
- •Вопросы для самопроверки и контроля Вопросы для самопроверки
- •Контрольные вопросы
- •6. Ввод-вывод
- •6.1. Язык Си
- •6.1.1. Управляющая строка
- •6.1.1.1. Спецификация d (целые десятичные числа)
- •6.1.1.2. Спецификация f (десятичные числа с плавающей точкой)
- •6.1.1.3. Спецификация e (десятичные числа с плавающей точкой)
- •6.1.1.4. Спецификация g (универсальная спецификация)
- •6.1.2. Вывод символьной информации
- •6.1.3. Инструкции printf и scanf. Схема ввода-вывода
- •6.2. Язык Basic
- •6.2.1. Метод ReadLine
- •6.2.2. Методы Write и WriteLine
- •7.1.1. Распределение скаляров
- •7 .1.2. Распределение массивов
- •7.1.3. Статическое и динамическое распределение памяти
- •7.2. Блоки
- •7.3. Процедуры
- •7.3.1. Определения процедур
- •Прототипы функций (c)
- •7.3.2. Передача данных между процедурами
- •Механизмы передачи данных
- •Передача скаляров Возвращаемое значение
- •Входные данные
- •Выходные данные
- •Передача массивов
- •Передача функций
- •Вопросы для самопроверки и контроля Вопросы для самопроверки
- •Контрольные вопросы
- •8. Препроцессор
- •8.1. Определение символических констант
- •8.2. Включение файлов в текст программы
- •9.1. Формирование листинга
- •Перенос:
- •9.2. Комментарии
- •9.3. Имена Имена объектов программы должны быть осмысленными.
- •3. Литералы.
- •9. Ввод-вывод:
- •10.5. Подмассивы (сечения) (c)
- •10.6. Динамические массивы (b)
- •10.7. Структуры и объединения
- •10.7.1. Структуры
- •10.7.3. Поля битов (с)
- •10.7.4. Объединения (смеси) (с)
- •10.7.5. Переменные структуры
- •10.10. Пользовательские типы данных
- •10.11. Преобразование типов
- •10.10.1. Автоматические преобразования
- •10.10.2. Явные преобразования
- •Вопросы для самопроверки и контроля Вопросы для самопроверки
- •Контрольные вопросы
- •11. Операторы. Дополнение
- •11.1. Уровень 1
- •11.2. Уровень 2 (унарные или одноместные операторы)
- •11.3. Уровень 3 (мультипликативные операторы)
- •11.4. Уровень 4 (аддитивные операторы)
- •11.5. Уровень 5 (сдвиги)
- •11.6. Уровень 6 (отношения)
- •11.7. Уровень 7 (равенство и неравенство)
- •11.8. Поразрядные операторы
- •11.9. Логические операторы
- •11.10. Уровень 13 (условное выражение)
- •11.11. Уровень 14 (операторы присваивания)
- •11.12. Уровень 15 (оператор ',' - запятая)
- •11.13. Некоторые замечания
- •11.14. Постоянные выражения
- •Вопросы для самопроверки и контроля Вопросы для самопроверки
- •Контрольные вопросы
- •12. Передача данных потоком
- •12.1. Спецификация "s" управляющей строки функций scanf и printf
- •12.2. Функции getchar и putchar
- •12.3. Функции gets и puts
- •12.4. Внутренняя передача данных (функции sscanf и sprintf)
- •13.1. Основные понятия
- •13.2. Описание файла
- •13.3. Открытие и закрытие файлов
- •13.4. Средства языка с
- •13.4.1. Открытие и закрытие файла
- •13.4.2. Основные функции обмена
- •13.5. Средства языка Basic
- •13.5.1. Открытие и закрытие файла Инструкция FileOpen
- •Инструкция FileClose
- •13.5.2. Работа с файлами Инструкция Input
- •Инструкция LineInput
- •Инструкции Write и WriteLine
- •Инструкции Print и PrintLine
- •Дополнительные функции
- •Функция MsgBox
- •14.1. Элементы структуры программы.
- •14.1.2. Язык Basic
- •14.2. Область видимости (действия) и время жизни переменных
- •14.2.1. Язык c
- •14.2.2. Язык Basic
- •14.3. Инициализация данных
- •14.3.1. Язык с
- •2. Массивы.
- •15.1. Указатели
- •Определение указателей
- •Задание значений
- •Вывод значений
- •15.2. Указатели и массивы
- •15.3. Работа со строками
- •15.3.1. Литералы
- •15.3.2. Переменные
- •15.3.3. Операторы и функции
- •15.4. Динамические объекты
- •15.5. Типичные ошибки, связанные с указателями Отсутствие инициализации указателя
- •Двойное указание
- •15.6.2. Однонаправленный список
- •15.7. Указатели и многомерные массивы
- •15.8. Рекурсивные процедуры
- •15.8.1. Рекурсивное решение
- •15.8.2. Нерекурсивное решение. Стек в виде массива
- •15.8.3. Нерекурсивное решение. Стек в виде списка
- •Вопросы для самопроверки и контроля Вопросы для самопроверки
- •Контрольные вопросы
- •16. Работа с экраhом
- •16.2. Управление окном
- •16.3. Управление атрибутом (цветами символа и фона в окне)
- •16.4. Информация о текстовом режиме
- •16.5. Пример
- •Простые циклы
- •Вложенные циклы
- •Процедуры
- •Работа со строками
- •Приложения
- •П1.1. Установка среды
- •П1.2. Запуск среды
- •П1.3. Меню Файл
- •П1.4. Меню Сервис
- •П1.5. Отладка
- •Начало отладки
- •Установка точек прерывания
- •Прогон до точки прерывания
- •Пошаговое выполнение программы
- •Получение значений объектов программы
- •Приложение 2. Среда разработки Visual Basic п2.1. Запуск среды
- •П2.2. Подготовка к работе с новым проектом
- •П2.3. Окна и режимы работы
- •П2.4. Главное меню
- •П2.5. Меню File (Файл)
- •П2.6. Редактирование текста
- •П2.7. Меню View (Вид)
- •П2.8. Меню Project (Проект)
- •П2.9. Отладка
- •Точки прерывания
- •Определение значений объектов программы в момент прерывания
- •Продолжение работы
- •П2.10. Меню Tools (Сервис)
- •П2.11. Меню Window (Окно)
- •Приложение 3. Ответы на вопросы для самопроверки
- •2. Элементы языка
- •3. Элементы данных
- •4. Выражения
- •5. Основные инструкции
- •6. Ввод-вывод
- •7. Процедуры
- •8. Препроцессор
- •9. Стиль программирования
- •10. Данные. Дополнение
- •11. Операторы. Дополнение
- •12. Передача данных потоком
- •13. Файлы
- •14. Структура программы
- •15. Указатели, массивы, строки
- •16. Работа с экраном
- •Приложение 4. Темы для курсовой работы
- •Библиографический список
16. Работа с экраном
Какой заголовочный файл нужен для работы с окнами? coniow.h.
Укажите начальные координаты курсора в текстовом режиме.
Начальные координаты курсора – (1,1).
Приложение 4. Темы для курсовой работы
Решение следует оформлять в виде отдельной процедуры. Главная процедура должна содержать ввод и контроль исходных данных, вызов процедуры и печать результата.
Отчет по курсовой работе должен содержать:
- титульный лист;
- условие задачи;
- текст программы, разбитый на отдельные модули;
- результаты тестирования;
- инструкцию пользователя, в которой указываются ограничения программы и порядок ввода исходных данных;
- список использованных источников.
Найти корни полинома методом Лина.
Написать генератор перестановок.
Упорядочить массив методом пирамидальной сортировки.
Упорядочить массив методом двухпутевого слияния.
Упорядочить массив методом Шелла.
Упорядочить массив методом бинарных вставок.
Определить, является ли натуральное число n простым.
Определить седловую точку матрицы.
Определить, является ли целая матрица B клеткой целой матрицы A.
Определить максимальный размер клетки матрицы A, состоящей только из положительных элементов.
Составить "магический" квадрат для нечетного n.
Найти максимальное число, входящее в матрицу A более одного раза.
Найти количество вхождений каждого числа в последовательность целых значений.
Найти № первой строки матрицы произвольного размера, для которой число перемен знаков элементов строки максимально при движении слева направо.
Определить количество различных чисел в целой матрице.
Даны 2 целых последовательности чисел A и B. Сформировать последовательность C, содержащую все элементы последовательности A без повторений, не входящие в последовательность B.
Заданы n точек на плоскости своими координатами. Найти минимальный размер угла, в который всегда попадали минимум 2 точки при произвольном повороте этого угла вокруг начала координат.
Даны n точек на плоскости. Определить 2 из них такие, что количества точек, лежащих по обе стороны от прямой, проходящей через эти точки, различались минимально.
Найти все простые числа, меньшие натурального числа n.
Дана упорядоченная последовательность натуральных чисел b. Найти, входит ли в эту последовательность l-е число Фибоначчи. Числа Фибоначчи определяются по формуле: a0=1; a1=1;
an=an-1+an-2.
Решение системы линейных алгебраических уравнений: метод Зейделя.
Найти коэффициенты полинома R2n(x)=Pn(x)*Qn(x), где:
Pn(x)=anxn+an-1xn-1+…+a1x+a0, Qn(x)=bnxn+bn-1xn-1+…+b1x+b0.
Программа с помощью функции, генерирующей равномерно распределенное случайное число, выбирает целое значение от 0 до 9. Пользователь за 3 попытки должен угадать выбранное число. При каждой попытке выдается сообщение о том, равно, меньше или больше предложенное значение выбранному.
Для заданного четного числа n(n>2) проверить гипотезу Гольдбаха о том, что его можно представить в виде суммы 2-х простых чисел. В случае подтверждения гипотезы получить эти 2 числа, в противном случае выдать сообщение.
Выпуклая оболочка множества точек на плоскости состоит из тех точек множества, через которые можно провести такую прямую, что все точки лежат с одной стороны от прямой. Найти выпуклую оболочку такого множества.
Представим шахматную доску матрицей 8*8. Целые m и n задают позицию ферзя. Заполнить позицию ферзя символом "ф", позиции, находящиеся под боем, - символом "*".
Решить такую же задачу для коня.
Заданы положение и массы n материальных точек на плоскости. Найти разбиение этого множества на 2 непустых и непересекающихся множества так, чтобы их центры тяжести находились наиболее близко друг к другу.
Найти корни полинома методом Фридмана.
Решение системы линейных алгебраических уравнений: метод Гаусса.
Найти экстремум функции нескольких переменных методом покоординатного спуска.
Найти минимум и координаты точки минимума функции N переменных методом Хука-Дживса.
Найти экстремум функции нескольких переменных методом деформируемого многогранника.
Найти минимум и координаты точки минимума функции N переменных методом Розенброка.
Найти минимум и координаты точки минимума функции N переменных методом Пауэлла.
