- 5. Язык программирования. Типы данных.
- Основные этапы разработки программ
Первые компьютеры (ЭВМ) разрабатывались прежде всего как вычислительные машины (операции над числами). Сегодня компьютеры позволяют обрабатывать информацию всех видов — текстовую, графическую, числовую, мультимедийную. Для решения задачи на компьютере необходимо создать программу, т.е. последовательность команд, входящих в систему команд компьютера.
Языки программирования высокого уровня (ЯПВУ) — специальные искусственные языке, приближенные к обычному разговорному языку (английскому). Примеры таких языков: FORTRAN, Basic, Pascal, С. Большинство языков высокого уровня универсальны, т. е. предназначены для решения широкого круга задач.
Первая цель создания ЯПВУ — облегчить создание программ. Вторая цель — сделать программы переносимыми для новых типов компьютеров.
Поскольку компьютер (а точнее, его процессор) оперирует не конструкциями ЯПВУ, а двоичными командами, то перед выполнением программа должна быть превращена в машинный код. Выполняют эту операцию программы-трансляторы.
В зависимости от порядка подготовки программы на языке высокого уровня к исполнению, трансляторы делятся на компиляторы и интерпретаторы.
Компилятор — это программа, автоматически преобразующая (компилирующая) исходный код ЯПВУ в машинный код и создающая таким образом исполняемый файл. Он может быть запущен на исполнение операционной системой. В ОС Microsoft такие файлы могут иметь расширения ехе, com, dll.
Интерпретатор — это программа, преобразующая код ЯПВУ в машинный код шаг за шагом, т.е. каждая команда преобразуется интерпретатором и сразу выполняется компьютером, затем интерпретатор преобразует следующую команду, компьютер ее выполняет и т. д. (интерпретатор — «синхронный переводчик»). Недостаток интерпретаторов — низкая скорость выполнения программ. Примеры: интерпретаторы языков Basic и Java Script. Для языка Basic в настоящее время существуют как интерпретаторы, так и компиляторы.
Типы данных
При решении задач на компьютере следует определить данные задачи и их типы. Данные — это информация, необходимая для выполнения программы, представленная в формальном виде, который обеспечивает возможность ее хранения, обработки и передачи (англ. data).
Языки высокого уровня организуют обработку данных с помощью переменных.
Переменная — это именованная область оперативной памяти, в которой может храниться нужная информация (данные). Способ хранения определяется типом переменной.
Константа — это именованное значение, которое остается неизменным на протяжении всего времени выполнения программы. Числовая константа представляет собой какое-либо число (7; 3.14), а сnроковая константа — произвольную строку ("количество учеников в группе").
В любом ЯПВУ переменные и константы характеризуются своими типами.
Тип данных — это правила хранения и формат данных. Во время работы программы тип данных будет определять, каким образом данные будут извлекаться из оперативной памяти (ОП), интерпретироваться и сохраняться в ОП. Например, величины 205 и -73 относятся к целочисленному типу и их можно складывать, вычитать, перемножать и делить. Величины "цвет" и "ОК" относятся к строковому типу, их можно сцеплять, но над ними нельзя выполнять арифметические операции.
Пример: В языкe Basic существуют следующие типы данных.
Массив — индексированный набор элементов одного типа1;
string (англ.) — ряд, последовательность, цепочка;
строка — последовательность символов.
Основные этапы разработки программ
Чтобы окончательный вариант программы работал правильно и содержал как можно меньше ошибок, программисты придерживаются полного цикла разработки программы, состоящего из шести базовых этапов:
Постановка и анализ задачи. Четкое определение задачи и наборов входных и выходных данных.
Разработка алгоритма. Определение зависимости между входными и выходными данными, создание процедуры их преобразования.
Разработка пользовательского интерфейса. Определение того, что пользователь должен видеть на экране, как будут вводиться данные, где и в каком формате будут представлены выходные данные.
Написание программного кода. Преобразование алгоритма в компьютерную программу на языке высокого уровня.
Тестирование и отладка программы. Тестирование -— прогон программы на наборе тестов, для которых известен результат, с целью проверки правильности ее работы. Отладка (debug) — процесс выявления и устранения ошибок в программе.
Составление документации. Подготовка документов, содержащих описание программы, включая техническое задание, блок-схемы, предположения, список входных и выходных переменных (часто совмещается с программным кодом), руководства пользователя.