вводная лекция по программированию


Чтобы посмотреть презентацию с оформлением и слайдами, скачайте ее файл и откройте в PowerPoint на своем компьютере.
Текстовое содержимое слайдов:

Введение в языки программирования * Язык программирования – формальная знаковая система, предназначенная для записи компьютерных программ. Определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель под её управлением. В соответствии с тем, в каких терминах необходимо описать задачу, все языки программирования делят на языки низкого и высокого уровня. В группу языков НУ входят машинные языки и языки символического кодирования: Автокод, Ассемблер. Переменные величины в них изображались символическими именами, а числовые коды операций – мнемоническими (словестными) обозначениями. Все языки НУ ориентированы на определенный тип компьютера, т. е. являются машинно–зависимыми. * * * Для преобразования команд в двоичный код были созданы специальные программы – трансляторы. Трансляторы или компиляторы - превращают текст программы в машинный код, который можно сохранить и затем использовать уже без компилятора (примером являются исполняемые файлы с расширением *. exe). * Языки низкого уровня используют для написания небольших системных программ, драйверов устройств, модулей стыков с нестандартным оборудованием, программирование специализированных микропроцессоров, когда важнейшими требованиями являются компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам. * Языки программирования высокого уровня – более понятны человеку, чем компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому созданные программы легко переносятся с компьютера на компьютер. Разрабатывать программы на таких языках гораздо проще и ошибок допускается меньше. К языкам программирования высокого уровня относятся: Фортран, Basic, Pascal, Java, C, C++, Delphi и т.д.В основном языки высокого уровня используются для разработок программного обеспечения компьютеров и устройств. * Программа возведения числа в степень на Pascal.  Program Stepen_chisla;Var Z, А : Real; M : integer;Function Step (N: integer; X:real): real;Var I: integer; Y: Real; Begin I:=1; Y:=1; While I<=N do Begin Y:=Y*X; I:=I+1; End; Step:=Y; End; {Конец функции}Begin Write(‘Введи степень и возводимое число’); Readln(Z,M); F:=Step(M,Z); Writeln(Z, ‘ в степени’, M, ‘=’,F);End. * Структура языков программирования высокого уровня Во всяком языке программирования определены способы организации данных и способы организации действий над данными. Несмотря на разнообразие языков программирование, их изучение происходит приблизительно по одной схеме: * * Всякий язык программирования имеет три основные составляющие: алфавит, синтаксис и семантику. Алфавит – набор знаков, состоящий из букв, десятичных и шестнадцатеричных цифр, специальных символов.Синтаксис – совокупность правил образования языковых конструкций, или предложений языка программирования – блоков, процедур, составных операторов, условных операторов, опера­торов цикла и пр.Семантика – смысловое содержание конструкций, предложений языка, семантический анализ – это проверка смысловой правильности конструкции. * Например, если мы в выражении используем переменную, то она должна быть определена ранее по тексту программы, а из этого определения может быть получен ее тип. Исходя из типа переменной, можно говорить о допустимости операции с данной переменной. Семантические ошибки возникают при недопустимом использовании операций, массивов, функций, операторов и пр. * Код программы * Во всех языках высокого уровня программный код состоит из:ПеременныхВыраженийОператоровУправляющих структурФункцийКлассов и объектовПеременные – хранят информацию (значения). Каждая переменная имеет своё имя. Оно может достигать 255 символов в длину, начинается всегда с буквы латинского алфавита, за которой могут следовать другие буквы, цифры и знак подчёркивания. Значимость регистра зависит от языка программирования. * Каждая переменная имеет определённый тип.  Все типы можно разделить на несколько групп:ЦелочисленныеВещественныеСтроковый (текстовый)ЛогическийДатаНеопределенный * Целочисленные типы данных – к этой группе относятся все данные только целого типа. Диапазон зависит от выбранного типа. * Вещественные типы данных – к этой группе относятся данные содержащие дробную часть. Так же возможно использование этих типов для хранения целых чисел. Single - предназначен для хранения дробных чисел, с точностью до 7 цифр. Double - предназначен для хранения дробных чисел, с точностью до 16 цифр. Currency - данный тип может иметь до 4 цифр после запятой, и до 14 перед ней. Внутри данного диапазона вычисления будут точными. String - предназначен для хранения строковой (символьной) информации. Может хранить до 2 Гб. текста. * К логическому типу относится тип Boolean. Хранит всего два значения 0 и 1 (TRUE и FALSE). Требует 2 байта памяти. Любые логические операции используют данные этого типа.Тип Date позволяет хранить дату в диапазоне с 1 января 100 года по 31 декабря 9999 и время от 0:00:00 до 23:59:59К неопределенному типу относится тип Variant.  Это  тип данных, который используется во всех переменных с необъявленным явно типом. Этот тип данных может хранить любой из вышеперечисленных типов. Использование такого типа данных замедляет работу программы (однако, функцией массива возможно только при использовании типа Variant) * В Basic переменные объявляются с помощью оператора Dim, после которого следует As и Имя_Типа переменной. Например:Dim a As LongDim b As ByteDim myString As StringDim isLoaded As BooleanDim a As Long, Dim b As IntegerОшибка: Dim a, b, c As Integer * В языках программирования можно объявлять не только переменные, но и константы. Константа как и переменная, тоже хранит некоторое значение, но в отличие от переменной хранимое значение не может изменяться.Чтобы объявить константу необходимо использовать зарезервированное слово Const, за которым следует имя и значение (и возможно тип) константы:Const PI = 3.1415Const PI As Long = 3 * В любом языке программирования выражения являются основными элементами, из которых строится программа. Согласно самому точному определению "выражение" - это "что-то, что содержит значение". Например:b = 234 - здесь присваивается переменной b значение 234. Другими словами "234" - это выражение со значением 234. c = 5 + 5 * 2 - здесь выражение это 5 + 5 * 2. Значение этого выражения равно 15 * Dim bRes As Boolean , Dim a As Long, Dim b As Byte, Dim c As Longb = 5c = 1000bRes = c > b - переменной типа Boolean - bRes присваивается значение выражения (c > b). Basic сравнивает эти переменные, и смотрит, c > b? Если да, то значение этого выражения сравнения - True. Если же нет, то False. * Dim bRes As Boolean , Dim a As Long, Dim b As Byte, Dim c As Longb = 5c = 1000bRes = c > b - переменной типа Boolean - bRes присваивается значение выражения (c > b). Basic сравнивает эти переменные, и смотрит, c > b? Если да, то значение этого выражения сравнения - True. Если же нет, то False. * ОператорыНапример: c = 5 + 5 * 2 - В выражении 5 + 5 * 2 используются 2 оператора: + и *. Их действия очевидны - сложение и умножение.В Basic операторы бывают следующих типов: * Если в выражении встречаются операторы из разных категорий, то вычисляются они в следующем порядке: сначала арифметические, затем операторы сравнения и лишь затем логические операторы.Управляющие структуры – операторы, которые предназначены для управления процессом выполнения всех остальных исполняемых операторов языка программирования, например: условные операторы и операторы цикла. Управляющие структуры тоже называют операторами. Простые операторы используются в выражениях, а операторы данного типа предназначаются для управления вычислением этих выражений (в документациях такие операторы называются - Statement). * Условный оператор If...End IfЭтот оператор необходим для принятия решений, нужно ли выполнять то или иное действие или нет: если Логическое выражение истинно, то Оператор выполнится. Если ложно, то выполнение не произойдёт.If Логическое выражение Then Операторили сложнееIf Логическое выражение Then Группа операторов End IfНапример: * If (a = b) And (c <> d) Then b = d a = 20End IfУсловный оператор If...Else...ElseIf...End IfТакая конструкция используется для более сложных ветвлений:If Логическое выражение 1 Then    Группа операторовElseIf Логическое выражение 2 Then    Группа операторов ...Else    Группа_операторов End If * Эта схема может быть и в укороченном виде If...Then...Else...End If. При этом операторы после Else выполняются только в том случае, если ни одно из условий не выполнено.Пример:If (a = b) Or (c <> d) Then b = d a = 20Else c = dEnd If * Условный оператор Select Case...End SelectКонструкция Select Case "принимает решение" на основе анализа значения одного выражения. При этот это выражение указывается в строке Select Case:Select Case Анализируемое_выражениеCase Значение№1 Группа операторовCase Значение№2 Группа операторов...Case Значение№N Группа операторовCase Else Группа операторовEnd Select * Пример:В зависимости от значения переменной iTest, строковой переменной strResult присваиваются различные значенияSelect Case iTestCase 1 strResult = "iTest = 1"Case 2, 3, 4 strResult = "iTest = 2, 3 или 4" Case 5 To 9 strResult = "iTest находится в диапазоне от 5 до 9" Case iTest < 0 strResult = "iTest меньше 0" Case Else strResult = "iTest равно 0"End Select * Оператор цикла For...NextЭтот цикл используют в том случае, когда заранее известно стартовое и конечное значение счётчика. Синтаксис выглядит следующим образом:For Счётчик_цикла = Старт To Стоп Step Шаг Группа операторовNext [Счётчик_цикла]Роль счётчика цикла может играть только ранее объявленная переменная целочисленного типа. Шаг задаёт приращение счётчика цикла при каждом проходе. По-умолчанию значение шага равно 1. После слова Next счётчик можно опустить. * Пример:В этом примере всем элементам массива iArray присваивается значение 5.Dim c As IntegerDim iArray(10) As IntegerFor c = 0 To 10 iArray(c) = 5Next c * Оператор цикла Do While...Loop / Do...Loop WhileЦиклы While предназначены для ситуаций, когда количество повторений цикла заранее не известно, но зато известно условие выхода из цикла. Синтаксис цикла While:Do While Условие_выхода    Группа операторовLoopDo    Группа операторовLoop While Условие_выходаОтличие между ними заключается в том, что условие выхода проверяется в одном случае перед очередным проходом, а в другом случае - после выхода.  * Если в цикле отсутствует условие выхода или это условие всегда выполняется, то получится бесконечный цикл. Например:Do While 2 > 1    Degub.Print "Вечный цикл"LoopВыйти из него можно при нажатии Ctrl+Break. Но это работает только в среде разработки.Например:Dim n As Integern = 100Do While n >= 0    n = n - 1    Debug.Print nLoop * Оператор цикла Do Until...Loop / Do...Loop UntilПо своей логике цикл Until подобен циклу While. Цикл выполняется до тех пор, пока условие выхода не выполняется.Например:Dim n As Integern = 100Do    n = n - 1    Debug.Print nLoop Until n < 11 * Выход из цикла Exit For / Exit DoС помощью операторов Exit... можно осуществить досрочный выход из цикла вне зависимости от значения, которое имеет в данный момент условие выхода.Пример:Dim n As Integern = 10Do While n > 1    n = n - 1    Debug.Print n    If n = 5 Then Exit Do ' Если счётчик = 5, то                          'выходим из циклаLoop * Процедуры и функцииПроцедура - это некий блок кода, который будет выполняться всякий раз при вызове этой процедуры. Каждая процедура начинается зарезервированным словом Sub и заканчивается End. Общий синтаксис процедуры:[Private | Public | Friend] [Static] Sub name [(arglist)] [здесь некий код] [Exit Sub] [здесь тоже может быть некий код]End SubВсё, что заключено в квадратные скобки - является необязательным. Оператор Exit Sub позволяет досрочно выйти из процедуры. * arglist имеет следующий вид:[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type] [= defaultvalue]Рассмотрим пример процедуры, которая будет выводить на экран сообщение "Hello World!":Private Sub ShowMessage() MsgBox "Hello World!"End SubПроцедура имеет тип Private, т.е. доступна будет только из кода именно той формы (модуля), где она объявлена . Данная процедура не содержит параметров, о чём нам говорят пустые круглые скобки. Назначение - вывести сообщение Hello World на экран. * MsgBox - это встроенная функция Visual Basic, которая выводит на экран окно с сообщением, заданным в качестве параметра.Для вызова процедуры достаточно написать имя процедуры:ShowMessageА можно и так:Call ShowMessage - более наглядные вариантОба этих варианта абсолютно эквивалентны, но лучше использовать второй вариант. * Изменим процедуру, добавив к ней параметр, значение которого будет выводиться функцией MsgBox (вместо Hello World):Private Sub ShowMessage(message As String)    MsgBox messageEnd SubТеперь при вызове процедуры необходимо указать параметр:Call ShowMessage ("Наша первая процедура") Скобки, окружаемые параметр обязательны, если перед именем процедуры стоит оператор Call. Если Call отсутствует, то скобки ставить не нужно. * Функция - это некий блок кода, который будет возвращать значение. Только этим функции отличаются от процедур. Общий синтаксис функции:[Public | Private | Friend] [Static] Function имяфункции _[(arglist)] [As type] [здесь некий код] [имяфункции = выражение] [Exit Function] [здесь тоже может быть некий код] [имяфункции = выражение]End Function * Например:Public Function MyFunc() As Byte MyFunc = 234End Functionc = MyFunc()MyFunc - это выражение, со значением 234. Т.е. здесь, функция MyFunc возвращает значение 234. Чтобы задать это значение, необходимо присвоить имени функции выражение. В данном случае в качестве выражения выступает число 234. * Пример функции для вычисления квадрата числа. У функции будет 1 параметр типа Integer - число для возведения в квадрат. Функция будет возвращать значение квадрата параметра. Тип возвращаемого значения - Long:Public Function Square(number As Long) As Long    Square = number * numberEnd FunctionВызвать функцию можно так:b = Square (5)А можно так, используя нашу процедуру для вывода сообщения на экран:ShowMessage Square (5)А можно и так:Square 5 * В последнем случае возвращённое функций значение уходит в никуда, но сама функция благополучно выполнится. В последнем вызове скобки не обязательны, в отличие от двух предыдущих вызовов. Там скобки обязательны. * Первая программаПрограмма на Visual Basic для решения квадратных уравнений.a*x*x + b*x + c = 0Чтобы решить такое уравнение, нужно найти его дискриминант и затем, корни. Дискриминант: D = b*b - 4*a*cКорни:Если дискриминант > 0, тоX1 = (b + (корень из D)) / 2*aX2 = (b - (корень из D)) / 2*aЕсли дискриминант = 0, тоX1 = X2 = b / 2*aЕсли дискриминант < 0, то корней не существует. *

Приложенные файлы


Добавить комментарий