Составлениепрограммсиспользованиемусловногооператораиоператораварианта



ВВЕДЕНИЕВЯЗЫКTURBOPASCAL7.0

 

В1992годфирмаBorlandInternationalвыпустиладвапакетапрограммирования,основанныенаиспользованиеязыкаПаскаля(1,8),-BorlandPascal7.0иTurboPascal7.0.

TurboPascalвключаетвсебяязыкпрограммированияПаскальдляЭВМтипаIBMисреду,предназначеннуюдлянаписания,отладкиизапускапрограмм.

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

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

 

I. Алфавитязыка

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

ВязыкеTurboPascalвсекомпонентыформируютсяизмножествасимволовстандартаASCII.

Элементыалфавитаможноусловноразбитьначетырегруппы:

· Буквы:A,B,C,...,Z,a,b,c,...z;

· Цифры:0,1,2,…,9ишестнадцатиричныецифры:0,1,2,..,A,B,C,D,E,F;

· Специальныесимволы:+,-,*,/,=,<,>,[],:,@,{},$,#,Ù;

· Комбинациисимволов:<>,<=,>=,:=,..,(**),(..)

 

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

Дляобозначениятиповданных,констант,процедур,функцийслужатстандартныеидентификаторы:integer,Sin,Cos,Ln,Sgr,Sgrt,Read,Readln,Write,Writeln.

ВэтомпримерестандартныйидентификаторSinвызываетфункцию,вычисляющуюсинусзаданногоугла,Read,Readlnвызываетпроцедуру,организующуювводданных,Write,Writelnвызываетпроцедуру,организующуювыводданных.

 

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

· Пробел;

· Любойуправляющийсимвол(кодыот0до31),включаясимволвозвратакаретки(код13);

· Комментарий.Комментариизаключаютсявскобки{},либовскобкивида(**)имогутзаниматьлюбоечислострок.

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

+     плюс              

,      запятая                      

.      точка

-минус           

*умножить   

/      деление

div  делениецелыхчисел            

mod остатокотделенияцелыхчисел

 

Комбинацииспециальныхсимволовмогутобразовыватьсоставныесимволы:

:=   присваивание                                  

<=  меньшеилиравно

<>  неравно                    

>=  большеилиравно

..         диапазонзначений

(..)  альтернатива[]

(**) альтернатива{}

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

 

II. ТипыданныхвTURBOPASCAL

Любаяпрограммаобрабатываеткакие-либоданные.Впрактикевстречаютсяразличныетипыданных:целыеидробныечисла,символы,строки,массивы,множестваит.д.

Типданных–этомножествозначений,которыеможетприниматьпеременная,исовокупностьдействий,которыеможновыполнятьсэтимизначениями.

Дляописаниякаждоготипаданныхсуществуетсвойстандартныйидентификатор:дляцелыхчисловыхданных–integer,длявещественных(дробных)-real,длясимвольных–char,длястроковых–stringит.д.

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

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

Пример:

125-целоедесятичноечисло

$1FF -шестнадцатеричноечисло

125,563-вещественноечисло

-12.9-отрицательноевещественноечисло

 

Вещественныедесятичныечиславформесплавающейточкойпредставленывэкспоненциальномвиде:mE+p,гдеm-мантисса(целоеилидробноечислосдесятичнойточкой),Eозначаетдесятьвстепени,p-порядок(целоечисло).

Пример:

5.18Е+02=5.18*102=518

10Е-03=10*10-3=0.01

Пользовательможетразрабатыватьсобственныетипыданныхидаватьимпроизвольныеимена.

 

III. Константыипеременные

Константы–этоданные,неизменяющиесвоегозначениядозавершенияработыпрограммы,описываютсязарезервированнымсловомCONST,закоторымидетсписокименконстант,икаждойконстантеспомощьюсимвола«=»присваиваетсяконкретноезначение:

Пример:

CONSTPI=3.14;

E=2.71;

R=’МИР’;

 

Переменные–этоданные,которыемогутменятьсвоезначениевпроцессевыполненияпрограммы.ДляихописанияиспользуетсязарезервированноесловоVAR,закоторымследуютименапеременныхичерездвоеточиеихтип.

Пример:

VARA,B:integer;{AиB–целыепеременные}

C:real;{C–вещественнаяпеременная}

 

