- •Основы алгоритмизации
- •Специфика решения задачи с использованием компьютера
- •Роль моделирования при решении сложных задач
- •Устройство компьютера как инструмента решения задач
- •Пример решения задачи с использованием компьютера
- •Вопросы для самоконтроля
- •Понятие алгоритма
- •Свойства алгоритмов и способы их задания
- •Понятие структурной алгоритмизации
- •Базовый набор алгоритмических структур
- •Примеры классических алгоритмов
- •Переменные-счетчики и аккумуляторы
- •Алгоритм перестановки значений двух переменных
- •Простейший алгоритм сортировки
- •Последовательный и двоичный поиск в массиве данных
- •Вопросы для самоконтроля
- •Основы программирования
- •Изучить три темы:
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Эволюция программирования как деятельности
- •Развитие вычислительной техники
- •Парадигмы современного программирования
- •Уровни языков программирования
- •Современные языки программирования высокого уровня
- •Программирование как вид деятельности
- •Вопросы для самоконтроля
- •Инструменты программирования
- •Основные понятия программирования
- •Этапы разработки программы
- •Функции транслятора в процессе создания программы
- •Средства создания программ
- •Современные системы программирования
- •Вопросы для самоконтроля
- •Проектирование и внедрение программ
- •Этапы разработки программного обеспечения
- •Методы маркетинга программного обеспечения
- •Вопросы для самоконтроля
- •Технология алгоритмического программирования
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Понятия алгоритмического программирования
- •Классификация данных
- •Базовые типы данных
- •Структурированные данные
- •Программа как совокупность операторов. Виды операторов
- •Вопросы для самоконтроля
- •Принципы структурного программирования
- •Понятие подпрограммы
- •Процедуры и функции как разновидность подпрограмм
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Программный код экранной формы
- •Вопросы для самоконтроля
- •Объектно-ориентированное программирование
- •Понятие объекта и класса
- •Концепции объектно-ориентированного программирования
- •Вопросы для самоконтроля
- •Заключение
- •3.3. Глоссарий (краткий словарь терминов)
- •3.4 Технические и программные средства обеспечения дисциплины
-
Методы маркетинга программного обеспечения
Рынок программного обеспечения можно условно разделить на коммерческое ПО, распространяемое через традиционную торговую сеть, и ПО, доступное через Интернет (рис. 2.12).
Коммерческое ПО, продаваемое традиционным образом, как правило, создается специализированными фирмами–разработчиками. Условно-бесплатное и бесплатное ПО, как правило, разрабатывается самостоятельными программистами с целью повысить свое мастерство и завоевать известность в кругах специалистов.
Рис. 2.12 Структура рынка программных продуктов
Вопросы для самоконтроля
-
Назовите типовые этапы создания небольших программ
-
В чем специфика разработки крупного проекта создания информационной системы?
-
Какие задачи решаются на этапе формирования требований к проекту? Какими инструментами поддерживается работа на этом этапе? Какой объем времени занимает данный этап?
-
Какие задачи решаются на этапе предпроектного обследования объекта? Какими инструментами поддерживается работа на этом этапе? Какой объем времени занимает данный этап?
-
Какие задачи решаются на этапе разработки технического задания? Какими инструментами поддерживается работа на этом этапе? Какой объем времени занимает данный этап?
-
Какие задачи решаются на этапе выбора методологии разработки программного обеспечения? Какими инструментами поддерживается работа на этом этапе? Какой объем времени занимает данный этап?
-
Какие задачи решаются на этапе тестирования программного обеспечения? Какими инструментами поддерживается работа на этом этапе? Какой объем времени занимает данный этап?
-
Какой этап занимает наибольший объем времени проекта?
-
Прокомментируйте структуру рынка программных продуктов. Какова специфика распространения коммерческого программного продукта?
-
Какой информационный продукт может быть отнесен к условно-бесплатному?
-
Технология алгоритмического программирования
При работе с данным разделом Вам предстоит:
-
Изучить две темы:
-
понятия алгоритмического программирования;
-
принципы структурного программирования.
-
Ответить на вопросы для самоконтроля по каждой теме.
-
Выполнить две лабораторные работы.
-
Понятия алгоритмического программирования
-
Классификация данных
Информацию, относящуюся к решаемой задаче, принято подразделять на данные (исходные данные, промежуточные и конечные результаты) и программу (информация, задающая алгоритм решения задачи) (рис. 3.1).
Рис. 3.2 Структура информации, связанной с решением задачи
В алгоритме данные описываются в предписании: «Список данных:...». Все данные по своему виду подразделяются на константы и переменные (рис. 3.2).
Константы – это данные, которые при выполнении алгоритма (программы) всегда определены и неизменны. Запись константы полностью определяет ее назначение, тип, форму представления и фактическое значение.
Переменные – это условные обозначения данных, которые в процессе выполнения программы не меняют своего типа, но могут менять свое фактическое значение.
Каждая единица информации хранится в ячейках памяти компьютера, имеющих свои адреса. Переменная может рассматриваться как идентификатор, позволяющий обращаться к содержимому памяти по имени. Имя переменной указывает на значение, которое может изменяться при работе программы. Переменная имеет тип, определяющий тип данных, хранимых в переменной (число, строка и т. д.).
Каждому типу данных соответствует диапазон значений. Каждый тип данных в языках программирования описывается ключевым словом.
Разные типы допускается преобразовывать друг в друга в соответствии с соглашениями языка программирования (приведение типов).
Статические переменные – переменные, существующие на всем протяжении работы программы.
Динамические переменные – переменные, создаваемые и уничтожаемые на разных этапах функционирования программы.
Описание переменных – это указание типа хранимых данных (таблица 3.1).
Инициализация переменной – это присвоение ей начального значения
Рис. 3.3 Классификация данных
Таблица 3.1 Описание и инициализация данных
Переменные
|
Описания переменных |
||
Бейсик |
Паскаль |
Си++ |
|
Синтаксис |
DIM имя AS тип
|
var имя: тип;
|
тип имя;
|
Пример: по одной переменной разных типов |
DIM X AS DOUBLE; |
var x: real; var Str: record P1: integer; S: string; |
float x; int a[20]; |
Пример: несколько переменных одного типа |
|
var xx, z2: integer;
|
int xx, yy[10], z2; |
Инициализация переменной (оператор присваивания) |
X=1.34; |
Str:=’Привет’; |
a[20]=100; |