Лекция 1. Основы программирования

Для установки среды разработки Borland C++ 5.02 запустите файл Setup.exe, который находится в папке инсталляции программы. Укажите папку, в которой вы желаете хранить программу, например C:\BC5. Значения параметров в диалоговых окнах установки рекомендуется оставить без изменений, нажимая кнопку Next.

Открыть среду разработки С++ для работы можно с помощью команды меню:

Пуск | Все программы | Borland C++ 5.02 | Borland C++.

Рабочее окно программы состоит из следующих частей:
— меню;
— панель инструментов;
— рабочая область;
— строка состояния.

Чтобы создать новый документ, выберите пункт меню

File| Text edit.

Чтобы сохранить документ, выберите пункт меню

File | Save as…

Содержание отчета по лабораторной работе:

  1. Титульный лист.
  2. Цель работы.
  3. Условие задачи.
  4. Блок-схема алгоритма.
  5. Текст программы.
  6. Результат работы программы (скриншот).
  7. Ответы на контрольные вопросы, написанные от руки (необязательно).

Программирование – это процесс разработки программы, который может быть представлен с помощью последовательности шагов:

  1. Спецификация – определение, формулирование требований к программе. Это один из важнейших этапов, на котором подробно описывается исходная информация, формулируются требования к результату, поведение программы в особых случаях (например, при вводе неверных данных).
  2. Разработка алгоритма. На этом этапе необходимо определить последовательность действий, которые надо выполнить для получения результата. Если задача может быть решена несколькими способами, то программист, используя некоторый критерий (например, скорость работы), выбирает наиболее подходящий алгоритм. Результатом этапа разработки алгоритма является его подробное словесное описание или блок-схема.

Алгоритм должен удовлетворять следующим требованиям:
— наличие ввода исходных данных;
— наличие вывода результата выполнения;
— однозначность (компьютер «понимает» только однозначные инструкции);
— общность  — алгоритм предназначен для решения некоторого класса задач;
— корректность – алгоритм должен давать правильное решение задачи;
— эффективность – для решения задачи должны использоваться ограниченные ресурсы компьютера ( процессорное время, объем оперативной памяти и т.д.)

  1. Кодирование – запись алгоритма на языке программирования.
  2. Отладка – это процесс поиска и устранения ошибок. Ошибки в программе разделяют на две группы: синтаксические (ошибки в тексте, которые обнаруживаются компилятором) и алгоритмические (логические, времени выполнения). Синтаксические ошибки устранить довольно легко, а алгоритмические ошибки обнаружить труднее. Этап отладки можно считать законченным, если программа правильно работает при любом правильном наборе входных данных.
  3. Тестирование особенно важно, если предполагается, что программой будут пользоваться другие. На этом этапе следует проверить, как ведет себя программа при как можно большем количестве входных наборов данных, в том числе и заведомо неверных.
  4. Внедрение.
  5. Сопровождение.

Объединенная единым алгоритмом совокупность описаний и операторов образует программу на алгоритмическом языке. Для того, чтобы выполнить программу, требуется перевести ее на язык, понятный процессору – в машинные коды.

Перевод текста программы в двоичный код осуществляется специальными программами, которые называются трансляторами. Существуют два класса трансляторов: интерпретаторы и компиляторы.

Интерпретатор работает как синхронный переводчик – просматривает исходный текст строку за строкой, переводит каждую строку в промежуточный или в машинный код и передает его на исполнение. Если ошибок нет, интерпретатор приступает к следующей строке.

Компилятор (а именно к этому классу относится рассматриваемая нами система программирования Borland C++ ) работает как литературный переводчик. Сначала он просматривает весь текст, иногда не один раз, находит общие повторяющиеся места, тщательно готовит стратегию перевода, подбирает самые эффективные аналоги и только после этого переводит весь исходный текст целиком и полностью, создав при этом новый документ, который называется объектным кодом.

Сначала программа передается препроцессру, который выполняет директивы, содержащиеся в ее тексте (например, включение в текст так называемых заголовочных файлов – текстовых файлов, в которых содержаться описания используемых в программе элементов).

Получившийся полный текст программы поступает на вход компилятора, который выделяет лексемы (слова), а затем на основе грамматики языка распознает выражения и операторы, построенные из этих лексем. При этом компилятор выявляет синтаксические ошибки и в случае их отсутствия строит объектный модуль.

Компоновщик, или редактор связей, формирует исполняемый модуль программы, подключая к объектному модулю другие объектные модули, в том числе содержащие функции библиотек, обращение к которым содержится в любой программе (например, для осуществления вывода на экран). Если программа состоит из нескольких исходных файлов, они компилируются по отдельности и объединяются на этапе компоновки. Исполняемый модуль имеет расширение .exe и запускается на выполнение обычным образом.

В языке С++ нет встроенных средств ввода/вывода – он осуществляется с помощью функций, типов и объектов, содержащихся в стандартных библиотеках. Используются два способа: функции, унаследованные из языка С, и объекты С++.

Пример использования функций ввода/вывода в стиле С:

#include <stdio.h>
int main()
{
int i;
printf(“Введите целое число\n”);
scanf(“%d”, &i);
printf(“Вы ввели число %d, спасибо!”, i);
return 0;
}

А вот как выглядит та же программа с использованием библиотеки классов С++:

#include <iostream.h>
int main()
{
int i;
cout<<“Введите целое число\n”;
cin>>i;
cout<<“Вы ввели число ”<< i << “ спасибо!”;
return 0;
}