IV. Программы

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

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

ПоопределениюстандартногоPascalпрограммасостоитиз:

· заголовкапрограммы

· телапрограммы(блока),закоторымследуетточка–признакконцапрограммы.

Всвоюочередь,блок(телопрограммы)содержит:

· разделописаний;

· разделоператоров.

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

Разделописанийвключаетследующиеподразделы:

· разделописанияметок;

· разделописанийконстант;

· разделописаниятипов;

· разделописанияпеременных;

· разделописанияподпрограмм.

ВязыкеTurboPascalдолжныбытьописанывсепеременные,типы,константы,которыебудутиспользоватьсяпрограммой.БолееподробноструктурупрограммынаязыкеTurboPascalможнопредставитьследующимобразом:

Program<имяпрограммы>;

Label<разделметок>;

Const<разделконстант>;

Type<разделтипов>;

Var<разделпеременных>;

Procedure(Function)<разделподпрограмм>;

Begin

<разделоператоров>

End.

 

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

ВTurboPascal,вотличиеотстандарта,возможноследующее:

· отсутствиезаголовкапрограммы;

· разделыConst,Type,Var,Labelмогутследоватьдругзадругомвлюбомпорядкеивстречатьсявразделеописанийсколькоугоднораз.

Телопрограммыначинаетсясословаbegin,затемследуютоператорыязыкаPascal,реализующиеалгоритмрешаемойзадачи.ОператорывязыкеPascalотделяютсядруготдругаточкойсзапятойимогутрасполагатьсяводнустрочкуилиначинатьсясновойстроки.Назначениесимвола«;»-отделениеоператоровдруготдруга.Телопрограммызаканчиваетсяслужебнымсловомend.

 

 

Контрольныевопросы:

1. Длячегоиспользуетсяуказаниятипаданныхвеличины?

2. КакописываютсятипвеличинывязыкеПаскаль?

3. Чемотличаютсявещественныечислаотцелых?

4. Какиечислапредставленывформесплавающейточкой:

5. 165,10.3Е+02,1234.678,3789,5.7Е+0.2,63.9Е-04

6. ИзкакихразделовсостоитпрограмманаязыкеПаскаль?

7. Скакогослованачинаетсяисполнительныйблокпрограммы?

8. Какимсимволомдолжназаканчиватьсяпрограмма?

9. Чемотличаютсяпеременныеотконстант?


ПРАКТИЧЕСКАЯРАБОТА№1

«СозданиеконсольногоприложениявDelphi.

Линейныепрограммы»

Цельработы.ОвладетьнавыкамиработысконсольнымприложениемвинтегрированнойсредеразработкиПОDelphiXE2:уметьсоздаватьконсольноеприложение,запускатьпрограммунавыполнение,просматриватьрезультатыпрограммывокнепользователя.Овладетьтехникойсоставленияпрограммы,компиляциипрограммыизаписиеёнадискподзаданнымименем.

Задание.ЗапуститьинтегрированнуюсредуразработкиПОEmbarcaderoDelphiXE6.Создатьконсольноеприложение.Составитьпрограммы,используяпредложенныезадания,отладитьихисохранить.

Требованиякотчету.Итогипрактическойработыпредставитьввидеотчета,содержащего:

- Темузанятия;

- Цельзанятия;

- Новыйтеоретическийматериал;

- Решенныезадачи2уровня(все)и3уровня(однузадачунавыборпреподавателя)вследующемвиде:входныеивыходныеданные,блок-схемаалгоритма,текстпрограммы(скомментариями),таблицастестовымиданнымииклассамивходных/выходныхданных.

Технологияработы

1.Ознакомьтесьстеоретическимматериалом,необходимымдлявыполненияработы:

Консольнымназываетсяприложение,имитирующееработувтекстовомрежиме.Пользовательработаетспрограммойпрактическитакже,каквсредеDOS.ПризапускеконсольногоприложенияWindowsвыделяетокнокакдляDOS-программы,взаголовкеокнаотображаетсяназваниеисполняемогофайла.Ввод/выводданныхосуществляетсяспомощьюпроцедурread,readln,writeиwriteln.Кконсольномуприложениюавтоматическиподключаютсяфайлыinputиoutput.Несмотрянато,чтопользовательработаетсконсольнымприложениемтакже,каксDOS-программой,оноявляетсяприложениемWindowsинеработаетподDOS.

