Основы структурного программирования. Основные типы данных. Оператор цикла while»

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

Краткое описание

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

Содержание

ВВЕДЕНИЕ………………………………………………………………………3
ГЛАВА I. Структурное программирование…………………………………..5
1.1. Понятие структурного программирования………………..5
1.2. Нисходящее и восходящее программирования……………6
1.3. Оператор цикла while………………………………………...9
ГЛАВА II. Типы данных………………………………………………………...16
2.1. Целые типы…………………………………………………....17
2.2. Вещественные типы……………………………………….….21
2.3 Булевский тип…………………………………………….……23
2.4 Символьный тип……………………………………………….24
ЗАКЛЮЧЕНИЕ…………………………………………………………………..25
ЛИТЕРАТУРА…………………………

Вложенные файлы: 1 файл

курсовая.docx

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

            Program EpsilonDetect ;

var

  epsilon : Real;

begin

  epsilon : = 1;

  while epsilon/2 + 1 > 1 do

    epsilon : = epsilon/2

  WriteLn ('Машинное эпсилон= ', epsilon)

end.

Пример 2. Вычисление суммы нечётных чисел в интервале 0 - 10

                     Program DemoWhile ;

var I, sum : integer ;

begin

  sum : = 0; I : = 1 ;

  while (I<11) do

    begin

      sum : = sum + I ;

      I : = I + 2 ;

    end ;

    write ('Сумма нечётных чисел равна', sum : 3)

end.

Пример 3. Вычисление числа "Пи"

Program PI ;

var

  p : real ; {вычисляемое значение Пи}

  t : real ; {точность вычисления}

  n : integer ; {номер члена ряда}

  elem : real ; {значение члена ряда}

begin

  p : = 0 ;

  n : = 1 ;

  elem : = 1 ; {начальное значение}

  write ('Задайте точность вычисления ПИ ->') ;

  readln (t) ;

  writeln ('Вычисление ПИ с точностью', t : 9 : 6) ;

  while elem >= t do

  begin

    elem : = 1/ (2*n-1) ;

      if (n MOD 2) = 0

           then p : = p - elem

           else p : = p + elem ;

    n : = n + 1) ;

  end;

  p : = p*4 ;

  writeln ('Значение Пи с точночтью', t : 9 : 6, 'равно', p : 9 : 6) ;

  writeln ('Просуммировано', n , 'членов ряда.') ;

  readln ;

end.

Пример 4. Вычисление НОД двух целых чисел

Program NOD;

var

  n1, n2 : integer ; {числа, НОД которых надо найти}

  nod : integer ; {наибольший общий делитель}

  r : integer; {остаток от деления n1 на n2}

begin

  writeln ('Вычисление НОД') ;

  writeln ('для двух целых чисел.') ;

  write ('Введите в одной строке два числа') ;

  writeln ('и нажмите <Enter>') ;

  write ('->') ;

  readln (n1, n2) ;

  while (n1 mod n2)do

    begin

      r : = n1 mod n2 ; {остаток от деления}

      n1 : = n2 ;

      n2 : = r ;

    end ;

  nod : = n2 ;

  writeln ('НОД чисел', n1, 'и', n2, 'это', nod) ;

  readln ;

end.

Пример 5. Вычмсление суммы S=1+1/2+1/3+...+1/50

VAR S: REAL; N:INTEGER;

BEGIN

S:=0; N:=1;

WHILE N<=50 DO

    BEGIN

          S:=S+1/N;

N:=N+1;

    END;

WRITELN(' S=',S);

END.

 Пример 6.  Даны числа A, B (A > 1). Получить все степени числа A, меньшие числа B.

program STEPENI;

var A, B, C: real;

begin

readln (A, B); C := A;

while C < B do

begin

writeln (C);

C := C*A;

     end;

end.

Пример 7. Даны числа a,b (a>1). Получить все члены бесконечной последовательности  a,a^2,a^3,…a^n

Program p1;

Var a,b,n:integer;

BEGIN

  Write('Введите А и В');

  Readln(a,b);

      n:=1;

      While EXP(n*LN(a))<b do

        Begin

          Writeln(EXP(n*LN(a)));

          n:=n+1;

        end;

    end;

END.

Пример 8. Дано целое число а и натуральное (целое неотрицательное) число n. Вычислить а в степени n. {Введем целую переменную k, которая меняется от 0 до n, причем поддерживается такое свойство: b = (a в степени k).}

VAR

A, N, B, K : INTEGER;

BEGIN

ClrScr;

Write(‘ Введите два значения ‘); ReadLn(A,N);

K := 0; B := 1;

While K <> N DO Begin

K := K + 1; B := B * A;

End;

Write(‘ A в степени N = ’,B);

END.

Пример 9. Даны натуральные числа а, b. Вычислить произведение а*b, используя в программе лишь операции +, -, =, <>.

USES Crt;

VAR

A, B, C, K : INTEGER;

BEGIN

Write(‘ Введите два значения ‘); ReadLn(A,B);

K := 0; C := 0;

While K <> B DO Begin

