Электроэнергетика и информационные технологии icon

Электроэнергетика и информационные технологии



НазваниеЭлектроэнергетика и информационные технологии
Дата17.10.2016
Размер
ТипЛекция

Факультет: Электроэнергетика и информационные технологии

Кафедра: Информационные технологии и системы

Предмет: Информатика

Специальность: Мировая экономика

Курс:I

Кредит: 6

Преподаватель: ст.пр., к.т.н. Оруджева Мехсети.


ЛЕКЦИЯ №5.


АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ. АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ.

АЛФАВИТ, ТИПЫ ДАННЫХ И ПЕРЕМЕННЫХ НА ЯЗЫКЕ TURBO PASKAL.ОРГАНИЗАЦИЯ ВВОДА-ВЫВОДА.


Для решения конкретных задач с использованием ЭВМ необходимо пройти следующих этапов:

  1. Выбор метода решения- математическое описание решения задачи;

  2. Разработка алгоритма решения задачи;

  3. Запись программы решения задачи на одном из алгоритмических языков;

  4. Тестирование и отладка программы с целю проверки и доведения ее в соответствии с поставленной задачей;

  5. Выполнение программы;

  6. Анализ полученных результатов.

Для перехода к описанию, понятному для ЭВМ, надо определить порядок вычислений- алгоритм. Под алгоритмом понимают понятное и точное предписание исполнителю совершить последовательностей действий, направленных на достижения указанной цели на решение поставленной задачи.

Способы записи алгоритмов следующие:

  1. ^ Словесное описание алгоритмов. Такое описание состоит из словесного перечня действий (шагов), составляющих алгоритм.

  2. Описание алгоритмов в виде блок-схем. Для обозначения шагов решения в виде схемы алгоритма используются специальные геометрические фигуры. Для описание алгоритмов используется следующие геометрические фигуры:





- блок начало и конец алгоритма;


- блок выполнения процесса


- блок ввод данных с использованием клавиатуры;

-логический или условный блок;


- блок начало цикла;


- блок подпрограммы;

- блок вывод на печать.


^ 3. Описание алгоритмов в виде программ с использованием алгоритмического языка.

Существует три вида алгоритмов:

  1. Алгоритмы линейной структуры. Они состоят из последовательности каких-либо действий.

  2. ^ Алгоритмы ветвящейся структуры. Существует задачи, в которых требуется организовать выбор выполнения последовательности действий в зависимости от каких либо условий. Такие алгоритмы называют алгоритмами разветвляющейся структуры.

  3. ^ Алгоритмы циклической структуры. Алгоритмы, отдельные действия в которых многократно повторяются, называются алгоритмами циклической структуры. Совокупность действий алгоритма, связанную с повторением, называют циклом.

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

4. Алгоритмы смешенной структуры.

Алгоритмы должны имеет следующих свойств:

  1. Определенность. Любой алгоритм должен ясно и четко определить поставленную задачу.

  2. Дискретность. Алгоритм должен состоит из отдельно выполняемых частей.

  3. Массовость. Алгоритм должен быть таким, чтобы с его применением можно было решать однотипных задач.

  4. Результативность. Применение или выполнения любого алгоритма должен привести к желаемым результатам.

Для решения конкретной задачи с использованием ЭИМ необходимо составить программу, в которой указывается, каким образом и в каком порядке выполняются необходимые вычисления.

Система программирования Турбо Паскаль представляет собой единство двух в известной степени самостоятельных начал: компилятора с языка программирования Паскаль (язык назван в честь выдающегося французского математика и философа Блеза Паскаля (1623-1662)) и некоторой инструментальной программной оболочки, способствующей повышению эффективности создания программ. Для краткости условимся в дальнейшем называть реализуемый компилятором язык программирования Паскаль - языком Турбо Паскаля, а разнообразные сервисные услуги, представляемые программной оболочкой, - средой Турбо Паскаля.

^ Элементы языка

1. Алфавит

