Основные типы данных. Разветвленный алгоритм»

Автор работы: Пользователь скрыл имя, 13 Ноября 2013 в 12:09, курсовая работа

Описание работы

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

Содержание работы

ВВЕДЕНИЕ………………………………………………………………………3
ГЛАВА I. Типы данных………………………………………………………....5
2.1. Целые типы…………………………………………………...6
2.2. Вещественные типы……………………………………….….8
2.3. Логический тип………………………………………….…....11
2.4. Символьный тип……………………………………………….11
2.5. Строковый тип…………………………………………………12
ГЛАВА II. Разветвленный алгоритм……………………………………………14
1.1. Общее понятие ……………………………….………………..14
1.2.Виды разветвленного алгоритма ………………..……………16
ЗАКЛЮЧЕНИЕ……………………………………………………………………22
ЛИТЕРАТУРА………………………………………

Файлы: 1 файл

курсовая -2.docx

— 98.74 Кб (Скачать файл)

 

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

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

Имя

Описание

Результат

Пояснения

abs

модуль

вещественный

|x| записывается abs(x)

arctan

арктангенс угла

вещественный

arctg x записывается arctan(x)

cos

косинус угла

вещественный

cos x записывается cos(x)

exp

экспонента

вещественный

ex записывается exp(x)

frac

дробная часть аргумента

вещественный

frac(3.1) даст в результате 0.1

int

целая часть аргумента

вещественный

frac(3.1) даст в результате 3.0

ln

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

вещественный

logex записывается ln(x)

pi

значение числа п

вещественный

3.1415926536

round

округление до целого

целый

round(3.1) даст в результате 3  
round(3.8) даст в результате 4

sin

синус угла

вещественный

sin x записывается sin(x)

sqr

квадрат

целый

x2 записывается sqr(x)

sqrt

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

вещественный

записывается sqrt(x)

trunc

целая часть аргумента

целый

trunc(3.1) даст в результате 3


 

       

        2.3. Логический тип

Логический тип данных часто называют булевым по имени  английского математика Д. Буля, создателя  математической логики. В языке Турбо  Паскаль имеются две логические константы TRUE (ПРАВДА) и FALSE (ЛОЖЬ). Логическая переменная принимает одно из этих значений и имеет тип Boolean. Величины этого типа занимают в памяти 1 байт. Внутреннее представление значения false - 0 (нуль), значения true - 1.

К величинам логического  типа применяются логические операции and, or, xor и not. Они описаны ниже. Для наглядности вместо значения false используется 0, а вместо true - 1.

a

b

a and b

a or b

a xor b

not a

0

0

0

0

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

0


 

Операция and - "логическое И", логическое умножение. Операция or - "логическое ИЛИ", логическое сложение. Операция xor - так называемое исключающее ИЛИ, или операция неравнозначности. Логическое отрицание not является унарной операцией.

Кроме этого, величины логического  типа можно сравнивать между собой  с помощью операций отношения: > , >= , < ,<= , = , <>(не равно).

 

         2.4. Символьный тип

Символьный тип данных это тип char. служит для представления любого символа из набора допустимых символов. Под каждый символ отводится 1 байт. Значениями данного типа является множество всех символов компьютера: русская или латинская большая или маленькая буква, цифра, знак препинания, специальный знак (например, "+",   "-", "*", "/", "", "=" и др.) или пробел " ". Каждый из символов имеет уникальный номер от 0 до 255, т. е. внутренний код, который возвращает функция ORD. Символьная константа или символьная переменная - любой символ языка, заключённый в апострофы.

К символам можно применять  операции отношения (<, <=, >,>=, =, <>), при этом сравниваются коды символов. Меньшим окажется символ, код которого меньше.

Стандартных функций для  работы с символами немного:

Имя

Описание

Результат

Пояснения

ord

порядковый номер символа

 

целый

ord('b') даст в результате 98  
ord('ю') даст в результате 238

chr

 

преобразование в символ

символьный

chr(98) даст в результате 'b'  
chr(238) даст в результате 'ю'

pred

 

предыдущий символ

символьный

pred('b') даст в результате 'a'

succ

 

последующий символ

символьный

pred('b') даст в результате 'a'

upcase

 

перевод в верхний регистр

символьный

upcase('b') даст в результате 'B'


 

2.5. Строковый тип

Строки в Паскале –  это данные типа string. В Паскале длина стандартной строки ограничена 255 символами. Под каждый символ отводится по одному байту, в котором хранится код символа. Кроме того, каждая строка содержит еще дополнительный байт, в котором хранится длина строки.

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

Существует понятие пустой строки, т.е. строки, которая не имеет  элементов. Пустая строка обозначается двумя рядом стоящими апострофами (например, st := '').

Строки можно присваивать  друг другу. Если максимальная длина  переменной слева меньше длины присваиваемой  строки, то лишние символы справа отбрасываются.

Строки можно объединять с помощью операции конкатенации, которая обозначается знаком +.

