- •ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ
- •Требования к оформлению лабораторных работ
- •1. ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ
- •13.1 План разработки алгоритмов и программ
- •Таблица 1.1 Результат ручной прокрутки после первого этапа
- •Таблица 1.2 Результат ручной прокрутки после первого этапа
- •Таблица 1.3 Итог выполнения ручной прокрутки
- •13.2 Перевод алгоритма в Паскаль-программу
- •13.3 Использование готовых алгоритмов при решении задач
- •Подсчет элементов, обладающих заданным свойством
- •Поиск максимального и минимального элементов
- •Поиск элементов, обладающих заданным свойством
- •Задача 1. Подсчет ненулевых элементов
- •Задача 2. Подсчет элементов, абсолютная величина которых больше 7
- •Задача 3. Поиск элемента равного 7
- •Задача 5. Найти количество элементов массива больших среднего арифметического этих элементов
- •Задача 6. Поиск максимального элемента и подсчет частоты его появления в массиве
- •Задача 7. Поиск нулевого элемента
- •Задача 8. Поиск отрицательного числа с конца массива
- •13.4 Стандартная обработка двумерных массивов
- •Двумерный массив и его части
- •Индексы элементов двумерного массива
- •Индексы строки и столбца двумерного массива
- •Индексы диагоналей двумерного массива
- •Перенос простейших алгоритмов на двумерные массивы
- •13.5 Отладка и тестирование программ
- •2. СОЗДАНИЕ КОНСОЛЬНЫХ ПРИЛОЖЕНИЙ СРЕДСТВАМИ DELPHI 7.0
- •13.1 Создание консольного приложения средствами Delphi
- •13.2 Структура программы в Delphi
- •Таблица 2.1
- •13.3 Введение в типы данных Delphi
- •13.4 Венгерская нотация
- •13.5 Отладка и тестирование программ средствами среды Delphi 7
- •3. ЛАБОРАТОРНАЯ РАБОТА №1 «ЛИНЕЙНЫЕ ПРОГРАММЫ»
- •13.1 Пояснения и примеры к лабораторной работе
- •13.2 Задания к лабораторной работе №1:
- •4. ЛАБОРАТОРНАЯ РАБОТА №2 «АЛГОРИТМЫ С ВЕТВЛЕНИЯМИ»
- •13.3 Пояснения и примеры к лабораторной работе
- •13.2 Реализация алгоритмов с ветвлениями средствами C#
- •13.3 Задания к лабораторной работе №2
- •5. ЛАБОРАТОРНАЯ РАБОТА №3 «ОПЕРАТОР ВЫБОРА»
- •13.1 Пояснения и примеры к лабораторной работе
- •13.2 Реализация оператора выбора в языке C#
- •13.3 Задания к лабораторной работе №3
- •6. ЛАБОРАТОРНАЯ РАБОТА №4 «ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ»
- •13.1 Основные разновидности циклов
- •Цикл с постусловием
- •Цикл с предусловием
- •Цикл с параметром
- •Программное прерывание выполнения циклов
- •13.2 Примеры решения задач с использованием операторов цикла
- •Проверка корректности введенных данных
- •Решение задач с использованием диапазонов чисел
- •Решение задач полным перебором
- •Пояснения к задачам 18, 23, 24, 25:
- •13.3 Задания к лабораторной работе №4
- •7. ЛАБОРАТОРНАЯ РАБОТА №5 «РЯДЫ И ПОСЛЕДОВАТЕЛЬНОСТИ»
- •13.1 Примеры решения задач
- •Вычисление суммы n-первых членов ряда
- •Вычисление суммы n-первых членов последовательности, удовлетворяющих условию
- •Нахождение наименьшего номера члена последовательности, для которого выполняется некоторое условие
- •13.2 Задания к лабораторной работе №5
- •8. ЛАБОРАТОРНАЯ РАБОТА №6 «ТАБУЛИРОВАНИЕ ФУНКЦИЙ»
- •13.1 Пример решения задачи на табулирование функции
- •8.1.2 Организация перенаправления ввода-вывода средствами C#
- •13.2 Задания к лабораторной работе №6
- •9. ЛАБОРАТОРНАЯ РАБОТА №7 «ПОДПРОГРАММЫ»
- •13.1 Задания к лабораторной работе №7
- •13.2 Задания к лабораторной работе №8
- •13.1 Примеры и пояснения к лабораторной работе
- •13.2 Задания к лабораторной работе №9
- •Задания к лабораторной работе №10
- •13.1 Примеры работы со строками
- •Пример 13.2 Удалить из строки символ, указанный пользователем.
- •Пример 13.3 Удалить из строки лишних пробелов (пробелы в начале и в конце строки, между словами также должен быть один пробел).
- •Пример 13.4 Определить количество слов в заданном тексте.
- •13.2 Задания к лабораторной работе №11
- •13.1 Задания к лабораторной работе №12
- •13.1 Пояснения к работе
- •13.1 Задания к лабораторной работе №13
- •13.1 Пояснения к лабораторной работе №14
- •Формирование файла случайных чисел
- •Анализ файла случайных чисел
- •13.2 Задания к лабораторной работе №14
- •13.1 Примеры решения задач с использованием текстовых файлов
- •13.2 Задания к лабораторной работе №15
- •13.1 Задания к лабораторной работе №16
- •13.1 Задания к лабораторной работе №17
- •13.2 Задания к лабораторной работе №18
- •13.1 Задания к лабораторной работе №19
- •ПРИЛОЖЕНИЕ А
- •ПРИЛОЖЕНИЕ Б
- •СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
- •ОГЛАВЛЕНИЕ
ПРИЛОЖЕНИЕ Б
Таблица Б.1 Арифметические функции модуля System
Функция |
Назначение |
Тип результата |
Abs(X) |
Абсолютное значение аргумента |
Совпадает с типом X |
|
|
|
Arctan(X) |
Арктангенс аргумента |
Вещественный |
|
|
|
Cos(X) |
Косинус аргумента |
Вещественный |
|
|
|
Ехр(Х) |
Ex |
Вещественный |
Frac(X) |
Дробная часть числа |
Вещественный |
|
|
|
Int(X) |
Целая часть числа |
Вещественный |
|
|
|
Ln(X) |
Натуральный логарифм |
Вещественный |
|
|
|
Pi |
Значение величины π |
Вещественный |
|
=3.1415926535897932385 |
|
Sin(X) |
Синус аргумента |
Вещественный |
|
|
|
Sqr(X) |
Квадрат аргумента |
Совпадает с типом X |
|
|
|
Sqrt(X) |
Квадратный корень аргумента |
Вещественный |
|
|
|
Функции преобразования типа
Chr(X) - преобразование ASCII-кода в символ;
High(X) - получение максимального значения величины; Low(X) - получение минимального значения величины; Ord(X) - преобразование любого порядкового типа в целый тип;
Round(X) - округление вещественного числа до ближайшего целого; Trunc(X) - получение целой части вещественного числа.
Функции для величин порядкового типа
Odd(X) - проверка величины X на нечетность;
Pred(X) - определение предыдущего значения величины X; Succ(X) - определение последующего значения величины X;
Таблица Б.2 Арифметические операции
Знак |
Операция |
Типы операндов |
Тип результата |
|
+ |
Сложение |
Целые |
Целый |
|
Хотя бы один вещественный |
Вещественный |
|||
|
|
|||
- |
Вычитание |
Целые |
Целый |
|
Хотя бы один вещественный |
Вещественный |
|||
|
|
|||
* |
Умножение |
Целые |
Целый |
|
Хотя бы один вещественный |
Вещественный |
|||
|
|
|||
/ |
Деление |
Целые или вещественные |
Вещественный |
|
|
|
|||
|
|
|
|
|
div |
Деление целых чисел |
Целые |
Целый |
|
|
|
|
|
|
mod |
Остаток от деления |
Целые |
Целый |
|
целых чисел |
|
|
137
Логические операции
Таблица Б.3 Таблица истинности операции NOT
X |
not X |
False |
True |
True |
False |
|
|
Таблица Б.4 Таблица истинности операций AND, OR и XOR
|
|
X |
|
Y |
X and Y |
X or Y |
|
X xor Y |
|
|
|
False |
|
False |
False |
False |
|
False |
|
|
|
False |
|
True |
False |
True |
|
True |
|
|
|
True |
|
False |
False |
True |
|
True |
|
|
|
True |
|
True |
True |
True |
|
False |
|
Операции с битами информации |
|
|
|
|
|
||||
|
Not |
- унарная операция инверсии всех битов целого числа; |
|
|
|||||
|
And |
- побитовая логическая операция И двух целых чисел; |
|
|
|||||
|
Or |
- побитовая логическая операция ИЛИ двух целых чисел; |
|
|
|||||
|
Xor |
- побитовая логическая операция ИСКЛЮЧАЮЩЕЕ ИЛИ двух целых чисел. |
|||||||
|
Shl |
- операция I shl J сдвигает содержимое I на J бит влево; освободившиеся биты |
|||||||
|
заполняются нулями; |
|
|
|
|
|
|
||
|
Shr |
- операция I shr J сдвигает содержимое I на J бит вправо; освободившиеся би- |
|||||||
|
ты заполняются нулями. |
|
|
|
|
|
Операции отношения
=- равно,
<> |
- не равно, |
<- меньше,
>- больше,
<= |
- меньше или равно, |
>= |
- больше или равно. |
Таблица Б.5 Приоритеты действий при вычислении выражений
Группа |
Тип действий |
Операции или элементы |
|
|
|
1 |
Вычисления в круглых скобках |
( ) |
|
|
|
2 |
Вычисления значений функций |
Функции |
|
|
|
3 |
Унарные операции |
@, not, унарный +, унарный - |
|
|
|
4 |
Операции типа умножения |
*, /, div, mod, and, shl, shr |
|
|
|
5 |
Операции типа сложения |
+, -, or, xor |
|
|
|
6 |
Операции отношения |
=, <>, <, >, <=, >=, in |
|
|
|
138
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
1.Шауцукова Л.З. Информатика: Учеб. пособие для 10-11 кл. общеобразоват. учреждений-М.: Просвещение, 2003. – 416 с.
2.Долинский М.С. Алгоритмизация и программирование на Turbo Pascal: от простых до олимпиадных задач: Учебное пособие. – СПб.: Питер, 2005. - 237 с.
3.Бен-Ари М. Языки программирования. Практический сравнительный ана-
лиз: Пер. с англ. – М.: Мир, 2000. -366 с.
4.Епанешников А., Епанешников В. Программирование в среде Turbo Pascal 7.0 – М.: Диалог-МИФИ, 1998. -367с.
5.Семакин И. Г., Шестаков А. П. Основы программирования: Учебник. — М.: Мастерство; НМЦ СПО; Высшая школа, 2001. - 432 с.
6.Аляев Ю.А., Козлов О.А. Алгоритмизация и языки программирования Pascal, C++, Visual Basic: Учебно-справочное пособие. М.: Финансы и стати-
стика, 2002. -320с.
ОГЛАВЛЕНИЕ
Введение ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ
Лабораторная работа №1 «Линейные программы» Лабораторная работа №2 «Алгоритмы с ветвлениями» Лабораторная работа №3 «Оператор выбора» Лабораторная работа №4 «Циклические алгоритмы» Лабораторная работа №5 «Ряды и последовательности» Лабораторная работа №6 «Табулирование функций» Лабораторная работа №7 «Подпрограммы» Лабораторная работа №8 «Одномерные массивы» Лабораторная работа №9 «Формирование массивов»
Лабораторная работа №10 «Операции с элементами массивов» Лабораторная работа №11 «Работа со строками» Лабораторная работа №12 «Множества» Лабораторная работа №13 «Записи (структуры)»
Лабораторная работа №14 «Типизированные файлы целых чисел» Лабораторная работа №15 «Текстовые файлы» Лабораторная работа №16 «Целочисленная арифметика» Лабораторная работа №17 «Работа со строками. Часть 2» Лабораторная работа №18 «Одномерные массивы. Часть 2» Лабораторная работа №19 «Одномерные массивы. Часть3» Список рекомендуемой литературы
139
140