Язык программирования Turbo Pascal



 

Алгоритм решения задачи, заданный в виде последовательности команд на языке вычислительной машины (в кодах машины), называется машинной программой. Команда машинной программы, или машинная команда, – элементарная инструкция машине, выполняемая ею автоматически без каких – либо дополнительных указаний и пояснений.

Программирование – теоретическое и практическая деятельность, связанная с созданием программ.

Процесс перевода алгоритма в машинную программу называется трансляцией.

Осуществление трансляции силами человека – задача очень сложная в силу большого объема работы и сложности системы команд современных ЭВМ. Поэтому в целях облегчения задачи трансляции появились промежуточные способы задания алгоритмов, получившие название языков программирования.

Языки программирования, оперирующие понятиями математической или информационной модели (или близки к ним) называются языками высокого уровня. Языками высокого уровня являются такие языки, как Паскаль, С++, Бейсик, Java и другие. Языки высокого уровня используются для написания сложных программ, они не привязаны к конкретной архитектуре ЭВМ, значительно легче в изучении и рассчитаны на широкий круг задач.

Язык Паскаль был создан Никлаусом Виртом в конце 60 – х годов и назван в честь французского математика Блеза Паскаля. Паскаль по сравнению с другими языками программирования имеет упрощенный синтаксис. Однако Паскаль наиболее близок к идеальному алгоритмическому процедурному языку. Этот язык полностью реализует принципы структурного программирования.

Цикл

Оператор цикла является важнейшим оператором и имеется в большинстве современных языков программирования, а сама идея цикла возникла еще в XIX веке.

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

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

Цикл с параметром for…to…do и for…down to…do

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

<Оператор For>:= For <переменная цикла>:= < выражение _ начало> to <выражение _ конец > do <тело цикла> / For<переменная цикла>:= <выражение _ начало> down to <выражение _ конец> do <тело цикла>

Пример 1.

Ввести 200 чисел. Вывести на экран среди них положительные числа.

Program PR_10;

var   c,i: integer;

        a:real;

Begin

        c:=0;

        for i:=1 to 200 do

Begin

writeln (‘vvedite’,i,’chislo:’);

readln (a);

if a > 0 then c:=c+1

end;

writeln (‘iz nih polozhitelnih’,c);

readln;

end.

 

Пример 2.

Напечатать буквы от «Z» до «А».

Program PR_11;

varc: char;

Begin

for c:=’Z’ down to ’A’ do

write (c);

readln;

end.

Цикл с предусловием while…do

Условие – это логическое выражение, истинность которого проверяется в начале каждого шага цикла. Цикл будет выполняться до тех пор, пока значения логического выражения истинно.

<Оператор While>:=While<условие> do <тело цикла>

Если на первом же шаге значение логического выражения ложно, тело цикла не выполняется ни разу.

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

Пример 1.

Вычислить значения членов бесконечного ряда:

, /2!,…,  точностью до члена eps.

Program PR_16;

var x, y, eps : real;

          n: integer;

Begin

writeln (‘vvedite ishodnie dannie x, exp’);

readln (x, eps);

     n:=1;

     y:=1;

while y > eps do

Begin

      y:=y*x/n;

writeln (y);

     n:= n+1;

end;

readln;

end.        

Цикл с постусловием repeat…until

Оператор Repeatотличается от остальных двух операторов цикла тем, что проверка условия продолжения цикла стоит после тела цикла. Это обеспечивает выполнение тела цикла хотя бы один раз.

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

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

Пример 1.

Дано натуральное число. Определить количество единиц в записи данного числа в двоичной системе счисления. Например, в двоичной записи числа 13 имеется 3 единицы (1101).

var n, x, k: integer;

   begin

  repeat

        write (‘Введите натуральное число ->’);

         readln (n);

  until n>0

  x:=1;k:=0;

       while x< > 0 do

    begin

       if n and x < >0 then k:=k+1;

  x:=x shl 1

  end;

         writeln (‘Количество двоичных единиц:’,k);

  end.

Пример 2 .

Даны два натуральных числа. Определить их наибольший общий делитель.

var n, m, x: integer;

    begin

  repeat

         write (‘Введите натуральное число m и n ->’);

         readln (m,n);

  until (n>0) and (m>0);

    while n > 0 do

    begin

       x:=m nod n;

       m:=n;

       n:=x;

  end;

         writeln (‘НОД=’,m);

  end.

 

Пример 3.

Дано натуральное число. Определить образуют ли цифры числа симметричную последовательность, то есть читаются они одинаково слева направо и справа налево. Примером симметричной последовательности является число 012210.

var n, x, m: integer;

    begin

  repeat

         write (‘Введите натуральное число ->’);

         readln (n);

  until n>0

  x:=0;m:=n;

        whilen > 0 do

    begin

         x:=x*10+n mod10;

         n:=n div 10