s1 := 'John';

s2 := 'Black';

s1 := s1 + ' ' + s2;

К отдельному символу строки можно обращаться как к элементу массива символов, например s1[3]. Символ строки совместим с типом char, их можно использовать в выражениях одновременно, например:

s1[3] := 'h';

writeln (s2[3] + 'r');

Можно осуществлять коррекцию  любого символа строковой переменной, для чего в соответствующем операторе  достаточно указать имя переменной типа string, вслед за которым в квадратных скобках задается номер ее элемента (например, str[3]:='j').

 

 

 

 

 

 

      

 

      ГЛАВА II. Разветвленный алгоритм

        2.1. Общее понятие

      Любой алгоритм можно составить из нескольких базовых структур. Простейшей из них является линейная (следование). В ней команды выполняются однократно в той последовательности, как они записаны. Однако далеко не всегда для решения задачи последовательность действий одна и та же при любых исходных данных. Если на каком-то этапе исполнитель должен выбирать один вариант из нескольких, в алгоритме используют ветвление.

Разветвленный алгоритм - алгоритм, содержащий хотя бы одно условие, в результате проверки которого может осуществляться разделение на несколько параллельных ветвей алгоритма.

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

В алгоритме разветвленной  структуры (ветвлении) в зависимости  от истинности или ложности некоторого условия выбирается одна из двух серий  команд.

Если в программе есть ветвление, нужно:

  • Определить, какие существуют варианты действий и сколько их всего. Количество условных операторов будет на один меньше, чем число вариантов.
  • Выяснить, при каких условиях должен выполняться каждый из вариантов.
  • Если вариантов больше двух, выбрать последовательность проверки условий. При необходимости построить блок-схему.
  • Записать алгоритм на языке программирования.
  • Подобрать данные для тестирования программы (предусмотреть наборы данных, позволяющие проверить каждый вариант действий).

Операции сравнения

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

Операция

Обозначение

Пример записи

Равно?

=

d = 0

Больше?

>

x + y > 100

Меньше?

<

z < 5 * x

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

>=

sin(a) >= 0.5

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

<=

v <= 60

Не равно?

<>

y <> 0


 

Результатом операции сравнения  всегда будет логическое значение —  либо false (ложь), либо true (истина).

Логические операции

Нередко условие, требующее  проверки, нельзя выразить с помощью  единственного сравнения. Тогда  используют составные условия, образующиеся с помощью логических операций. В  языке программирования Pascal их три (в некоторых реализациях —  четыре):

Операция

Обозначение

Результат

Пример записи

«И» 
(конъюнкция)

and

«истина», если истинны оба  операнда (и первый, и второй)

(x > -2) and (x < 2)

«Или»

(дизъюнкция)

        or

«истина», если истинен хотя бы один операнд (или первый, или второй)

(x < -2) or (x > 2)

               «Не»

(инверсия)

        not

«истина», если операнд ложен

not (a > b)


 

. Условие — это выражение логического типа, которое может принимать одно из двух значений: "истина" или "ложь". Простое условие состоит из двух выражений и знака сравнения между ними

 

2.2. Виды разветвленного  алгоритма

Различают 2 алгоритма: с  полным ветвлением и с неполным ветвлением.

В первом случае, действия определены и в случае истинности условия, и в случае ложности. А во втором  - действия определены либо в случае истинности условия, либо в случае ложности.

Алгоритм с  полным ветвлением

полная




условие



да нет


Действие1


Действие2





 

Если условие истинно,  
то выполняется действие 1, 
иначе выполняется действие 2.

IF условие 

THEN действие 1  
 ELSE действие 2;

Алгоритм с  неполным ветвлением

     Если условие истинно,  
то выполняется действие 1.

В случае неполной развилки: 
команда ELSE и серия команд 2 в записи отсутствуют: 

 

 

неполная




условие



да нет


Действие1





 

 

Пример 1. Дано число a. Если а=2, то с=а+2, иначе с=а-2.

Var a,b:integer;

Begin

Readln(a);

If a=2 then c:=a+2

          Else c:=a-2;

Writeln(c);

End.

Пример 2. Дано квадратное уравнение. Вывести, имеет ли корни уравнение.

var a, b, c, d: real;

begin

readln(a, b, c);

d := b * b - 4 * a * c;

if d < 0   then writeln('корней нет')

               else writeln('корни есть');

end.

Пример 3. Даны два числа X и Y. Вывести на экран наибольшее из заданных чисел.

PROGRAM maximum;

VAR x, y, m: integer;

BEGIN

WRITELN(‘введите числа х  и у’);

READLN (x,y);

IF x>y

THEN m:=x

ELSE m:=y;

WRITELN (‘наибольшее’,m);

END.

Пример 4. Дано число S. Если число S>=0, то вывести корень из этого числа, иначе умножить S на 2.

Информация о работе Основные типы данных. Разветвленный алгоритм»