Алфавит языка Турбо Паскаль включает буквы, цифры, шестнадцатеричные цифры, специальные символы, пробелы и зарезервированные слова.

Буквы - это буквы латинского алфавита от а до z и от А до Z, а также знак под-черкивания _ (код ASCII 95). В Турбо Паскале нет различия между прописными и строчными буквами алфавита, если только они не входят в символьные и строковые выражения.

Цифры - арабские цифры от 0 до 9.

Каждая шестнадцатеричная цифра имеет значение от 0 до 15. Первые 10 значений обозначаются арабскими цифрами 0...9, остальные шесть - латинскими буквами A...F или a...f.

Специальные символы Турбо Паскаля:

+ - * / = ,' . : ; < > [ ] ( ) { } ^ @ $ #

К специальным символам относятся также следующие пары символов:

 <> <= >= := (* *) (. .)

В программе эти пары символов нельзя разделять пробелами, если они использу-ются как знаки операций отношения или ограничители комментария.

^ В Турбо Паскале имеются следующие зарезервированные слова:

and           end              nil        

shr

asm           file             not         string

array         for              object      then

begin         function       of         

to

case          goto             or          type

const         if               packed      unit

constructor implementation   procedure   until

destructor    in               program     uses

div           inline           record      var

do            interface      repeat      while

downto        label            set         with

else          mod              shl        

xor

Зарезервированные слова не могут использоваться в качестве идентификаторов.

2. Идентификаторы

Идентификаторы в Турбо Паскале - это имена констант, переменных, меток, типов, объектов, процедур, функций, модулей, программ и полей в записях. Идентификаторы могут иметь произвольную длину, но значащими (уникальными в области определения) являются только первые 63 символа.

Идентификатор всегда начинается буквой, за которой могут следовать буквы и цифры. Напомню, что буквой считается также символ подчеркивания, поэтому идентификатор может начинаться этим символом и даже состоять только из одного или нескольких символов подчеркивания. Пробелы и специальные символы алфавита не могут входить в идентификатор.

Примеры правильных идентификаторов:

а , ALPHA , MyProgramIsBestProgram , date_27_sep_39 , beta

Примеры неправильных идентификаторов:

1Program {начинается цифрой}

block#l {содержит специальный символ}

My Prog {содержит пробел}

mod {зарезервированное слово}

3. Константы

В качестве констант в Турбо Паскале могут использоваться целые, вещественные и шестнадцатеричные числа, логические константы, символы, строки символов, конструкторы множеств и признак неопределенного указателя NIL.

Целые числа записываются со знаком или без него по обычным правилам и могут иметь значение от -2147483648 до +2147483647. Следует учесть, что, если целочисленная константа выходит за указанные границы, компилятор дает сообщение об ошибке. Такие константы должны записываться с десятичной точкой, т.е. Определяться как вещественные числа.

Вещественные числа записываются со знаком или без него с использованием десятичной точки и/или экспоненциальной части. Экспоненциальная часть начинается символом е или Е, за которым могут следовать знаки «+» или «-» и десятичный порядок. Символ е (Е) означает десятичный порядок и имеет смысл «умножить на 1.0 в степени». Например,

3.14Е5 - 3.14 умножить на 10 в степени 5;

-17е-2 - минус 17 умножить на 10 в степени минус 2.

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

Шестнадцатеричное число состоит из шестнадцатеричных цифр, которым предшествует знак доллара $ (код 36 в ASCII). Диапазон шестнадцатеричных чисел - от $00000000 ДО $FFFFFFFF.

Логическая константа - это либо слово FALSE (ложь), либо слово TRUE (истина).

Символьная константа - это любой символ ПК, заключенный в апострофы:

'Z' - символ z; 'Ф' - символ Ф.

Если необходимо записать собственно символ апострофа, он удваивается: 