K := K + 1; C := C + A;

End;

{C = A * K и K = B, следовательно, C = A * B}

Write(‘ A*B= ‘,C);

END.

 Пример 10. Вычислить значение переменной Y=2K+N при всех значениях переменных N=1,2,3 и K=2,4,6,8. обратите внимание на то, что если перебирать N и K получим 12 значений переменной Y.

Var N,K,Y: Integer;

Begin

For N:=1 To 3 Do Begin

K:=2;

While K<=8 Do Begin

Y:=2*K+N;

WriteLn(‘При N= ’,N:4,’ и K= ’,K:4,’ Y= ’Y:4);

K:=K+2;

End;

End;

End.

 

 

 

          Глава 2.  Типы данных

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

    Данные хранятся в памяти компьютера. Программа обращается к ним с помощью имен переменных, связанных с участками памяти, где хранятся данные.

    Переменные описываются до основного кода программы. Для них указываются ее имя и тип хранимых данных.

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

    Тип переменной определяется тем, с какими данными она связана.

    Переменные типа integer могут быть связаны только с целыми значениями обычно в диапазоне от -32768 до 32767. В Pascal есть другие целочисленные типы.

    Переменные типа real хранят вещественные (дробные) числа.

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

    Символьный тип (char) может принимать значения из определенной упорядоченной последовательности символов.

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

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

Все вышеописанное – это  простые типы данных. Но бывают и  более сложные, структурированные, которые базируются на простых типах.

    Массив – это структура, занимающая в памяти единую область и состоящая из фиксированного числа компонентов одного типа.

    Строки представляет собой последовательность символов. Причем количество этих символов не может быть больше 255 включительно. Такое ограничение характерная черта Pascal.

    Запись – это структура, состоящая из фиксированного числа компонент, называемых полями. В разных полях данные могут иметь разный тип.

    Множества представляют собой совокупность любого числа элементов, но одного и того же перечисляемого типа.

    Файлы для Pascal представляют собой последовательности однотипных данных, которые хранятся на устройствах внешней памяти (кстати, жесткий диск – это тоже внешняя память).

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

    Рассмотрим основные из них.

 

        2.1. Целые типы

В языке Паскаль определено пять целых типов.

Таблица. Целые типы Pascal

Тип

Диапазон допустимых значений

Отводимая память, в байтах

shotint

-128…127

1

integer

-32 768…32 767

2

longint

-2 147 483 648…2 147 483 647

4

byte

0…255

1

word

0…65 535

2


    Переменные целого типа могут принимать только целые значения. Такие переменные в программе описываются следующим образом: 
a, b, c: integer;

    Здесь a, b, c… - имена переменных, integer – тип переменных. Транслятор, встретив такое описание переменных a, b, c, запоминает, что эти переменные могут принимать только целые значения и формирует соответственно этому команды программы.

    Таблица. Операции над целыми типами, дающие в результате значение целого типа

Знак операции

Операция

+

Сложение

-

Вычитание

*

Умножение

div

Целочисленное деление (остаток  отбрасывается). Деление без округления (целая часть частного).

mod

Деление по модулю (выделение  остатка от деления). Остаток от деления: a mod b = a – ((a div b) * b).


    Операции над операндами целого типа выполняются правильно только при условии, что результат и каждый операнд не меньше минимального (крайнего левого) и не больше максимального (крайнего правого) значений диапазона. Например, в Паскале существует константа maxint, в которой содержится максимально допустимое значение для типа integer. Тогда при выполнении операций в программе должны соблюдаться следующие условия: 
(a операция b) <= maxint, 
a <= maxint, b <= maxint.

    Над целыми типами, как и многими другими, допустимы операции отношения (сравнения). Результат таких операций относится к типу boolean и может принимать одно из двух значений – либо true (истина), либо false (ложь).

Таблица. Операции отношения

Знак операции

Операция

=

Равно

<>

Не равно

>=

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

>

Больше

<=

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

<

Меньше


    Целые типы могут приниматься в качестве фактических параметров рядом стандартных функций языка программирования Pascal.

Таблица. Стандартные функции Pascal, применимые к аргументам целых  типов

Функция

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

Результат выполнения

abs(x)

Целый

Модуль x (абсолютная величина x)

sqr(x)

Целый

Квадрат x

succ(x)

Целый

Следующее значение x (x+1)

pred(x)

Целый

Предыдущее значение x (x-1)

random(x)

Целый

Случайное целое число  из интервала 0..x-1.

sin(x)

Действительный

Синус x (угол в радианах)

cos(x)

Действительный

Косинус x (угол в радианах)

arctan(x)

Действительный

Арктангенс x (угол в радианах)

ln(x)

Действительный

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

exp(x)

Действительный

Экспонента x

sqrt(x)

Действительный

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

odd(x)

Логический

Значение true, если x – нечетное число; 

false – если четное.


    Функция random возвращает равномерно распределенное случайное целое число, если ей передан целый аргумент. При повторном запуске программы она возвращает те же значения. Во избежание этого следует в начале программы вызвать процедуру без параметров randomize.

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