end;

        if x=m thenwriteln (‘Палиндром’) else writeln (‘Не палиндром’)                        

end.

 

Пример 4.

Определить, является ли введенное число простым.

Program Prostoe;

Uses Crt;

Var i, Number : integer;

Begin ClrScr;

writeln ('Какое число должно быть проверено? ');

read (Number);

i := 1;

Repeat

i := i+1;

Until

Number mod i = 0;

if Number=i then

writeln (Number,' является простым')

else
writeln (Number,' делится на ',i);

readln;

End.

 

Пример 5.

Вычислить время, прибавив к заданному времени суток заданное число секунд.

uses Crt;

const Day= 24*3600;

      Hour=3600;

      Minute=60;

Type Time = record H, M, S: integer end;

var T: Time; N: Longlnt;

function TimePlusN (var T: Time; N: Longlnt):boolcan;

var TS: 0..(Day – 1);

Begin

TS:=Longlnt(T,H)*Hour + Longlnt(T,M)*Minute + T,S;

TS:= TS + N;

ifTS>= Day then TimePlusN:=True

         else TimePlusN:=False;

TS:= TSmod Day;

T,S:= TS mod Minute;

T,M:=(TS mod Hour) div Minute;

T,H:=(TS mod Day) div Hour;

end;

Begin ClrScr;

TextColor(White);

Writeln (‘_Вычисление времени суток по заданному времени’,’и смещению’);

Writeln (‘(заданное время контролируется на допустимость)’);

TextColor(Green);

repeat write (‘Введите часы :’);

Readln(T,H) until (T,H>=0) and (T,H<=23);

repeat write (‘Введите минуты :’);

Readln (T,M) until (T,M>=0) and (T,M<=59);

repeatwrite (‘Введите секунды :’);

Readln (T,S) until (T,S>=0) and (T,M<=59);

repeat Write (‘Введите смещение (в секундах):’);

Readln (N) until N <= maxinl;

TexstColor (White);

ifTimePlusN (T,N)then Writeln (‘Следующие сутки’);

Writeln (‘Время:’,T,H,’;’,T,M,’;’,T,S);

Readln;

End.

 

 

 

                                                      Заключение

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

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

Алгоритмический язык (как и любой другой язык) образуют три его составляющие:

Алфавит — это фиксированный для данного языка набор основных символов, т.е. "букв алфавита", из которых должен состоять любой текст на этом языке — никакие другие символы в тексте не допускаются.

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

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

                 

 

Список литературы:

 

1. Немнюгин С.А. Turbo Pascal. Программирование на языке высокого

уровня: Учебник для вузов. 2 – е изд. – СПб.: Питер, 2006. – 544с.:ил.

2. Вирт Н. Алгоритмы и структуры данных./Пер. с англ. М.: Мир, 1989. –

360 с.

3. Пильшиков В.Н. Сборник упражнений по языку Паскаль: Учеб.

пособие для вузов. - М.: Наука, 1989. - 160 с.

4. Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль.

- М.: Наука, 1988. - 320 с.

5. Дузельбаев С.Т., Омарбекова А.С., Шарипбаев А.А., Юсубекова С.О.

Основы алгоритмизации и программирования. Учебное пособие. – Астана. Фолиант, 2008. – 256с.

6. Аубакирова Г.Д., Хмыров А.Г. Языки программирования Pascal, Delhi:

Учебное пособие. – Астана: Фолиант, 2007. – 208 с.

7. Ильяшенко М. П., Яценко Е. В., Водолазская Т. И., Крыжановский В. Г.,

Смолякова О. К., Зеленова О. Г., Богданова Д. К. Универсальный современный справочник школьника: 5 – 11 класс. – Москва: ЗАО «БАО – Пресс», ООО «ИА «РИПОЛ КЛАССИК», 2005. – 1296с.

8. Голицына О. Л., Попов И. И. Основы алгоритмизации и

программирования: Учеб. пособие. – М.: ФОРУМ: ИНФРА – М, 2002. – 432с. – (серия «Профессиональное образование»).

9. Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль. –

М.: Наука, 1987. - 112 с.

10.  Абрамов С. А. Математическое построение и программирование /

Абрамов С. А.; Под ред. С.С.Лаврова. – М.: Наука, 1978. – 191с.

11.  Гуденко Д. А., Петроченко Д. В. Сборник задач по программированию. –

СПб.: Питер, 2003. – 475 с.: ис. – (серия «КомпАс») .

12.  Беженова М.М., Москвина Л.А. Практическое программирование.

Приемы создания программ на языке Паскаль. М., Научный Мир., 2000. 270с.

13.  Семакин И.Г., Шестаков А.П. Основы программирования; Учебник. –

М.: Мастерство, 2002. – 432с.

Ссылки

 

 

 

 

    

 

   

 

  

 

  

 


Дата добавления: 2018-02-18; просмотров: 1051; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!