Слайд 2Программные средства (ПО, Soft)
Слайд 3Программирование -
это процесс создания программы для решения задачи с
помощью ЭВМ
Слайд 4Основные этапы технологического процесса
решения задач с помощью ЭВМ
1 этап: Постановка
задачи и выбор метода решения
(формальное математическое описание алгоритма)
2 этап: Определение и описание входных и выходных данных,
необходимых для решения задач.
3 этап: Разработка алгоритма решения задач.
4 этап: Кодирование описания данных и алгоритма
(составление программы на выбранном языке
программирования).
5 этап: Отладка и тестирование программы с целью её проверки
и доведения её в соответствии с поставленной задачей.
6 этап: Выполнение и поддержка программы (создание новых
версий в зависимости от новой техники).
Слайд 5Понятие программы
Программа – это форма представления алгоритма для исполнения его
компьютером
Программа – последовательность инструкций (кодов), предназначенная для исполнения устройством управления
вычислительной машины
Первые команды составлялись в машинных кодах.
Например, команда сложения двух чисел могла выглядеть так:
15 0127 2677 3656
Код операции
Номера ячеек ОЗУ
Понятнее записать команду так: С = А + В
Здесь латинские буквы А ,В ,С обозначают переменные
Слайд 6Для автоматизации формирования
машинного кода нужно было решить 2 задачи:
1
задача
Создать систему условных обозначений для записи команд в понятной
для человека форме (язык программирования)
2 задача
Создать программу-посредника, которая переводила бы такие команды на машинный язык.
Слайд 7Алгоритм должен быть записан на алгоритмическом языке (АЯ), чтобы быть
исполненным.
Команды на языке программирования называют операторами или инструкциями
Программа, написанная
на языке программирования, – это последовательность операторов (или исходный текст)
Исходные тексты программ хранятся в текстовых файлах
Программа должна иметь и машинный код, который непосредственно исполняется
Реализация 1-й задачи
Слайд 8Существует два типа программ-посредников, работающих с исходными текстами:
Компилятор:
- переводит
исходный текст в машинный код,
- записывает машинный код
на диск в форме
исполняемого (загрузочного) файла.
После этого программа выполняется независимо от исходного текста.
Интерпретатор:
- интерпретирует каждую инструкцию исходного
текста и немедленно ее исполняет,
- файл на машинном языке не создается.
Замечание. Программа в режиме Интерпретации работает медленнее,
но проще для отладки
Реализация 2-й задачи
Слайд 9Схема работы компилятора
Компилятор
Синтаксический контроль текста программы
Генератор машинного кода
Исполняемая программа
(в
машинных кодах)
Исходная программа (текст на языке программи-рования )
Сообщения о синтаксических
ошибках
1
2
Слайд 10Общие особенности
языков программирования
Это формализованные (искусственные) языки – в них строго
определены синтаксис и семантика:
- синтаксис описывает структуру программ как наборов
символов
(безотносительно к содержанию)
- семантика определяет смысловое значение отдельных языковых конструкций
Все языки содержат:
- средства описания данных,
- арифметические операторы,
- средства управления и организации циклов,
- средства ввода и вывода информации.
Многие языки используют похожие принципы организации программ, но разный синтаксис.
Слайд 11Требования к языку программирования:
программа должна быть пригодна для восприятия компьютером,
программа
должна быть понятной для человека.
Слайд 12Основные категории языков программирования
Языки высокого уровня
(high-level language):
- наглядное описание задачи,
-
не зависит от внутренних
машинных кодов ЭВМ,
- требует наличие
транслятора
или интерпретатора.
Pascal, С, С++, С#, Java, …
Языки низкого уровня
(low-level language):
- предназначен для
определенного типа ЭВМ,
- отражает его внутренний
машинный код.
Ассемблер, Макроассемблер
Слайд 13Основные подходы к программированию
Процедурное (процедурно-ориентированное) - в основу положен модульный
(структурный) принцип:
Программа - это последовательность процедур или функций, т.е. последовательность
действий.
Языки программирования: Фортран, Паскаль, Си
ООП (объектно-ориентированное)
- в основу положена концепция объекта:
Объект = данные + выполняемые над ними действия (процедуры или функции).
Программа – это набор объектов и связей между ними.
Языки программирования: С++, Java, ObjectLisp
Слайд 14Структурное программирование:
1- каждая задача разбивается на какие-то цельные
завершенные части (модули),
2- программирование ведется исключительно по этим частям -
написали часть номер 1, протестировали ее, написали часть номер 2, протестировали ее…
3 - потом все вместе собрали и получили программный продукт.
Слайд 15{ Вариант 1: Вычисление площади
круга }
Program PRIM1;
{заголовок программы}
Uses Сrt; {подключение модуля управления экраном в текстовом режиме}
Const {подраздел объявления констант}
Pi=3.14; {задание константы Pi}
Var {подраздел объявления переменных}
R,S: Real; {переменные вещественного типа – радиус и площадь круга}
Begin {начало раздела операторов}
Clrscr; {очистка экрана}
R:=1.5; {оператор присваивания переменной R значения 1.5}
S:=Pi*R*R; {оператор присваивания для вычисления S }
Writeln(‘S=’,S:7:3); {вывод на экран значения S}
End. {конец программы}
Слайд 16 /* Вариант1: Вычисление площади
круга */
#include //директива препроцессора для подключения стандартной библиотеки
// ввода - вывода
void main() // заголовок функции main()
{
const float Pi=3.14; // определение вещественной константы Pi равной 3.14
float R,S; // оператор описания вещественных переменных R и S
R=1.5; // оператор присваивания переменной R значения 1.5
S=Pi*R*R; // оператор присваивания S вычисленного значения
printf(“S=%f\n”,S); // оператор вывода на экран значения S
}
Слайд 17{Вариант 1: Вычисление площади круга}
Program PRIM1;
Uses WinСrt;
Const
Pi=3.14;
Var
R,S: Real;
Begin
Clrscr;
R:=1.5;
S:=Pi*R*R;
Writeln(‘S=’,S:7:3);
End.
/* Вариант1: Вычисление площади круга */
#include
void main()
{
const float Pi=3.14;
float R,S
R=1.5;
S=Pi*R*R;
printf(“S=%f\n”,S);
}
Слайд 18Структура программы на языках Pascal и C++
Слайд 19Pascal
Заголовок программы начинается с зарезервированного слова Program и содержит имя
программы, которое дает сам программист.
Подключение модулей начинается с зарезервированного слова
Uses и содержит список модулей (библиотек внешних процедур и функций).
Раздел описаний состоит из подразделов, в которых объявляются все встречающиеся в программе объекты: метки (Label), константы (Const), типы (Type), переменные (Var), внутренние процедуры (Procedure), внутренние функции (Function). Описания отделяются друг от друга точкой с запятой.
Раздел операторов заключается в операторные скобки Begin и End, при этом после End ставится точка. Операторы отделяются друг от друга точкой с запятой.
С++
Директивы препроцессора включают в себя необходимые заголовочные файлы библиотек С++, определения констант, типов и макроопределений, используемых в программе.
Глобальные объекты – константы, типы, переменные используются во всех функциях программы, обеспечивая соответствие типов, значений констант и переменных во всей программе.
Функции – это особым образом оформленные части программы, которая выполняют действия необходимые программисту.
Функция main( ) - главная функция программы. Любая программа на С++ обязательно включает в себя функцию main( ), с которой и начинает свое выполнение. Функция main() запускается операционной системой. Слово void перед именем функции main() означает, что функция main() не возвращает операционной системе никакой информации.
Тело функции заключено в фигурные скобки ‘ { } ’ . Фигурные скобки ‘ { } ’ обозначают начало и конец составного оператора (аналогично begin и end в TurboPascal). Точка с запятой ‘ ; ‘ завершает каждый оператор и каждое описание.
Программа может содержать комментарии, их можно вставлять в любое место программы, где допускаются пробелы или в конце строки. В С++ используются два вида комментариев:
/* многострочный
комментарий */
// однострочный комментарий до конца текущей строки
Слайд 20Среда программирования – это
интегрированная среда разработки программ (ИСРП), которая содержит:
-
редактор текста - для создания и редактирования текста программы на
языке высокого уровня, т.е. формирования исходного модуля (например, среды на основе языка Pascal сохраняют файл с расширением .pas; на основе языка С++ с расширением .cpp);
- компилятор - для перевода текста программы с языка высокого уровня в машинные коды, т.е. формирование объектного модуля (например, в Pascal .tpu; в С++ .obj);
- компоновщик - для подключения объектных кодов стандартных команд и формирования загрузочного модуля (файл
с расширением .exe)
- загрузчик - для выполнения загрузочного модуля программы.
Слайд 21Функции ИСРП
ИСРП позволяет:
создавать и редактировать исходные тексты программ;
сохранять исходные тексты
программ в файлах;
считывать файлы с диска;
осуществлять поиск и исправление ошибок
(отладка);
выполнять программу и просматривать результаты выполнения.
Слайд 22Рекомендации
Не следует стремиться к изучению как можно большего числа языков
программирования.
Владеть дюжиной языков невозможно: их можно знать, но знать и
владеть – не одно и тоже!
Изучив один язык, вы освоите главное – идеологию программирования. При необходимости – легко перейдете на другой язык.
Для продуктивной работы надо довести до автоматизма:
- навыки правильного написания команд,
- освоить множество функций, соглашений, умолчаний и др. тонкостей, характерных для данного языка.