Достоинствоконсольныхприложений–относительнаяпростотаиспользованияилёгкостьпереносапрограмм,написанныхнаязыкеPascal,всистемупрограммированияDelphi.Крометого,исполняемыйехе-файлконсольнойпрограммынамногоменьшепоразмеру(десяткикилобайт)посравнениюсисполняемымфайломDelphi-вариантатакойжепрограммы(сотникилобайт).

ПрощевсегосоздатьконсольноеприложениечерезFile|New|OtherнастраницеNewимеетсяобъектConsoleАpplication,представляющийсобойConsoleWizard–Мастерконсольногоприложения.Есливыбратьэтотобъект,тобудетсозданновыйпроект,состоящийизодногофайласрасширениемdpr.Этотфайлиявляетсяконсольнойпрограммой.

 

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

Перваястрочкаявляетсязаголовкомпрограммы,состоитизключевогословаprogramисгенерированногоназванияProject2.

Строка{$APPTYPECONSOLE}являетсядирективойкомпилятораиговорит,чтопрограммаявляетсяконсольнымприложением.ДалееподключаетсястандартныймодульSysUtils.

Некоторыестрокипрограммынампоканенужны.Выделитеиудалитеихтак,чтобыполучилсякод,какнарисунке.

Теперьвыведемнадпись"Hello,World!":

 

programProject2;

{$APPTYPECONSOLE}

Begin

WriteLn('Hello,World!');

end.

ЗапустивпрограммуклавишейF9мынамгновениеувидимконсоль,однако,онасразужеисчезнет.Программывыполнитвыводвконсольизавершитработу,аснейиисчезнетконсоль.

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

 

programProject2;

{$APPTYPECONSOLE}

Begin

WriteLn('Hello,World!');

ReadLn;

end.


 

ПРАКТИЧЕСКАЯРАБОТА№2

«Составлениелинейныхпрограммсиспользованиемосновныхоператоров»

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

Задачиработы.Научитьсяиспользоватьоператорыприсваивания,ввода-вывода,составнойоператор,условныйоператориоператорварианта.

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

Требованиякотчету.Итогипрактическойработыпредставитьввидеотчета,содержащего:

- Темузанятия;

- Цельзанятия;

- Новыйтеоретическийматериал;

- Решенныезадачи2уровня(все)и3уровня(однузадачунавыборпреподавателя)вследующемвиде:входныеивыходныеданные,блок-схемаалгоритма,текстпрограммы(скомментариями),таблицастестовымиданнымииклассамивходных/выходныхданных.

 

Технологияработы

1.Ознакомьтесьстеоретическимматериалом,необходимымдлявыполненияработы:

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

Операторприсваивания

Операторприсваиванияпредназначендляприсваиванияпеременнойзначениявыражения.Операторобозначаетсясимволом«:=»,влевойчастиуказываетсяимяпеременной,вправой–вычисляемоевыражение.Выражениеможетсоставлятьчисло,знакиарифметическихдействий,круглыескобки,переменныеиконстанты,процедурыифункции,допускаемоевложениедругвдруга.Обязательноеусловие-совместностьтиповданных.

Операторыввода-вывода

ВводинформациисклавиатурыосуществляетсяспомощьюоператораRead.Онможетиметьодинизследующихформатов:

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

где<списокввода>–этопоследовательностьименпеременных,разделенныхзапятыми;или

            ReadLn(<списокввода>);     

ОператорReadобеспечиваетвводданныхразныхтиповсклавиатуры.Вскобкахуказываютсяименапеременных,которымприсвоятсявведенныезначения.Привводенесколькихзначенийспомощьюодногооператораониразделяютсясимволом<пробел>.ОператорReadLnаналогиченпредыдущему,отличиезаключаетсявтом,чтопривыполненииодногооператораReadLnкурсорнаэкранемониторапереходитнановуюстроку.

Аналогичносуществуетдвеформыоператоравывода.Операторвыводанаэкран(обращениекстандартнойпроцедуревывода)имеетследующийформат:

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

     WriteLn(<списоквывода>);

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

