Составлениепрограммсиспользованиемусловногооператораиоператораварианта
ВВЕДЕНИЕВЯЗЫК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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!