'''' - символ ' (апостроф).

Допускается использование записи символа путем указания его внутреннего кода, которому предшествует символ # (код 35), например:

#97 - символ а; #90 - символ Z; #39 - символ '; #13 - символ CR.

Строковая константа - любая последовательность символов (кроме символа CR -возврат каретки), заключенная в апострофы. Если в строке нужно указать сам символ апострофа, он удваивается, например:

'Это - строка символов;

 'That' 's string.'.

Строка символов может быть пустой, т.е. Не иметь никаких символов в обрамляющих ее апострофах. Строку можно составлять из кодов нужных символов с предшествующими каждому коду символами #, например, строка #83#121#109#98#11#108 эквивалентна строке ' Symbol'.

Наконец, в строке можно чередовать части, записанные в обрамляющих апострофах, с частями, записанными кодами. Таким способом можно вставлять в строки любые управляющие символы, в том числе и символ CR (код 13), например:

#7'Ошибка !'#13'Нажмите любую клавишу ...'#7 .

Конструктор множества - список элементов множества, обрамленный квадратными скобками, например:

[1,2,4..7,12];  [blue, red] 

4. Выражения

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

Частным случаем выражения может быть просто одиночный элемент, т.е. константа, переменная или обращение к функции. Значение такого выражения имеет, естественно, тот же тип, что и сам элемент. В более общем случае выражение состоит из нескольких элементов (операндов) и знаков операций, а тип его значения определяется типом операндов и видом примененных к ним операций. Примеры выражений:

Y

21

(а + b) * с

sin(t)

а > 2

5. Операции

В Турбо Паскале определены следующие операции:

Правила использования операций с операндами различного типа приводятся в табл. 1.

Таблица 1

Операция

Действие

^ Тип операндов

Тип результата

not

Отрицание

Логический

Логический

not

То же

Любой целый

Тип операнда

@

Адрес

Любой

Указатель

*

Умножение

Любой целый

Наименьший целый

*

То же

Любой вещественный

Exended

*

Пересечение множеств

Множественный

Множественный

/

Деление

Любой вещественный

Extended

div

Целочисленное деление

Любой целый

Наименьший целый

mod

Остаток от деления

То же

То же

and

Логическое И

Логический

Логический

and

То же

Любой целый

Наименьший целый

shl

Левый сдвиг

То же

То же

shr

Правый сдвиг

То же

То же

+

Сложение

То же

То же

+

То же

Любой вещественный

Extended

+

Объединение множеств

Множественный

Множественный

+

Сцепление строк

Строковый

Строковый

-

Вычитание

Любой целый

Наименьший целый

-

То же

Любой вещественный

Extenden

or

Логическое ИЛИ

Логический

Логический

or

Тоже

Любой целый

Наименьший целый

=

Равно

Любой простой или строковый

Логический

<>

Не равно

То же

То же

<

Меньше

Логический

Логический

<=

Меньше или равно

То же

То же

>

Больше

То же

То же

>=

Больше или равно

То же

То же



^ ТИПЫ ДАННЫХ И ПЕРЕМЕННЫХ :

Любые данные, т.е. константы, переменные, значения функций или выражения, в Турбо Паскале характеризуются своими типами. Тип определяет множество допустимых значений, которые может иметь тот или иной объект, а также множество допустимых операций, которые применимы к нему. Кроме того, тип определяет также и формат внутреннего представления данных в памяти ПК.

Турбо Паскаль характеризуется разветвленной структурой типов данных :



^ Структура типов данных

В Турбо Паскале предусмотрен механизм создания новых типов данных и переменных, благодаря чему общее количество типов, используемых в программе, может быть сколь угодно большим.

1. Простые типы

К простым типам относятся порядковые и вещественные типы. Порядковые типы отличаются тем, что каждый из них имеет конечное число возможных значений. Эти значения можно определенным образом упорядочить (отсюда -название типов) и, следовательно, с каждым из них можно сопоставить некоторое целое число - порядковый номер значения.

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

2. Порядковые типы

К порядковым типам относятся (см. Рис.4.1) целые, логический, символьный, перечисляемый и тип-диапазон. К любому из них применима функция ORD(X), которая возвращает порядковый номер значения выражения X. Для целых типов функция ORD(X) возвращает само значение X, т.е. ORD(X) = X для X, принадлежащего любому шелому типу. Применение ORD(X) к логическому, символьному и перечисляемому типам дает положительное целое число в диапазоне от 0 до 1 (логический тип), от 0 до 155 (символьный), от 0 до 65535 (перечисляемый). Тип-диапазон сохраняет все свойства базового порядкового типа, поэтому результат применения к нему функции ORD(X) зависит от свойств этого типа.

К порядковым типам можно также применять функции:

PRED (X) - возвращает предыдущее значение порядкового типа (значение, которое соответствует порядковому номеру ORD(X)- 1), т.е.

ORD(PRED(X)) = ORD(X) - 1;

SUCC (X) - возвращает следующее значение порядкового типа, которое соответствует порядковому номеру ORD(X) +1, т.е.

ORD(SUCC(X)) = ORD(X) + 1.

^ Целые типы. Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать один, два или четыре байта. В табл. 2. Приводится название целых типов, длина их внутреннего представления в байтах и диапазон возможных значений.

При использовании процедур и функций с целочисленными параметрами следует руководствоваться «вложенностью» типов, т.е. везде, где может использоваться WORD, допускается использование BYTE (но не наоборот), в LONGINT «входит» INTEGER, который, в свою очередь, включает в себя SHORTINT.


Таблица 2

^ Целые типы

Название

Длина, байт

Диапазон значений

Byte

1

0. . .255

ShortInt

1

-128. . .+127

Word

2

0. . .65535

Integer

2

-32768.. .+32767

LongInt

4

-2 147 483 648... +2 147 483 647



Перечень процедур и функций, применимых к целочисленным типам, приведен в табл.3. Буквами b, s, w, i, l обозначены выражения соответственно типа BYTE, SHORTINT, WORD, INTEGER и LONGINT, x - выражение любого из этих типов; буквы vb, vs, vw, vi, vl, vx обозначают переменные соответствующих типов. В квадратных скобках указывается необязательный параметр.

Таблица 3

^ Стандартные процедуры и функции, применимые к целым типам

Обращение

Тип результата

Действие

abs (x)

x

Возвращает модуль х

chr(b)

Char

Возвращает символ по его коду

dec (vx[, i] )

-

Уменьшает значение vx на i, а при отсутствии i -на 1

inc(vx[, i] )

-

Увеличивает значение vx на i, а при отсутствии i - на 1

Hi(i)

Byte

Возвращает старший байт аргумента

Hi(w)

To же

То же

Lo(i)

"

Возвращает младший байт аргумента

Lo (w)

"

То же

odd(l)

Boolean

Возвращает True, если аргумент - нечетное число

Random (w)

Как у параметра

Возвращает псевдослучайное число, равномерно распределенное в диапазоне 0...(w-l)

sgr (x)

X

Возвращает квадрат аргумента

swap ( i )

Integer

Меняет местами байты в слове

swap (w)

Word

 



^ Логический тип. Значениями логического типа может быть одна из предварительно объявленных констант FALSE (ложь) или TRUE (истина). Для них справедливы правила:

ord(False) = 0; 

ord(True) = 1; 

False < True; 

succ(False)= True; 

pred(True) = False.


^ Символьный тип. Значением символьного типа является множество всех символов ПК. Каждому символу приписывается целое число в диапазоне 0...255. Это число служит кодом внутреннего представления символа, его возвращает функция ORD.

К типу CHAR применимы операции отношения, а также встроенные функции: СНR(В) - функция типа CHAR; преобразует выражение В типа BYTE в символ и возвращает его своим значением;

UPCASE(CH) - функция типа CHAR; возвращает прописную букву, если СН -строчная латинская буква, в противном случае возвращает сам символ СН, например:

^ Перечисляемый тип. Перечисляемый тип задается перечислением тех значений, которые он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками, например:

typе

colors =(red, white, blue);

^ Вещественные типы

В отличие от порядковых типов, значения которых всегда сопоставляются с рядом целых чисел и, следовательно, представляются в ПК абсолютно точно, значения вещественных типов определяют произвольное число лишь с некоторой конечной точностью, зависящей от внутреннего формата вещественного числа.

Таблица 4

^ Длина, байт

Название

Количество значащих цифр

Диапазон десятичного порядка

6

Real

11. . .12

-39. ..+38

8

Double

15. ..16

-324. . .+308

10

extended

19. . .20

-4951. . .+4932

8

comp

19. . .20

-2*1063+1. . .+2*63-1



Для работы с вещественными данными могут использоваться встроенные математические функции, представленные в табл. 2.5. В этой таблице REAL означает любой вещественный тип, INTEGER - любой целый тип.


Таблица 5

^ Стандартные математические функции Турбо Паскаля

Обращение

Тип параметра

Тип результата

Примечание

abs (x)

Real, Integer

Тип аргумента

Модуль аргумента

АrсТаn (х)

Real

Real

Арктангенс ( значение в радианах)

cos (х)

To же

То же

Косинус, угол в радианах

ехр (х)

"

"

Экспонента

frас (х)

"

"

Дробная часть числа

int(x)

"

"

Целая часть числа

ln(x)

"

"

Логарифм натуральный

Pi

-

"

л = 3.141592653...

Random

-

"

Псевдослучайное число, равномерно распределенное в диапазоне 0...[1]

Pandom(x)

Integer

Integer

Псевдослучайное целое число, равномерно распределенное в диапазоне 0...(х-1)

Randomize

-

-

Инициация генератора псевдослучайных чисел

sin(x)

Real

Real

Синус, угол в радианах

sqr (x)

To же

То же

Квадрат аргумента

sqrt (x)

"

"

Корень квадратный


Организация ввода-вывода


  • Процедуры ввода

Read <список ввода>;

или

Readln <список ввода>;

Различие в выполнении процедур заключается в том, что процедура Readln включает переход на новую строку по окончании ввода. Использование Readln без параметров обеспечивает переход к новой строке.

^ Список ввода - представляет собой перечисленные через запятую имена переменных, которые в результате ввода получают определенные значения.

Пример

var A,B,C: real;

K,N: byte;

...

line 19line 20line 21line 22line 23line 24line 25line 26line 27line 28line 29line 30line 31line 32line 33line 34 Read(A,B,C,K,N); {0.5 1.6 -19.1 6 4}


С процедурой ввода связана стандартная функция Eoln, значение которой имеет тип boolean:

Tline 35rue, если при вводе с клавиатуры нажата

клавиша ^ Enter (конец строки);

Eoln=

False, если конец строки не достигнут.

Пример.

Var K,I: integer;

...

Readln; I:=0;

while not Eoln do

{осуществляется ввод целых значений K и подсчитывается

количество чисел до достижения конца строки}

begin

Read(K);

I:=I+1

end;

  • Процедуры вывода


Write <список вывода>;

или

Writeln <список вывода>;


Различие в выполнении процедур заключается в том, что процедура Writeln по окончании вывода обеспечивает переход на новую строку. Использование Writeln без параметров обеспечивает переход на новую строку.

^ Список вывода представляет собой перечисленные через запятую имена переменных, функций или выражения, значения которых выводятся на устройства вывода.

Допускается бесформатный и форматный вывод.

Бесформатный вывод.

При использовании бесформатного вывода данные выводятся на устройства вывода в форматах, обусловленных в среде Turbo-Pascal 7.0 системой умолчаний и типом данных.

Пример

var A,B: real;

I,N: integer;

C: char;

...

I:=0; N:=I+1;

A:=0.25; B:=Sqrt(A); C:=’#’;

Writeln(I,’ ‘,N); { 0 1}

Writeln(A,B); { 2.5000000000E-01 5.0000000000E-01}

Writeln(A,Sqrt(A)); { 2.5000000000E-01 5.0000000000E-01}

Writeln(N+5,C); { 6#}

Write(MaxInt);{32767-максимальное число типа integer}

Форматный вывод

При использовании форматного вывода каждый элемент списка может быть представлен в одной из следующих форм:

A:w

A:w:d

где A - элемент списка вывода;

w - целое положительное число, определяющее общую длину поля

вывода;

d - целое положительное число, определяющее длину дробной части

выводимого вещественного числа.

Пример

var A,B: real;

I,N: integer;

C: char;

...

I:=0; N:=I+1;

A:=0.25; B:=Sqrt(A); C:=’#’;

Writeln(A:5:2,B:6:2); { 0.25 0.50}

Writeln(‘I=’,I:4); {I= 0}

Writeln(C:4); { #}

Writeln(‘B=’,Sqrt(A):6:2); {B= 0.50}

Writeln(‘***************’); {***************}

Writeln(‘*A=’,A:4:2,’*B=’,B:4:2,’*’);{*A=0.25*B=0.50*}

Writeln(‘***************’); {***************}



группа 523





Похожие:

Электроэнергетика и информационные технологии iconПрограмма курса оптические информационные технологии курс «Оптические информационные технологии»
Курс «Оптические информационные технологии» реализуется в рамках направления подготовки бакалавров 552800 «Информатика и вычислительная...
Электроэнергетика и информационные технологии iconМетодические указания и задания по выполнению практических работ для студентов специальности 1-25 01 13 Экономика и управление туристической индустрией, Мультимедийная презентация
Разработка модели традиционного обучения в высшей школе. Лекция по курсу: «Информационные технологии в туризме» на тему: «Информационные...
Электроэнергетика и информационные технологии iconУрок обобщения знаний по теме. Тема : «Преобразование рациональных выражений». Класс : Технологии : Технология уровневой дифференциации обучения, компьютерные (новые информационные) технологии обучения
Технологии: Технология уровневой дифференциации обучения, компьютерные (новые информационные) технологии обучения
Электроэнергетика и информационные технологии iconТесты по информатике. Полезные программы. В частности, Конспекты школьника
Информатика в школе Информатика, информационные технологии, интернет-технологии, web-дизайн, основы теории баз данных, программирование,...
Электроэнергетика и информационные технологии icon«информационные технологии как средство повышения эффективности преподавания математики» Автор: преподаватель математики гоу спо «Борисовский агромеханический техникум»
«информационные технологии как средство повышения эффективности преподавания математики»
Электроэнергетика и информационные технологии iconКонспект интегрированного урока в 1 классе Тема урока : «Вежливые слова» Риторика Тема: «Вежливые слова» Внеклассное чтение Тема: В. Осеева «Волшебное слово»
Образовательные технологии: игровые технологии (Б. П. Никитин), технология интегрированного обучения, информационные технологии
Электроэнергетика и информационные технологии iconПубликации 2007-2008: Аксенова А. А. «Преподавание элективного курса «Делопроизводство и офисные технологии»
Аксенова А. А. «Преподавание элективного курса «Делопроизводство и офисные технологии» в классах социально-гуманитарного профиля»...
Электроэнергетика и информационные технологии iconИнформационные системы и федеральные образовательные порталы
Федеральный образовательный портал "Информационно-коммуникационные технологии в образовании"
Электроэнергетика и информационные технологии iconЖурнал “Информационные технологии”, 2010г. (в печати)
А. В. Фаворская, студентка, Московский физико-технический институт (государственный университет), e-mail
Электроэнергетика и информационные технологии iconКомпьютерное музицирование в школе
Новые информационные технологии, на основе которых построены эти инструменты, превращают их в «интеллектуальные», понимающие команды...
Разместите ссылку на наш сайт:
Уроки, сочинения


База данных защищена авторским правом ©izlov.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
связаться с нами