Привыводеданныхвещественноготипа(типReal)можнозадаватьформатвывода.Write(x:m:n:),гдех-выводимаяданнаявещественноготипа(константа,переменная,выражение);m-общееполевыводимогочисла(включаязнакчисла,целуючасть,точкуидробнуючасть);n-поледробнойзаписи.Вкачествеmиnмогутбытьцелыеконстанты,переменные,выражения.Например:Writeln(a:5:2);-привыводезначенияпеременнойвещественноготипаотводится5позиций(включаяотрицательныйзнакиточку),изних2позицииотводитсядлявыводацифрвдробнойчасти.

2.Выполнитеследующиеупражнения:

Заданияуровня1

Упражнение1.Создатьпрограмму,вычисляющуюсуммудвухчиселaиb.Значенияaиbвестисклавиатуры.

1. Наберитетекстпрограммы:

2. Запуститепрограммунавыполнениеипроверьтееёработу:F9

3. СохранитепрограммувпапкеStudent.

 

 

Упражнение2.Закреплениенавыковнабораиредактированиятекста.

1. Отредактируйтетекстпрограммы,добавиввыводсреднегоарифметическогоэтихчисел.

2. Запуститепрограммунавыполнениеипроверьтееёработу:F9

3. СохранитепрограммувпапкеStudent.

 

Упражнение3.Вычислитьсуммуцифртрехзначногочисла.

1.Наберитетекстпрограммы:

2.Запуститепрограммунавыполнениеипроверьтееёработу:F9

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

4. СохранитепрограммувпапкеStudent.

 

3.Выполнитьсамостоятельно:

Заданияуровня2

1.ВычислитьдлинуотрезкаАВ,знаякоординатыточекA(х1,у1)иB(х2,у2)(координатывводятсясклавиатуры).

2.Составитьпрограмму,котораяопределяет,скольковременивминутахзатратитшкольникнадорогуизшколыдостадиона,еслиизвестнадлинаэтогорасстоянияSкмисредняяскоростьдвиженияшкольникаvкм/ч?

3.РасстояниеотпунктаАдопунктаБравноSкм.Напроезд1кммотоциклисттратитХл.горючего,стоимостькоторогоМруб.за1л.Каковастоимостьпроездаэтогорасстояния?Вывестирезультатврубляхикопейках.ЗначенияS,M,Xвводятсясклавиатуры.

 

4.Окончаниеработы:

1. Сохранитьсозданныепрограммы.

2. Написатьотчетпопрактическойработе.

3. Показатьработупреподавателю.

 

Контрольныевопросы:

1. Какработаетоператорприсваивания?

2. Приведитесинтаксисоператораприсваивания.

3. Чтотакоевводданных?

4. Чтотакоевыводданных?

5. Перечислитеформыоператороввводаданных.

6. Перечислитеформыоператороввыводаданных.


 

ПРАКТИЧЕСКАЯРАБОТА№3

Составлениепрограммсиспользованиемусловногооператораиоператораварианта

 

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

ЗадачиработыНаучитьсяиспользоватьсоставнойоператор,условныйоператориоператорварианта.

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

Требованиякотчету.Итогипрактическойработыпредставитьввидеотчета,содержащего:

- Темузанятия;

- Цельзанятия;

- Новыйтеоретическийматериал;

- Решенныезадачи2уровня(все)и3уровня(однузадачунавыборпреподавателя)вследующемвиде:входныеивыходныеданные,блок-схемаалгоритма,текстпрограммы(скомментариями),таблицастестовымиданнымииклассамивходных/выходныхданных.

Технологияработы

1.Ознакомьтесьстеоретическимматериалом,необходимымдлявыполненияработы:

Составнойоператор

Составнойоператор–группаоператоров,отделенныхдруготдругаточкойсзапятой,начинающихсясослужебногословаbeginизаканчивающихсяслужебнымсловомend.

Begin

оператор_1;

Оператор_n

End;

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

Условныйоператор

ДлязаданиявыборатогоилииногодействиявзависимостиотусловиявязыкеPascalпредназначенусловныйоператор:

          if<условие>then<оператор1>

          else<оператор2>;

Вкачествеусловияиспользуетсязначениелогическоговыражения,вкачествеоператоров–любойпростойилисоставнойоператор,втомчислеисамусловныйоператор.Еслизначениелогическоговыражения–true,товыполняется<оператор1>,еслиfalse,товыполняется<оператор2>.

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


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

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






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