- •Лекция 1. Введение в программирование План
- •1. Языки программирования. Общая характеристика
- •2. Краткая история языков программирования Машинные команды
- •Мнемокоды
- •Структурное программирование
- •Современное программирование
- •Некоторые причины и тенденции развития языков программирования
- •3. Парадигмы программирования
- •Процедурная (директивная) парадигма
- •Функциональное и логическое программирование
- •Объектно-ориентированное программирование
- •Объектно-ориентированное программирование
- •4. Особенности и применение разных классов языков программирования
- •Неструктурные языки (широко использовались 40-е годы)
- •Директивные (структурные) языки (появились в 50-е годы)
- •Декларативные (функциональные и логические) языки (зародились в 60-е годы)
- •A) Функциональные языки
- •B) Логические языки
- •Объектно-ориентированные языки
- •Языки сценариев
- •Краткая характеристика некоторых языков программирования
- •5. Этапы разработки программы
- •Этапы разработки программы для компьютера (решения задачи на эвм)
- •Качество программы и ее разработка
- •Тестирование и отладка программ
- •Проектирование программ
- •6. Система программирования
Объектно-ориентированные языки
Особенности
Программа представляет собой описание объектов, их свойств (или атрибутов), классов и отношений между ними, способов взаимодействия.
Преимущества
Смысловая близость к предметной области любой структуры и назначения. Механизм наследования свойств и методов позволяет строить производные понятия на основе базовых, создавая тем самым модели предметной области.
Использование ранее созданных библиотек классов позволяет сэкономить время при разработке новых программных продуктов.
Полиморфизм, заложенный в ООП, обеспечивает гибкость и универсальность программного обеспечения.
Удобство разработки ПО группой лиц.
Недостатки
Сложность полной формализации реального мира создает в дальнейшем трудности тестирования созданного ПО.
Применение
Разработка больших пользовательских приложений.
Примеры языков (большинство современных языков программирования поддерживают концепцию объектно-ориентированного программирования): C++, Python.
Языки сценариев
Особенности
Программа представляет собой совокупность возможных сценариев обработки данных. Выбор конкретного сценария зависит от наступления того или иного события.
Преимущества
Основные достоинства данного класса языков программирования унаследованы от объектно-ориентированных языков.
Легкость использования с инструментальными средствами автоматизированного проектирования и быстрого создания ПО.
Недостатки
Сложность тестирования.
Большое количество вариантов, которые требуется предусмотреть.
Большая вероятность побочных эффектов.
Применение
Интернет технологии
Примеры языков: JavaScript, Python, PHP.
Краткая характеристика некоторых языков программирования
Pascal
Язык программирования Pascal был разработан Никлаусом Виртом в 1968-1970 гг. и назван так в честь ученого Блеза Паскаля, жившего в XVII веке и оставившего заметный след в науке.
Некоторые особенности Pascal
Приспособлен для обучения программированию.
Основан на ряде фундаментальных понятий структурного программирования.
Большой набор поддерживаемых структурных типов данных.
Распространенность языка обеспечила ему большую базу различных программных систем.
Надежность программ, обеспечивающаяся избыточностью информации в исходном коде.
Послужил основой для разработки других языков программирования (Delphi).
Пример программы на Pascal – «Калькулятор»:
program calcul;
var a,b,c: integer;
operation, Enter: char;
begin
writeln('Калькулятор');
write('a=');
readln(a);
write('b=');
readln(b);
write('Оператор');
readln(operation);
case operation of
'+': c:=a+b;
'-': c:=a-b;
'*': c:=a*b;
else
writeln('Надо ввести +, -, * или /');
end;
writeln('c=',c);
readln(Enter);
end.
Delphi
Delphi – этосреда программирования, в основе которой лежит язык Object Pascal, являющийся наследником языка Pascal. И в отличие от последнего Object Pascal является объектно-ориентированным языком программирования.
Пример программы на Object Pascal – «График функции y=sin x»:
var
X:real;
Y:real;
N:integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
with Image1.Canvas do
begin
X := 0;
while X<500 Do
begin
X:=X+0.1 ;
Y:=200-100*(Sin(X/20));
Pixels[Round(X),Round(Y)]:=clBlack;
end;
MoveTo(0,200); LineTo(500,200); //ось X
MoveTo(250,0); LineTo(250,500); //ось Y
//шкала оси X
N:=0;
while N<500 do
begin
N:=N+100;
MoveTo (N, 190); LineTo (N,210);
TextOut (N,200,IntToStr(Round((N-250)/20)));
end;
// шкала оси Y
N:=0;
while N<400 do
begin
N:=N+100;
MoveTo (245, 400 - N); LineTo (255, 400 - N);
TextOut(245, 400 - N,IntToStr(Round((N-200)/100)));
end;
end;
end;
end.
Visual Basic
Visual Basic – разработка компании Microsoft, включающая язык программирования и среду разработки. Язык основан на диалекте Basic’а, однако включает поддержку ООП. Visual Basic хорош как средство быстрой разработки прототипов больших программ или небольших пользовательских приложений.
Пример программы на Visual Basic – «График функции y=sin x»:
Dim sngX As Single, intI As Integer
Private Sub cmd1_Click()
'Задание масштаба
PicGraph.Scale (-10, 2)-(10, -2)
'Построение графика
For sngX = -10 To 10 Step 0.01
PicGraph.PSet (sngX, Sin(sngX))
Next sngX
'Ось X
PicGraph.Line (-10, 0)-(10, 0)
For intI = -10 To 10
PicGraph.PSet (intI, 0)
PicGraph.Print intI
Next intI
'Ось Y
PicGraph.Line (0, 2)-(0, -2)
For intI = -2 To 2
PicGraph.PSet (0, intI)
PicGraph.Print intI
Next intI
End Sub
Python
Python – интерпретируемый, объектно-ориентированный язык программирования. Относится к классу языков с динамической типизацией (тип переменной не объявляется заранее), поддерживает высокоуровневые структуры данных (словари, списки), имеет ясный синтаксис. Интерпретатор Питона распространяется под свободной лицензией.
Пример программы на Python – «Таблица умножения»:
print "Multiplication table"
i=1
while i<=10:
j=1
while j<=10:
print i*j, "\t",
j+=1
i+=1
raw_input()
JavaScript
На JavaScript пишутся сценарии для поведения браузера, которые встраиваются в html-страницы. Синтаксис JavaScript почти идентичен синтаксису языка Си.
Пример программы на JavaScript – «Корректный адрес электронной почты»:
<!--
<html>
<form id="myform" method=GET action="" enctype="text/plain">
Кому:
<input name = "email_to" type="Text" value = "">
<p>
От кого:
<input name = "email_from" type="Text" value = "">
<p>
Сообщение: <br>
<textarea name="Сообщение" type = "text" value=""></textarea>
<p>
<input name = "Отправить" type="submit" value = "Отправить">
</form>
<script>
function myform.onsubmit (){
var noemail = myform.email_to.value.indexOf('@') == -1
var notext = !myform.Сообщение.value
var xtext = "\nПисьмо не отправлено"
if (noemail || notext) {
event.returnValue = false
if (noemail)
alert ("Неправильный адрес получателя" + xtext)
else
alert ("Нет текста сообщения" + xtext)
} else
myform.action = "mailto:" + myform.email_to.value
}
</script>
</html>
-->
Итак, если раньше языки программирования использовались лишь для создания программ для автоматизации вычислительных процессов, то на сегодняшний день они используются для решения более разнообразных задач.
