Смекни!
smekni.com

Контрольные по информатике

1.ВТурбо-Паскале7.0сущес­твуеттип данныхSTRING(строка), специальнопредназначенныйдля обработкистрок (цепочексимволов). Онне относитсяк простым типамданных и занимаетпромежуточноеместо междупростыми иструктурированнымитипами данных.

ПеременнаятипаSTRINGсостоит изцепочки символов,т.е. элементовтипаCHAR.Строки могутвыводитьсяна экран мониторапосредствомстандартныхпроцедурWriteиWriteLnи вводится спомощью стандартнойпроцедурыReadLnилиRead.В большин­ствеслучаев переменныетипаSTRINGиспользуютсядля храненияслов и сообщений,состоящих изнесколькихсимволов.

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

VAR

Character_string_l:STRING;

Character_string_2:STRING[20];

Character_string_3:STRING[255];

ПеременнаятипаSTRINGобъявляется,как правило,путем указанияимени переменной,зарезервированногословаSTRINGи указания (вквадратныхскобках) максимальногоразмера (длины)строки, котораяможет хранитьсяв этой переменной.Если макси­мальныйразмер строкине указан, тоон автоматическипринимаетсяравным255 —максимальновозможная длинастроки.

ВТУРБО-ПАСКАЛ существуютдва пути обработкипеременныхтипа STRING.Первый путьпредполагаетобработку всейстроки какединого целого,т.е. единогообъекта. Второйпуть рассматриваетстроку каксоставнойобъект, состоящийиз отдельныхсимволов, т.е.элементов типаCHAR,которые приобработкедоступны каждыйв отдельности.Так, первыйпуть предоставляетвозмож­ностьприсвоениястрочной переменнойза одну операциюзначения целойстроки символов:

Character_string_l:='Это—строка!';

Присваиваемоезначение строки,так же как иотдельныйсимвол типаCHAR,заключаетсяв апострофы.Если апострофыопущены, токомпиляторрассматриваетприведенныйфрагмент текстакак числовуювеличину иликак идентификатор.

ТурбоПаскаль позволяетвыполнятьоперации объединения(сцепления)несколькихстрок в процессеих присваиваниякакой-либопеременной:

Character_string_l:='Это'+'—'+'строка '+'!';

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

Второйподход обеспечиваетдоступ к отдельнымсимволам строкипо номеру ихпозиции:

Character_string_l[1]:='А';

{Занестив качествепервого символастроки 'А'}Character_string_l[5]:=#49;

{Занестив качествепятого символастроки 'Г'

(ASCII-код'Г'соответствуетчислу49)

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

ТУРБО-ПАСКАЛ предоставляетв распоряжениепользователяцелый ряд функцийи процедур,предназначенныхдля обработкистрок.

ПроцедураSTR(x[:w[:d]],st)- преобразуетчисло x(типа realилиinteger)в строку символовst;при этом wзадает общуюширину поля,выделеннуюпод соответствующеесимвольноепредставлениечисла x,а d-количествосимволов дробнойчасти.

ПроцедураVal(str,x,rez)-преобразуетстроку символовstво внутреннеепредставлениецелого иливещественногочисла; параметрrezсодержитнуль, еслипреобразованиепрошло успешно,в противномслучае он содержитномер позициив строке st,где обнаруженошибочныйсимвол.

Примеры:

x:=12.125;

str(x:4:1,s);

writeln(s);

{наэкран будетвыведено 12.1}

val(s,x,rez);

writeln(x:5:2);

{наэкран будетвыведено 12.10}

...

s:=’34w5’;

val(s,x,rez);

writeln(rez);

{наэкран будетвыведен номерсимвола в строке,который неявляется цифрой,т.е. 3}.

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

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

Пример:

{даннаяпроцедурапроверяетналичие символовлатинскогоалфавита}

functionchek (st:string);

vari:integer;

begin

chek:=true;

fori:=1 to length (st) do

ifst[i]=’A’..’Z’ then chek:=false;

end;

...

{даннаячасть программыпоказывает«безопасныйввод» слов нарусском языке}

repeat

write(‘Введитеслово на русскомязыке ’);

readln(st);

untilchek(st);


Мурманскийкооперативныйтехникум ОПС


РЕФЕРАТ

поинформатике

натему: «Оболочкаоперационнойсистемы NC».


Выполнила:студенткагруппы ЗТП-3

ЕлисеевойЯны Леонидовны


г. Мурманск,2000 г.


NORTONCOMMANDER являетсятипичным примером«программы-оболочки»,т.е. надстройкинадDOS.Программы-оболочкипозволяютпросто и наглядновыполнятьбольшинствочасто необходимыхдействий:просматриватьфайлы и каталоги,копироватьи переименовыватьфайлы и т.д. Крометого послезапуска программы-оболочкипользовательпо-прежнемуможет вводитьлюбые командыи выполнятьпрограммы, т.е.он сохраняетвсе возможности,предоставляемыеDOS.

NORTONCOMMANDERпозволяет:

наглядноотображатьсодержаниекаталогов надисках;

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

удобнокопировать,переименовывать,пересылатьи удалять файлы;

просматриватьтекстовыефайлы, сделанныес помощью различныхредакторовтекстов(MS WORD, MS WORKS, WINDOWS WRITE, XYWRITEи WORDPERTECT),таблицы табличныхпроцессоров(LO­TUS1-2-3иSYMPHONY)и графическиефайлы в форматеPAINTBRUSH(.PCX);

редактироватьтекстовыефайлы;

выполнятьлюбые командыDOS;

изменятьатрибуты файлов;

с помощьюодного нажатияклавиши выполнятьстандартныедействия длякаждого типафайлов;

и многоедругое.

Дляработы программыNORTON COMMANDER требуется190Кбайт на дискеи210Кбайт свободнойоперативнойпамяти.

ЗаписьNORTON COMMANDERосуществляетсянабором в команднойстроке:

NC

ПослезапускаNORTON COMMANDERв верхней частиэкрана появляютсядва прямоугольныхокна, ограниченныедвойной рамкой(далее эти окнабудут называтьсяпанелями).Нижеэтих панелейрасполагаетсяобычное приглашениеDOS.Еще ниже располагаетсястрока, напоминающаязначенияфункциональныхклавишNORTON COMMANDER.

Длявыхода изNORTON COMMANDERнадо нажатьклавишу«F10».В центре экранапоявится запросна подтверждениетого, что выхотите выйтиизNORTON COMMANDER.

Чтобывыйти, нажмитеENTERилиY.Чтобы отменитьвыход, нажмитеESCилиN.

Дляполученияпомощи по работесNORTON COM­MANDERследует нажатьклавишу«F1».Если вы находитесьв режиме просмотраили редактированияфайлов, то наэкран будетвыведена справкао назначенииклавиш. В другихслучаях наэкран выводитсяподсказка отекущем режимеработы, выделенномпункте меню,клавишах управленияиспользуемойпрограммойпросмотрафайлов и т. д.Например, еслиВы нажметеклавишу«F5»(копированиефайлов), а затем«F1»,то на экранбудет выведенасправка о копированиифайлов.

Еслисправка непомещаетсяна одном экране,то ее можно«перелистывать»с помощью клавишуправлениякурсором. HOME,END, PgUp, PgDn.Для выхода изрежима помощиследует нажатьклавишуESC.

В нижнейчасти экранапомощи располагаютсянадписи [NEXT],[PREVIOUS], [INDEX]и[CANCEL].По ним можноперемещатьсяс помощью клавишуправлениякурсором влево,вправо. Выделивнужную надпись,следует нажатьENTER.Надписи имеютследующиезначения:

NEXT-перейти к следующемуэкрану помощи;

PREVIOUS-перейти к предыдущемуэкрану помощи;

INDEX-вывести оглавлениесправочнойинформацииNORTONCOMMANDER;

CANCEL-выйти из режимапомощи (то же,что при нажатииклавишиESC)

Можнотакже выбратьнужное действие,нажав клавишус его первойбуквой(N,P,I,или С).

Привыборе надписи[INDEX]на экран будетвыведено оглавлениесправочнойинформацииNORTON COM­MANDER.

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

Еслитребуетсяпросмотретьвыведенныена экран результатывыполнениякоманды (онимогут бытьзакрыты панелямиNORTON COMMANDER),нажмитеCTRL+0. ПовторноенажатиеCTRL+0восстановитьпанели на экране.

NORTONCOMMANDERхранит информациюо последних10-15введенныхкомандах. Чтобывывести в команднуюстроку предыдущуювыполненнуюкоманду, нажмитеCTRL-E,в команднуюстроку будетвыводитьсякоманда, котораянаходится вкоманднойстроке. Принажатии CTRL-Xв команднуюстроку выводитсякоманда, котораянаходится вкоманднойстроке. Послетого как в команднуюстроку былавведена подходящаякоманда, ееможно отредактироватьи затем нажатьклавишуENTERдля выполнения.

Можновывести однуиз ранее выполненныхкоманд в команднуюи таким способом:набрать несколькопервых буквэтой командыи нажатьCTRL ENTER.

Еслитребуетсявыполнить однуиз предыдущихвведенныхкоманд безвсяких изменений,можно нажатьALT F8, выделитьс помощью клавишперемещениякурсора вверхи вниз нужнуюкоманду и затемнажать клавишуENTERдля ее выполнения.

ДляуправленияпанелямиNORTON COMMANDER можноиспользоватьследующиекомбинацииклавиш:

CTRLО -убрать обепанели с экранаили вывестиианели на экран;

CTRLP -убрать однуиз панелей (нетекущую) с экранаили вывестипанель на экран;

CTRLU -поменять панелиместами;

CTRLF1-убрать левуюпанель с экранаили вывестилевую панельна экран;

CTRLF2-убрать правуюпанель с экранаили вывестиправую панельна экран;

ALTF1 -вывести в левойпанели оглавлениедругого диска.

ALTF2-вывести в правойпанели оглавлениедругого диска.

NORTONCOMMANDERможет выводитьинформациюоб оглавлениикаталога в двухформах: полнойи краткой. Приполной выдачиинформациисправа от каждогоимени файлавыводится егоразмер в байтах,дата и времясоздания илипоследнеймодификациифайла. Справаот имени каждогоподкаталогаизображается.Самую верхнююстроку в оглавлениизанимает ссылкана родительскийкаталог (разумеется,для корневогокаталога дискаэта строкаотсутствует).В поле именидля родительскогокаталога изображается«..»,справа от неговыводится. Прикраткой формевыдачи информациивыводитсятолько имяфайла, но затов панели помещаетсябольше именфайлов. Именафайлов можноотличить отимен подкаталоговпо тому, чтоимена файловвыводятсястрочнымибуквами, а именаподкаталогов-прописными.

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

F9LВ-краткая формаоглавленияна левой панели;

F9RВ-краткая формаоглавленияна правой панели;

F9L F-полная формаоглавленияна левой панели;

F9R F-полная формаоглавленияна правой панели.

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

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

алфавитныйпорядок имен.Имена файлови подкаталоговвыводятся валфавитномпорядке, причемсначала выводитсяинформацияо подкаталогах,а затем о файлах;

алфавитныйпорядок расширений.Имена файловподкаталоговвыводятся так,что расширениеимен файлови подкаталоговоказываютсяв алфавитномпорядке, причемсначала выводитсяинформацияо подкаталогах,а затем о файлах;

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

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

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

Длятого чтобыизменить порядоквывода информациио файлах и каталогахв панелиNORTON COMMANDER, необходимо:

нажатьклавишу«F9»;

нажатьLдля измененияпорядка выводаинформациио файлах и каталогахна левой панелиилиR -на правой панели;

нажатьодну из следующихклавиш:

N-(NAME) -сортировкапо имени;

Е-(EXTENSION) -сортировкапо расширению;

Т-(TIME) -сортировкапо времени;

S-(SIZE) -сортировкапо размеру;

U-(UNSORTED)-несортированноеоглавлениекаталога-В панелиNORTON COMMANDERможно вывестисвободнуюинформациюо диске и каталогена другой панели.Наверху такойинформационнойпанели выводитсястрока «INFO».В панели изображаютсяследующиесведения:

емкостьоперативнойпамяти компьютерав байтах (...BYTESMEMORY);

количествосвободнойоперативнойпамяти в байтах(... BYTESFREE);

емкостьтекущего дискав байтах(...BYTES ON DRIVE)

количествосвободное местатекущем диске(...BYTES FREE ON DRIVE...);

количествофайлов в каталоге,выведенномна другой панелиNORTON COMMANDER,и их общий размерв байтах(...FILES USE...BYTESIN).

Еслина другой панеливыводитсядерево каталоговна диске илиинформационнаяпанель, то этисведения неприводятся.

Длятого, чтобывывести наэкран информационнуюпанель, надонажать комбинациюклавишейCTRL L.При этом тапанель, котораяне являетсятекущей, станетинфор­мационной-Чтобы в этойпанели сталоснова изображатьсяоглавлениекаталога, надоопять нажатьCTRL L.

Внижней строкеэкранаNORTON COMMANDER выводитсянапоминаниео значениифункциональныхклавиш.

Приведемкраткое описаниеих назначения.

F1-HELP -краткая информацияо назначенииклавиш приработе сNORTON COMMANDER;

F2-MENU-запуск команд,указанных всписке, заданномпользователем(пользовательскомменю, см. ниже);

F3-VIEW -просмотр файла.

Можнопросматриватьтекстовыефайлы, документы,сделанные спомощью текстовыхредакторовтексты, базыданных и таблицытабличныхпроцессоров,например, файлыMICROSOFTWORD, DBASEиLOTUS1-2-3;

F4-EDIT-редактированиефайла. Дляредактированияможет бытьиспользованвстроенныйредакторNORTON COMMANDERили любой другойредактор, указанныйпользователем;

F5-COPY -копированиефайла. В серединеэкрана появляетсязапросотом,куда копироватьфайл. По умолчаниюфайл копируетсяв каталог,изображенныйна другой панели.Можно набратьи другое имякаталога. Затемдля копированиянадо нажатьENTER,для отменыкоманды-ESC;

F6-RENMOV-переименованиефайла (каталога)или имя каталога,в который надопереслатьданный файл.Для началапереименованияили пересылкинадо нажатьENTER, дляотмены команды- ESC;

F7-MKDIR-создание подкаталога;

F8-DELETE -уничтожениефайла илиподкаталога;

F9-PULLDN-выводится меню,содержащеережимы работыNORTON COMMANDER

F10-QUIT-вывод изNORTON COMMANDER.

Еслинажать клавишуALT,то последняястрока экранаизменится. Вней будет выводитьсяподсказка означении комбинацийклавишALT F1-ALT F10.

Нижекратко описаноназначениекомбинацийклавиш ALTF1 -ALTF10:

ALTF1 -выбор диска,изображаемогона левой панели;

ALTF2-выбор диска,изображаемогона правой панели;

ALTF3-VIEW -просмотр текстовогофайла. Этотрежим вызываетсябыстрее, нопозволяетпросматриватьтолько текстовыефайлы и не имеетнекоторыхвозможностей,доступных припросмотре спомощью нажатияклавишиF3;

ALTF4-EDIT -редактированиефайла с помощьюальтернативногоредактора

ALTF7-FIND -поиск файлана диске

ALTF8-HISTORY -просмотр иповторноевыполнениеранее введенныхкоманд;

ALTF9 -EGA LN-переключениес25на43(для монитораEGA)или50(для монитораVGA)строк на экранеи наоборот;

ALTF10 -быстрый переходв другой каталог.

Копированиефайлов.

Длякопированияфайлов с помощьюNORTON COM­MANDERнадо выделитьнужный файлили выбратьгруппу файлови нажать клавишуF5.

Перезаписьфайла прикопировании.Если имя файла,который надосоздать прикопировании,уже имеетсяв том каталоге,в которыйпроизводитсякопирование,то на экранбудет выданосообщение.

Вответ на этосообщение Выможете с помощьюклавиш влево,вправо выбратьодин из ответови нажатьENTER. Ответымогут бытьтакими:

OVERWRITE-разрешитькопирование.Существовавшийфайл с тем жеименем будетуничтожен. Есликопируетсяболее одногофайла, то операциябудет продолженаи при повторенииситуации наэкран опятьбудет выданотакое же сообщение;

SKIP-не разрешитькопированиеэтого файла.Если копируетсяболее одногофайла, то операциякопированиябудет продолженаи при повторенииситуации наэкран опятьбудет выданотакое же сообщение;

ALL-разрешитькопированиеэтого и всехпоследующихфайлов бездальнейшихзапросов.

Можнотакже нажатьклавишуESCдля прекращенияпроцесса копирования.

Переименованиеи пересылкафайлов.

Дляпереименованияили пересылкив другой каталогфайлов с помощьюNORTON COMMANDERнадо выделитьпереименовываемыйили пересылаемыйфайл или выбратьгруппу файлови нажать клавишуF6.При этомNORTON COMMANDERбудет переименовыватьили пересылатьв другой каталогследующиефайлы:

еслина панели выбраныкакие-либофайлы (ониизображаютсяжелтым цветомна цветномдисплее и повышеннойяркостью намонохромномдисплее)-то переименовываетсяили пересылаетсяв другой каталогвыбраннаягруппа файлов;

впротивномслучае-переименовываетсяили пересылаетсяв другой каталогтекущий (выделенныйкурсором) файл.

Пересылкафайлов осуществляетсяследующимобразом:

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

еслифайл пересылаетсяна другой диск,то он простокопируетсятуда, и послеуспешногоокончаниякопированияисходный файлуничтожается.

Дляудаления файловс помощьюNORTON COM­MANDERнадо выделитьнужный (Ьайлили выбратьгруппу файлови затем нажатьклавишуF8.

NORTONCOMMANDERпозволяетвывести напанель деревокаталогов надиске. При этомможно с помощьюклавиш управлениякурсором перемещатьсяпо дереву каталогов,просматриваяв другой панелисодержимоевыделенногокаталога. Спомощью клавиш+и-(плюс и минусна правой частиклавиатуры)можно перемещатьсяк следующемуи предыдущемукаталогу тойже степенивложенности.

Длятого чтобывывести напанельNORTON COM­MANDERдерево каталоговна диске, следует:

нажатьклавишуF9;

нажатьLдля левой панелиилиRдля правойпанели;

нажатьклавишу Т. '

Длявозврата врежим выводаинформациио файлах в панелиследует:

нажатьклавишуF9;

нажатьLдля левой панелиилиR -для правойпанели;

нажатьFдля выводаполной информациио файлах илиВ для выводакраткой информациио файлах.

Быстрыйпоиск каталога.Для того чтобыбыстро выделитькаталог в панелис деревом каталоговна диске, следуетнажать клавишуALTи, не отпускаяее, набратьпервые буквыимени каталога.NORTON COMMANDERвыделит каталог,как только Вывведете достаточноеколичествобукв его имени.Чтобы выделитьследующийкаталог, имякоторого начинаетсяс тех же букв,нажмитеCTRL ENTER.Если хотитевыйти из режимабыстрого поискакаталога, нажмитеESC.

Длятого чтобы впанелиNORTON COMMANDER вывестиоглавлениедругого диска,следует нажатьALT F1-длялевой панели,ALT F2-для правойпанели. На экранбудет выведенсписок доступныхдисков.

NORTONCOMMANDERпозволяетбыстро сравнитьоглавлениякаталогов,изображенныхна его панелях.Для этого следуетнажатьF9С С, т.е. выбратьпункты меню«COMMANDS»,«COMPARE DIRECTORIES».

ПослеэтогоNORTON COMMANDERотмечает вкаждой из панелейследующие файлы(они будутизображатьсяжелтым цветомна цветномдисплее и повышеннойяркостью намонохромномдисплее):

файлы,которые отсутствуютв каталоге,изображенномна другой панели;

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

Чтобысделать каталогиодинаковыми,можно сравнитьих с помощьюNORTON COMMANDER,а затем нажатьF5 иENTERна каждой изпанелей.

Работас меню.Для входа вменю следуетнажать клавишуF9.В верхней строкеэкрана появитсястрока, содержащаяпункты меню.

«LEFT»

BRIEF-в панели изображаетсякраткая информацияо файлах;

FULL-в панели изображаетсяполная информацияо файлах (выводитсяимя, размер,дата созданияили последнеймодификации);

INFO-в панели изображаетсясвободнаяинформацияо каталоге идиске на другойпанели;

TREE-в панели изображаетсядерево каталоговна диске;

QUICKVIEW -в панели изображаетсясодержимоефайла, указанногокурсором надругой панели;

LINK-устанавливаетсяили отменяетсярежим связимежду компьютерами;

ON/OFF-данная панельвыводится илине выводитсяна экран;

NAME-файлы выводятсяв алфавитномпорядке;

EXTENSION-файлы выводятсятак, что расширенияимен файловоказываютсяв алфавитномпорядке;

TIME-файлы выводятсяв порядке убываниядаты последнеймодификации:более новыефайлы выводятсяпервыми;

SIZE-файлы выводятсяв порядке убыванияих размера;

UNSORTED-файлы и каталогивыводятся втом порядке,в котором онизаписаны вкаталоге;

RE-READ-повторноечтение оглавлениякаталога;

FILTER-режим изображенияв панели невсех файловкаталога, атолько части;

DRIVE-переход надругой дисковод.

«FILES»

HELP-получениесправки («помощи»);

USERMENU -вывод менюкоманд пользователя;

VIEW-просмотр файла;

EDIT-редактированиефайла;

COPY-копированиефайла или группыфайлов;

RENMOV-переименованиефайла (файлов)или каталога,пересылка файла(файлов) в другойкаталог;

MKDIR-создание подкаталога;

DELETE-уничтожениефайла, группыфайлов иликаталога;

FILEATTRIBUTES -установкаатрибутовфайлов;

SENDFILES -пересылка файлаили группыфайлов с помощьюэлектроннойпосты;

SELECTGROUP-выделениегруппы файловпо маске (тоже, что клавиша+на правой частиклавиатуры);

UNSELECTGROUP -отмена выделениягруппы файловпо маске (тоже, что клавиша-на правой частиклавиатуры);

QUIT-выход изNORTON COMMANDER;

«COMMANDS»NCD TREE-вывод на экрандерева каталоговна диске длябыстрого переходав другой каталог(то же, что камандаALT F10);

FINDFILE-поиск файлана диске-ALT F7;

HISTORY-просмотр команд,введенных вкоманднойстрокеDOS.Клавишамиперемещениякурсора вверх,вниз можновыделить однуиз этих команд.Нажав клавишуENTER,можно затемвыполнитьзаданную команду.Такой просмотрможно сделатьтакже, нажавALT F8;

EGALINES-переключениев режим вывода43строк на экрани обратно, врежим-вывода25строк на экран.-ALT F8;

SWAPPANELS-панелиNORTON COMMANDER «меняютсяместами»-то, что былоизображенона одной панели,изображаетсяна другой.-CTRL U;

PANELSON/OFF-удаление панелейNORTON COM­MANDERс экрана иливосстановлениеих на экране-CTRL О;

COMPAREDIRECTORIES -сравнениекаталогов,изображенныхна панеляхNORTON COMMANDER.В каждом каталогевыделяютсяфайлы, отсутствующиев другом каталогеили имеющиев другом каталогеиной размерили более раннююдату последнегообновления;

SEND/RECEIVEMAIL - позволяетпереслать поэлектроннойпочте сообщения,указанные ввыходном каталогепочты и принятьсообщение вовходной каталогпочты;

COMMANDERMAIL - позволяетсоздать новыесообщения дляотправки поэлектроннойпочте и просмотретьсообщения,полученныес помощью электроннойпочты;

MENUFILE EDIT-редактированиесписка команд,выводимогопри нажатиипользователемклавишиF2;

EXTENSIONFILE EDIT-редактированиефайлаNC.EXT, задающегодействиеNORTON COMMANDERпри нажатиипользователемклавишиENTERв зависимостиот расширенияимени выделенногофайла.

«OPTIONS»

CONFIGURATION-установкаконфигурацииNORTON COMMANDER;

EDITOR-указание редактора,вызываемогопри нажатииклавишиF4;

AUTOMENU -после выполненияодной из командпользовательскогоменю на экранопять выводитсяпользовательскоеменю;

PATHPROMPT -когда этотрежим включен,то приглашениевнизу экранавключает информациюо текущем дискеи текущем каталоге,а если он выключен,то только отекущем диске;

KEYBAR -когда этотрежим включен,в последнейстроке экранавыводитсянапоминаниео значенияхфункциональныхклавиш.-CTRLВ;

FULLSCREEN -выводить панелиNORTON COM­MANDERразмером вполный экранили в половинуэкрана;

MINISTATUS -когда этотрежим включен,в нижней частикаждой панеливыводитсястрока с информациейо текущем файле;

CLOCK-выводить вправом верхнемуглу экранатекущее

время;

SAVESETUP -сохранитьустановленныережимы работыNORTONCOMMANDER.При следующемзапускеNORTON COMMANDERвсе его режимыбудуттакимиже, как в моментвыполнениякоманды«SAVE SETUP».-SHIFT F9.

ДляустановкипараметровконфигурацииNORTON COMMANDERследует выбратьпункты меню«OPTIONS», «CONFIGURATION»,т. е. нажать клавишиF9,О, С. NORTONCOMMANDERвыведется наэкран панельзапроса параметраконфигурации.


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

  1. Т. Б.Волобуева.Курс пользователяперсональногокомпьютера.М., 1995.

В.Фигурнов. IBMPCдля пользователя.М., 1997.




Мурманскийкооперативныйтехникум ОПС


РЕФЕРАТ

по информатике

на тему:«Операционнаясистема Windows95».


Выполнила:студенткагруппы ЗТП-3

ТурковаН.


г. Мурманск,2000 г.

План

  1. Объектно-ориентированныйподход.3

  2. От процедурногоподхода кобъектно-ориентированному.4

  3. Использованиестандарта Plug& Play.6

  4. 32-разряднаяОС защищенногорежима.7

  5. Работас памятью.8

  6. ОтличительныеособенностиWindows95.9

1. Объектно-ориентированныйподход.


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

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

Постепеннос увеличениемпроизводительностивычислительныхсистем процедурныйподход началзаменятьсяобъектным. Напер­вое местовыдвинулсяобъект, а некод, которыйего обрабатывает.На уровнепользователяобъектныйподход выражаетсяв том, что интерфейспредставляетсобой подобиереального мира,а работа с машинойсводится кдействиям спривычнымиобъектами. Так,пап­ки можнооткрыть, убратьв портфель,документы— просмотреть,исправить,переложитьс одного местана другое, выброситьв корзину, факсили письмо— отправитьадресату и т.д. Понятие объектаоказалосьнастолькошироким, чтодо сих пор неполучило строгогоопределения.

Объект,как и в реальноммире, обладаетразличнымисвойствами.Программистили пользовательможет изменятьне все свойстваобъектов, атолько некоторыеиз них. Можноизменить имяобъек­та, нонельзя изменитьобъем свободногоместа на диске,который такжеявляется егосвойством.Свойства первоготипа в языкахпро­граммированияносят названиеread/write (длячтения и записи),а свойствавторого—read only (толькодля чтения).

Метод— этоспособ воздействияна объект. Методыпозволяютсоздавать иудалять объекты,а также изменятьих свойства.Напри­мер, длятого чтобынарисоватьна экране точку,линию или плоскуюфигуру, составляютсяразные последовательностикодов или програм­мы.Пользователь,однако, применяетдля отображенияэтих объек­товодин методDraw(), которыйсодержит кодыдля отображениявсех объектов,с которыми онработает. Затакое удобствоприходитсяпла­тить тем,что объектно-ориентированныесистемы могутработать толькона достаточномощных вычислительныхустановках.


  1. Отпроцедурногоподхода кобъектно-ориентированному.


В начале90-х гг. процедурныйподход все ещепреобладает,однако намечаютсяи некоторыепризнакиобъектно-ориентированного.Например, ужевWindows 3+ можнопоставить всоответствиекон­кретномудокументуприложениедля его обработки.Тогда же поя­вилсяметод объектногосвязыванияи встраивания(OLE), позволя­ющийщелчком наизображенииобъекта неявнозапуститьприло­жение,которое егообрабатывает,а после окончанияобработкивернуться впредыдущееприложение.

СOLE тесносвязан такназываемыйметод редактированиядоку­ментов«на месте»(in-place). Еслив документвстроен объект,ко­торый долженобрабатыватьсяконкретнымприложением,то при щелчкена этом объектенужное приложениенеявным образомзапускается,причем в рабочемполе не изменяетсяничего, кромепанелей инструментов.Например, еслив тексте, которыйобрабатываетсяв редактореMicrosoft Word, естьтаблица, созданнаяс по­мощьюMicrosoft Excel, топри щелчке наней произойдетзамена панелейинструментовWord напанели инструментовExcel. Пользовательможет обрабатыватьдокумент совсемдругим приложе­нием,даже не подозреваяоб этом.

Еще одинмеханизм, которыйупростил работуи приблизилэру объ­ектно-ориентированногоподхода, называется«Drag & Drop»,что в буквальномпереводе означает«перетащить-и-оставить».Работая этимметодом, выщелкаете кнопкоймыши (как правило,левой) на изображенииобъекта, перемещаетеего по экранупри нажатойкнопке и отпускаетекнопку, когдауказательокажется внужном местеэкрана. Такимобразом, процедурыкопирования,перемеще­нияи удалениястали объектно-ориентированными.

Что делалпользователь,когда ему нужнобыло удалитьфайлы в опе­рационнойсистемеMS-DOS? Онзапускал процедуруудаления фай­лов,передавая ихимена в качествепараметров:

del FILE1.TXT FILE2.TXT

Это действиеничем не напоминаетреальный мир,в котором выпросто выбрасываетененужные бумагив мусорнуюкорзину. Напервом местедля вас стоитобъект (бумага),над которымвыполняетсяпроцедура(переноса вмусорную корзину).В операционныхоболочках,которые работаютпод управлениемWindows 3+, такоедействие ужереализованокак объектно-ориентированное— спо­мощью механизма«Drag & Drop».Например, воболочкеNorton Desktop можносхватить мышьюфайл и перенестиего на изобра­жениемусорной корзины.Этого достаточнодля удаленияфайла. Так работана персональномкомпьютеревсе большенапоминаетманипуляциис объектамив реальноммире.


  1. ИспользованиестандартаPlug & Play.


Подходк аппаратномуобеспечениютакже кардинальнымобразом изменился.Теперь системаиспользуетстандартPlug & Play(пере­водитсякак «включил-и-работай»,произноситсячаще всего как«плаг-н-плэй»),что облегчаети максимальноавтоматизируетпро­цесс добавленияновых периферийныхустройств.СтандартPlug & Play —это совместнаяразработкафирмIntel иMicrosoft. Основнаяего идея заключаетсяв том, что каждоеустройство,соответствующееэтому стандарту,сообщает о себеопределеннуюинформацию,благодарякоторой операционнаясистема выполняетавтоматичес­куюконфигурациюпериферийныхустройств иразрешаетаппарат­ныеконфликты.СтандартуPlug & Playдолжен в первуюочередь удовлетворятьBIOS материнскойплаты и, разумеется,периферий­ныеустройствам.


  1. 32-разряднаяОС защищенногорежима.


MS-DOSбыла чисто16-разряднойоперационнойсистемой ирабо­тала вреальном режимепроцессора.В версияхWindows3.1 частькода была16-разрядной,а часть—32-разрядной.Windows3.0 под­держивалареальный режимработы процессора,при разработкеверсии3.1 былорешено отказатьсяот его поддержки.Windows95 является32-разряднойоперационнойсистемой, котораяработает тольков защищенномрежиме процессора.Ядро, включающееуправлениепамятью идиспетчеризациюпроцессов,содержит только32-разрядныйкод. Это уменьшаетиздержки иускоряет работу.Только некоторыемодули имеют16-разрядныйкод для совместимостис режимомMS-DOS.

32-разрядныеустанавливаемыефайловые системы.Эта частьоперационнойсистемы сталагораздо болеепроизводи­тельной,чем аналогичныекомпонентыWindows 3+. Дляжестких дисковиспользуютсявиртуальныетаблицы распределенияфайлов (VFAT),а для компакт-дисков— новаяфайловая системаCDFS (CD-ROM File System).При этом именафайлов могутсодержать до255 знаков,включая пробелыи специальныесимволы (совместимостьсо старой файловойсистемой сохранена,хотя и несколькоискус­ственнымпутем.). Теперьв большинствеслучаев нетребуетсямодульMSCDEX.ЕХЕ, выполняв­шийпреобразованиефайловой системыстандартаISO-9660(ком­пакт-диска)к файловойсистемеMS-DOS.

Устанавливаемаяфайловая система,которая отображаетфайловую структуруудаленноймашины на сетевойдиск рабочейстанции, на­зываетсясетевым редиректором.Сетевые редиректорыдля прото­коловIPX/SPX иNetBEU такжеиспользуют32-разрядныйкод. ПротоколNetBEU применяетсяпри работеWindows3.1,a IPX/ SPX—длясвязи с машинами,на которыхустановленаWindows NT.


  1. Работас памятью.


Windows95 автоматическиосвобождаетвсю память,отведеннуюприложению,после того, каконо заканчиваетработу. ВWindows 3+некорректнонаписанныеприложениянередко освобождалине всю запрошеннуюими память.Время от временипамяти оказыва­лосьнастолько мало,что единственнымвыходом оставалсяпереза­пусксистемы (а иногдаи перезагрузкамашины). Такаянеприятностьносит название«утечка памяти»(«memory leak»)и случаетсяс про­граммнымипроизведениямидаже известнейшихфирм. При за­вершенииприложениявWindows95 всяпамять, занимаемаяим, освобождаетсяавтоматически,и таких проблемне возникает.

Разумеется,на свете небывает ничегобесплатного(кроме сыра вмышеловках).За удобстваобъектно-ориентированногоподхода ибыстродействиеприходитсяплатить огромнымразмером кодаопе­рационнойсистемы (оназанимает десяткимегабайт) ивременем, затраченнымпрограммистамина созданиеее компонентов.Кро­ме этого,для большинстваиспользуемыхприложенийдолжны бытьсозданы 32-разрядныеверсии. Толькотогда они вполной мересмо­гут использоватьпреимуществаWindows95.

Новаясистема оказаласьтакже весьмачувствительнойк аппарату­ре,на которой онаработает. Хочетсяверить, что этовременныетруд­ности,которые в дальнейшемудастся преодолеть.Проблемы вы­борааппаратныхсредств подробнорассмотреныв последнейгла­ве, а сейчасмы поговоримо совместимостиприложенийDOS и Windows3+ с новойоперационнойсистемой.


6. ОтличительныеособенностиWindows95.


Объектно-ориентированныйподход реализуетсячерез модельра­бочего стола.Windows95 обходитсябез привычноговWindows3+ диспетчерапрограмм(program manager).Пользовательработает сзадачами иприложениямитак же, как сдокументамина своем письменномстоле.

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

Итак, одноиз главныхотличийWindows95 отWindows 3+ (иот подавляющегобольшинствадругих операционныхсистем) состо­итв том, что основнойупор в ней делаетсяна документ,а програм­ма,задача, приложениеили программныйкод вообщерассматри­ваютсятолько какинструментдля работы сдокументом.

ДругаяпринципиальнаяособенностьWindows95 состоитв том, что она,в отличие отWindows 3+, является«настоящей»операци­оннойсистемой (а неоперационнойоболочкой,выполняемойпод управлениемMS-DOS). Подсловом «настоящая»мы подразумева­емто, что при включениимашины сразувыполняетсязагрузкаWin­dows95. Дляпользователяэто оборачиваетсянекоторыминеудоб­ствами.Он должен привыкнутьк тому, что преждечем выключитьмашину, нужнокорректнозавершитьработу сWindows95, пос­колькуновая операционнаясистема создаетбуфера в оперативнойпамяти, и ихсодержимоедолжно бытьсброшено надиск.

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

  1. А.В. Потапкин.Операционнаясистема Windows95. М., 1996.

  2. Г.В. Саенко.Курс пользователяПК. Донецк, 1997.

В.Фигурнов. IBMPC дляпользователя.М., 1998.




Задание 1.

(вариант Б)

1.Значениелогическоготипа обозначаютсявстроеннымиидентификаторамиконстант TRUE(истина) иFALSE (ложь).При внутреннемпредставленииони занимают1 байт памяти.Справедливоусловие: True>FALSE.

Логическиевыражения имеютзначения типаboolean,т.е. TRUEили FALSE.

Для операндовтипа booleanопределеныследующиелогическиеоперации:

NOT—логическоеНЕ;

AND—логическоеИ;

OR—логическоеИЛИ;

XOR—логическоеисключающееИЛИ.

Для операндовпростых типовданных и строкприменимыоперации отношения:=,,>=,,in.

Примеры логическихвыражений:

1 3 2

if (i>0)and (j0) then i:=2;

В данном примерепроверяетсядва условиялибо одновременноi положительнои jотрицательно,либо наоборот—i отрицательнои jположительно,при истинностиодного из этихусловий переменнойiприсваиваетсязначение 2.

1 2

If not athen b:=false;

Вданном примереесли переменнаяaимеет значениеfalseпеременнойbприсваиваетсязначение false.

1 2 3

Ifnot a or b then a:=b;

В данном примерепеременнойа присваиваетсязначение,содержащеесяв переменнойb,при условии,что а имеетзначение falseили btrue.


2. В языке Паскальввод-выводинформацииосуществляетсячерез файловыепеременные.

Перед тем, какосуществитьввод-вывод,файловая переменнаядолжна бытьсвязана с конкретнымвнешним файломс помощью процедуры ASSIGN.Этим файломможет быть файлна магнитномдиске, а такжеустройствовычислительногокомплекса.Затем файлдолжен бытьоткрыт длячтения и/илизаписи. Послеэтого можноосуществлятьорганизациюввода-вывода.

После работыс файлом он,как правило,должен бытьзакрыт с помощьюпроцедурыCLOSE.Это требованиеобязательнодолжно соблюдатьсядля файла, вкоторый производиласьзапись.

ПроцедураASSIGN(Var_file, Road): с помощьюэтой процедурывы связываетефайловую переменнуюVar_fileс некоторымименем файла,которое хранитсяв переменнойRoad.

Var

Var_file: file of integer;

Road: string[14];

...

Road:=’Data.dat’;

Assign (Var_file, Road);

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

ПроцедураReset:данная процедураоткрываетсуществующийфайл данных,имя которогоперед этим былосвязано припомощи процедурыAssignс некоторойфайловой переменной,указанной впроцедуре Resetкак параметр.

Assign(var_file, ‘Data.dat’);

Reset(Var_file);

Данная процедурасодержитнеобязательныйпараметр Sizeцелого типа,который используетсятолько с файламибез типа и задаетразмер пересылаемогоэлемента информациив байтах. Поумолчанию этотпараметр равен128. Файлтекстовоготипа может бытьоткрыт либодля чтенияпроцедуройReset,либо для записипроцедуройRewrite илиAppend.

ПроцедураRewrite:создает новыйфайл и открываетего для записиили чтения.Если файл стаким именемуже существует,его содержимоестирается, асам файл открываетсязаново.

Rewrite(Var_file);

открываетсуществующийфайл, связанныйс файловойпеременнойVar_file.

ПроцедураClose:закрывает ранееоткрытый файл,связанный суказаннойпеременнойв качествепараметрафайловой переменной.

Close(Var_file);

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

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

Assign(Var_file, ‘Data.dat’);

Rename(Var_file, ‘Text.dat’);

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

Assign(Var_file, ‘Data.dat’);

Erase(Var_file);

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

While not EOF(Var_file) do

read (Var_file, m[i]);

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

Функция IOResult:предназначенадля поискаошибок, возникающихпри работе сфайлами. Этафункция возвращаетрезультатпоследнейоперацииввода-вывода,если автоматическийконтроль заошибками,возникающимив процессеоперацийввода-вывода,отключен спомощью директивыкомпилятора{$I-}.При безошибочномвыполненииопераций ввода-выводаданная функциявозвращаетноль, если жеошибка имеламесто, то даннаяфункция возвращаеткод ошибки.

{$I-}

Reset (‘C:\data.dat’);

if IOResult0 then writeln (‘ Ошибкапри открытиифайла’);

{$I+}

Тип файл представляетсобой последовательностькомпонентодного типа,расположенныхна внешнемустройстве.Компонентымогут бытьлюбого типа,за исключениемтипа файл (илисодержащегокомпонентытипа файл) итипа объекта.Число компонентв файле необъявляется.

Для заданиятипа файл следуетиспользоватьзарезервированныеслова fileи of,после чегоуказать типкомпонентфайла.

Type

number= file of integer;

symb= file of ‘A’..’Z’;


Стандартныйтип Textопределяеттип файла, содержащийсимволы, объединенныев строки. Следуетиметь ввиду,что тип Textв Турбо-Паскалене эквивалентентину fileof char.

Введя файловыйтип, можно определятьпеременныефайлового типа:


Var

F1:number;

F2:Text;


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

Типфайл можноопределятьи непосредственнопри введениифайловых переменных.

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


Задание 2.

(вариант 7)

uses crt;

var x,z:real;

begin

clrscr;

write ('Введите x:');

readln (x);

z:=sqrt(abs(x*cos(x))+sin(x/2)*sqr(sin(x/2)));

clrscr;

writeln ('x=',x:5:2,' z=',z:5:2);

end.


Задание 3а.

(вариант 6)

uses crt;

var x:array[1..10] of integer;

y:array[1..10] of boolean;

z:real;

i:integer;

begin

clrscr;

for i:=1 to 10 do

begin

y[i]:=false;

x[i]:=random(100);

end;

for i:=1 to 10 do

if frac(x[i]/2)=0 then y[i]:=true;

for i:=1 to 10 do write (x[i]:4,';');

writeln;

for i:=1 to 10 do

if y[i]=true then write (i:4);


end.


Задание 4.

(вариант 7)

uses crt;

type traz=record

city:string[50];

dat:string[8];

tor:string[5];

dr:integer;

price:real;

end;

var f1:file of traz;

f2:text;

raz:traz;

n:char;

flag:boolean;

function chek(s:string):boolean;

var i:integer;

begin

chek:=true;

for i:=1 to 5 do

if not((s[i] in ['0'..'9']) or (s[i]=':')) then chek:=false;

end;

begin

clrscr;

assign (f1,'1.dat');

assign (f2,'1.txt');

rewrite (f1);

append (f2);

repeat

clrscr;

write ('Введите город:');

readln(raz.city);

write (' Введите датуразговора:');

readln(raz.dat);

write (' Введите времяразговора');

repeat

readln (raz.tor);

flag:=chek(raz.tor);

if flag=false then writeln ('Ошибка!!!Повторитеввод:');

until flag;

write(' Введитедлительностьразговора:');

readln (raz.dr);

write ('Введитестоимость:');

readln (raz.price);

write ('Продолжить?«*»-закончитьввод!');

readln (n);

write (f1,raz);

until n='*';

reset (f1);

while not eof(f1) do

begin

read (f1,raz);

ifraz.city='Санкт-Петербург'then write (f2,raz.dat:9,raz.tor:6,raz.dr:5,raz.price:6:2);

end;

close (f1);

close (f2);

end.

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

  1. А.М.Епанешников.Программированиев среде TurboPascal 7.0. М., 1997.

  2. Турбопаскаль 7.0. Киев,1996.

  3. В.В.Качала. Основыпрограммированияна языке Турбо-паскаль.Мурманск, 1994.


Задание1.

ВариантП.

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

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

repeat

operator1;

operator2;

operator3;

. . .

operatorN

untilS;

В этой структуре:

operator1..N -выполняемыеоператоры,составляющиетело цикла;

S- логическоевыражение,истинностькоторого проверяетсяв конце каждойитерации.

Так как слова repeatи untilявляютсясвоеобразнымиоператорнымискобками, точкус запятой передсловом until ставитьнеобязательно.

Оператор циклаWHILEорганизуетвыполнениеодного операторанеизвестноезаранее числораз. Выход изцикла осуществляется,если некотороелогическоевыражениеокажется ложным.Так как истинностьлогическоговыражениепроверяетсяв начале каждойитерации, телоцикла можетне выполнятьсяни разу. Структураданного операторацикла имеетвид:

while S do

operator;

В данной структуре:

S-логическоевыражение,истинностькоторого проверяетсяв начале каждойитерации;

operator- выполняемыоператор цикла.

Между конструкциямиREPEAT ...UNTIL иWHILE ... DO имеютсятри существенныхотличия.

  1. В конструкцииWHILE ... DOпроверкаусловия выходавыполняетсяв начале, а нев конце цикла,поэтому, еслиусловие неудовлетворяетсядо начала выполненияцикла, то телоцикла игнорируетсяи выполняетсяоператор, стоящийсразу же послеокончания телацикла.

  2. В конструкцииWHILE ... DOусловие выходаиз цикла удовлетворяется,если выражение,определяющееусловие выхода,ложно, а в конструкцииREPEAT ...UNTIL — если этовыражениеистинно.

  3. Между зарезервированнымисловами REPEAT и UNTILможет размещатьсянесколькоинструкций,в то время какконструкцияWHILE ... DOможет содержатьмаксимум однуинструкцию.


Примеры использованияоператоровцикла:

WHILE... DO

REPEAT... UNTIL

1) нахождениесуммы чиселот 1 до 50

...

sum:=0;

i:=0;

while i

begin

i:=i+1;

sum: = sum + i;

end;

....

1) нахождениесуммы чиселот 1 до 50

...

sum:=0;

i:=0;

repeat

i:=i+1;

sum: = sum + i;

until i=50;

...


  1. вывод на экранинформациииз файла

...

while not eof(f) do

begin

read (f,i);

writeln (i);

end;

...

  1. вывод на экранинформациииз файла

...

repeat

read (f,i);

writeln (i);

until eof(f);

...

  1. ввод массива

...

i:=0;

while c’*’do

begin

i:= i+1;

read (c[i]);

end;

...

  1. ввод массива

...

i:=0;

repeat

i:=i+1;

read(c[i]);

until c=’*’;

...


2. В языке Паскальввод-выводинформацииосуществляетсячерез файловыепеременные.

Перед тем, какосуществитьввод-вывод,файловая переменнаядолжна бытьсвязана с конкретнымвнешним файломс помощью процедуры ASSIGN.Этим файломможет быть файлна магнитномдиске, а такжеустройствовычислительногокомплекса.Затем файлдолжен бытьоткрыт длячтения и/илизаписи. Послеэтого можноосуществлятьорганизациюввода-вывода.

После работыс файлом он,как правило,должен бытьзакрыт с помощьюпроцедурыCLOSE.Это требованиеобязательнодолжно соблюдатьсядля файла, вкоторый производиласьзапись.

ПроцедураASSIGN(Var_file, Road): с помощьюэтой процедурывы связываетефайловую переменнуюVar_fileс некоторымименем файла,которое хранитсяв переменнойRoad.

Var

Var_file: file of integer;

Road: string[14];

...

Road:=’Data.dat’;

Assign (Var_file, Road);

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

ПроцедураReset:данная процедураоткрываетсуществующийфайл данных,имя которогоперед этим былосвязано припомощи процедурыAssignс некоторойфайловой переменной,указанной впроцедуре Resetкак параметр.

Assign(var_file, ‘Data.dat’);

Reset(Var_file);

Данная процедурасодержитнеобязательныйпараметр Sizeцелого типа,который используетсятолько с файламибез типа и задаетразмер пересылаемогоэлемента информациив байтах. Поумолчанию этотпараметр равен128. Файлтекстовоготипа может бытьоткрыт либодля чтенияпроцедуройReset,либо для записипроцедуройRewrite илиAppend.

ПроцедураRewrite:создает новыйфайл и открываетего для записиили чтения.Если файл стаким именемуже существует,его содержимоестирается, асам файл открываетсязаново.

Rewrite(Var_file);

открываетсуществующийфайл, связанныйс файловойпеременнойVar_file.

ПроцедураClose:закрывает ранееоткрытый файл,связанный суказаннойпеременнойв качествепараметрафайловой переменной.

Close(Var_file);

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

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

Assign(Var_file, ‘Data.dat’);

Rename(Var_file, ‘Text.dat’);

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

Assign(Var_file, ‘Data.dat’);

Erase(Var_file);

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

While not EOF(Var_file) do

read (Var_file, m[i]);

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

Функция IOResult:предназначенадля поискаошибок, возникающихпри работе сфайлами. Этафункция возвращаетрезультатпоследнейоперацииввода-вывода,если автоматическийконтроль заошибками,возникающимив процессеоперацийввода-вывода,отключен спомощью директивыкомпилятора{$I-}.При безошибочномвыполненииопераций ввода-выводаданная функциявозвращаетноль, если жеошибка имеламесто, то даннаяфункция возвращаеткод ошибки.

{$I-}

Reset (‘C:\data.dat’);

if IOResult0 then writeln (‘ Ошибкапри открытиифайла’);

{$I+}


Задание 2.

3.

Var

a,b,x,y:real;

Begin

write(‘Введитезначение a’);

readln(a);

write(‘Введитезначениеb’);

readln(b);

write(‘Введитезначение x’);

readln(x);

y:=(a+b)/(sqr(x)*sqr(x)*x+round(sqr(x)*x));

writeln(‘y=’,y:7:2);

End.


Задание 3а.

2.

Var

a:array[1..20]of integer;

i,n,b:integer;

m:real;

Begin

fori:=1 to 20 do

begin

readln (a[i]);

m:=m+a[i];

end;

m:=m/20;

b:=a[1];

fori:=1 to 20 do

ifa[i]

begin

n:=i;

break;

end;

for i:=1 to 20 dowrite (a[i]);

writeln(‘Среднееарифмитическоеравно’,m);

writeln(‘Номерэлемента-’,n);

End.


Задание 4.

3.

Usescrt;

Type

tch=record

num:string[5];

name:string[50];

adress:string[80];

am:byte;

end;

Var

ch:tch;

f1:fileof tch;

f2:text;

m:char;

Begin

clrscr;

assign(f1,’1.dat’);

assign(f2,’2.dat’);

rewrite(f1);

rewrite(f2);

repeat

clrscr;

write(‘Введитеномер читательскогобилета:’);

readln(ch.num);

write(‘Введитефамилию:’);

readln(ch.name);

write(‘Введитеадрес:’);

readln(ch.adress);

write(‘Введитеколичествокниг на руках:’);

readln(ch.am);

write(f1,ch);

write(‘Дляпрекращенияввода нажмите*’);

readln(m);

untilm=’*’;

close(f1);

reset(f1);

whilenot eof(f1) do

begin

read(f1,ch);

ifch.am>5 then write (f2,ch.num,ch.name,ch.adress,ch.am);

end;

close (f1);

close (f2);

End.


Задание1.

ВариантП.

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

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

repeat

operator1;

operator2;

operator3;

. . .

operatorN

untilS;

В этой структуре:

operator1..N -выполняемыеоператоры,составляющиетело цикла;

S- логическоевыражение,истинностькоторого проверяетсяв конце каждойитерации.

Так как слова repeatи untilявляютсясвоеобразнымиоператорнымискобками, точкус запятой передсловом until ставитьнеобязательно.

Оператор циклаWHILEорганизуетвыполнениеодного операторанеизвестноезаранее числораз. Выход изцикла осуществляется,если некотороелогическоевыражениеокажется ложным.Так как истинностьлогическоговыражениепроверяетсяв начале каждойитерации, телоцикла можетне выполнятьсяни разу. Структураданного операторацикла имеетвид:

while S do

operator;

В данной структуре:

S-логическоевыражение,истинностькоторого проверяетсяв начале каждойитерации;

operator- выполняемыоператор цикла.

Между конструкциямиREPEAT ...UNTIL иWHILE ... DO имеютсятри существенныхотличия.

  1. В конструкцииWHILE ... DOпроверкаусловия выходавыполняетсяв начале, а нев конце цикла,поэтому, еслиусловие неудовлетворяетсядо начала выполненияцикла, то телоцикла игнорируетсяи выполняетсяоператор, стоящийсразу же послеокончания телацикла.

  2. В конструкцииWHILE ... DOусловие выходаиз цикла удовлетворяется,если выражение,определяющееусловие выхода,ложно, а в конструкцииREPEAT ...UNTIL — если этовыражениеистинно.

  3. Между зарезервированнымисловами REPEAT и UNTILможет размещатьсянесколькоинструкций,в то время какконструкцияWHILE ... DOможет содержатьмаксимум однуинструкцию.


Примеры использованияоператоровцикла:

WHILE... DO

REPEAT... UNTIL

1) нахождениесуммы чиселот 1 до 50

...

sum:=0;

i:=0;

while i

begin

i:=i+1;

sum: = sum + i;

end;

....

1) нахождениесуммы чиселот 1 до 50

...

sum:=0;

i:=0;

repeat

i:=i+1;

sum: = sum + i;

until i=50;

...


  1. вывод на экранинформациииз файла

...

while not eof(f) do

begin

read (f,i);

writeln (i);

end;

...

  1. вывод на экранинформациииз файла

...

repeat

read (f,i);

writeln (i);

until eof(f);

...

  1. ввод массива

...

i:=0;

while c’*’do

begin

i:= i+1;

read (c[i]);

end;

...

  1. ввод массива

...

i:=0;

repeat

i:=i+1;

read(c[i]);

until c=’*’;

...


2. В языке Паскальввод-выводинформацииосуществляетсячерез файловыепеременные.

Перед тем, какосуществитьввод-вывод,файловая переменнаядолжна бытьсвязана с конкретнымвнешним файломс помощью процедуры ASSIGN.Этим файломможет быть файлна магнитномдиске, а такжеустройствовычислительногокомплекса.Затем файлдолжен бытьоткрыт длячтения и/илизаписи. Послеэтого можноосуществлятьорганизациюввода-вывода.

После работыс файлом он,как правило,должен бытьзакрыт с помощьюпроцедурыCLOSE.Это требованиеобязательнодолжно соблюдатьсядля файла, вкоторый производиласьзапись.

ПроцедураASSIGN(Var_file, Road): с помощьюэтой процедурывы связываетефайловую переменнуюVar_fileс некоторымименем файла,которое хранитсяв переменнойRoad.

Var

Var_file: file of integer;

Road: string[14];

...

Road:=’Data.dat’;

Assign (Var_file, Road);

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

ПроцедураReset:данная процедураоткрываетсуществующийфайл данных,имя которогоперед этим былосвязано припомощи процедурыAssignс некоторойфайловой переменной,указанной впроцедуре Resetкак параметр.

Assign(var_file, ‘Data.dat’);

Reset(Var_file);

Данная процедурасодержитнеобязательныйпараметр Sizeцелого типа,который используетсятолько с файламибез типа и задаетразмер пересылаемогоэлемента информациив байтах. Поумолчанию этотпараметр равен128. Файлтекстовоготипа может бытьоткрыт либодля чтенияпроцедуройReset,либо для записипроцедуройRewrite илиAppend.

ПроцедураRewrite:создает новыйфайл и открываетего для записиили чтения.Если файл стаким именемуже существует,его содержимоестирается, асам файл открываетсязаново.

Rewrite(Var_file);

открываетсуществующийфайл, связанныйс файловойпеременнойVar_file.

ПроцедураClose:закрывает ранееоткрытый файл,связанный суказаннойпеременнойв качествепараметрафайловой переменной.

Close(Var_file);

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

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

Assign(Var_file, ‘Data.dat’);

Rename(Var_file, ‘Text.dat’);

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

Assign(Var_file, ‘Data.dat’);

Erase(Var_file);

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

While not EOF(Var_file) do

read (Var_file, m[i]);

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

Функция IOResult:предназначенадля поискаошибок, возникающихпри работе сфайлами. Этафункция возвращаетрезультатпоследнейоперацииввода-вывода,если автоматическийконтроль заошибками,возникающимив процессеоперацийввода-вывода,отключен спомощью директивыкомпилятора{$I-}.При безошибочномвыполненииопераций ввода-выводаданная функциявозвращаетноль, если жеошибка имеламесто, то даннаяфункция возвращаеткод ошибки.

{$I-}

Reset (‘C:\data.dat’);

if IOResult0 then writeln (‘ Ошибкапри открытиифайла’);

{$I+}


Задание 2.

6.

uses crt;

var

z,m,n:real;

x,i:integer;


Begin

clrscr;

write ('Введитеx:');

readln (x);

m:=1;

for i:=1 to x do

m:=m*3;

m:=1/m;

n:=sqrt(sqrt(abs(x)));

n:=x+n;

n:=sqrt(n);

z:=m*n;

writeln ('z=',z:8:4);

end.

Задание 3-а.

0.

usescrt;

var

ar:array[1..100] of integer;

i,am,num:integer;

Begin

num:=0;

clrscr;

write('Введите размерностьмассива:');

readln (am);

writeln ('Введитемассив:');

fori:=1 to am do readln (ar[i]);

clrscr;

i:=0;

fori:=1 to am do

if ar[i]

fori:=1 to am do

write(ar[i]:3,';');

writeln;

ifnum0 then writeln ('Первыйотрицательныйэлемент:',num);

end.


Задание 4.

6.

usescrt;

typetpat=record

name:string[50];

diag:string;

num,temp:integer;

sost:string;

end;

var

pat:tpat;

f:fileof tpat;

t:text;

i:integer;

ch:char;


Begin

clrscr;

assign (f,'1.dat');

assign (t,'1.txt');

rewrite (f);

rewrite (t);

whilech'*' do

begin

write ('Введитефамилию пациента:');

readln (pat.name);

write ('Введитеномер палаты:');

readln (pat.num);

write ('Введитетемпературубольного:');

readln (pat.temp);

write ('Введитедиагноз:');

readln (pat.diag);

write ('Введитесостояниебольного:');

readln (pat.sost);

write (f,pat);

clrscr;

write ('Продолжитьввод? *-нет');

readln (ch);

end;

whilenot eof(f) do

begin

read (f,pat);

if pat.num=10 then writeln(t,pat.name,pat.diag,pat.sost,pat.temp);

end;

end.


Задание1.

№1.

  1. z= -(1 / 2) ^ -2

  2. b= 13.2 * 10 ^ -3

  3. g= 25000

  4. y= ((m * c - 1) / 11) ^ (1 / 5)

  5. f= (SIN(x)) / (x + EXP(x))

  6. t= (SIN(x) - a * COS(x)) / (COS(x) + b)

№2.

  1. Постановказадачи

Найти радиусоснованияцилиндра, имеющегопри данномобъеме наименьшуюповерхность,

R=

,V=750 см3

Константы:V,

Выходныеданные: R

  1. Математическаямодель задачи


R=

  1. Схемаалгоритма

1.Начало



2.ВычислениеR




3. Вывод R



4.Конец


4.Текст программы.

CLS

v= 750

pi= 3.14

r= (v / 2 * pi) ^ (1 / 3)

PRINTr


Задание№2.

  1. Постановказадачи

x3+3x,если x>0

Вычислитьзначение функцииy= 0, еслиx=0

x3-3x,если x

дляпроизвольныхзначений аргумента

Входныеданные: x

Выходные:y

  1. Математическаямодель задачи

y=x3+3x,если x>0

y=0,если x=0

y=x3-3x,если x

  1. Схемаалгоритма


1. Начало




2. Ввод x





3. x=0 4. y=0




  1. y=x3-3x 5.x




7.y=x3+3x

8.Выводy

9.Конец


  1. Текст программы

10CLS

20INPUT x

30IF x = 0 THEN y = 0

40IF x

50 PRINT y

  1. Отладкапрограммы

Контрольныйвариант: приx=0 y=0

приx=-1 y=2

приx=2 y=14


№2.

  1. Постановказадачи

q1=

,если l>1

Вычислитьзначение функцииq1=

,если l

q1=

,если l=1

Входныеданные: l

Выходныеданные: q1

  1. Математическаямодель задачи

q1=

,если l>1

q1=

,если l

q1=

,если l=1
  1. Схемаалгоритма

1.Начало




2.Вводl



4.q1=

3.l=1



5.l



7.q1=



8.Вывод q1




9.Конец


  1. Текстпрограммы

10CLS

20INPUT l

30IF l = 1 THEN q1 = (l ^ 2 + 1) ^ (1 / 3)

40IF l

50PRINT q1

  1. Отладкапрограммы

Контрольныйвариант:приl=2 y=-0.5

приl=1 y=1.414214

приl=-2 y=2.236068

Задание№3.

№1.

  1. Постановказадачи

Какизменяетсяцентростремительноеускорениепоезда, движущегосяпо закруглениюдороги со скоростьюV,в зависимостиот радиуса r?

a=

,где r=60км/ч; 200
  1. Математическаямодель задачи

a=

,где r={200..1000}
  1. Схемаалгоритма


1.Начало



2.a1=


3.a=200,1000,100



4.Выводa



5.Выводизмененияускорения




6.Конец


  1. Текстпрограммы

10CLS

20v = 60

30a1 = v ^ 2 / 200

40FOR r = 200 TO 1000 STEP 100

50a = v ^ 2 / r

60PRINT a

70NEXT r

80ax = v ^ 2 / 1000

90ax = ax - a1

100PRINT ax

5.Отладка программы

Прирадиусе равном:200 ускорениеравно: 18

10003.6

изменениеравно:14.4

№2.

  1. Постановказадачи

Определитьстатическийи динамическийпрогибы балкипо формулам

fcт=

,fд=fcт+

E=2*106кг/см2;J=2500 см4;Q=4т;

6

1

  1. Математическаямодель задачи

fcт=

,fд=fcт+

l={6..12};

h={1..5}.

  1. Схемаалгоритма



1.Начало



2.l=6,12,37.fcт=



8.Вывод fcт

3.fcт=


9. Конец


4.h=1,5,1




  1. fд=fcт+


6.Выводfд
  1. Текстпрограммы

10CLS

20e = 2 * 10 ^ 6

30j = 2500

40q = 4000

50FOR l = 6 TO 12 STEP 3

60fs = q * l ^ 3 / 48 * e * j

70FOR h = 1 TO 5

80fd = fs + SQR(fd ^ 2 + 2 * fd * h)

90PRINT fd

100NEXT h

110NEXT l

120fs = q * l ^ 3 / 48 * e * j

130PRINT fs


Отечественноепрограммированиезародилосьв 50-х годах 20 века в крупных научныхцентрах, осваивавшихпервые советскиевычислительныемашины БЭСМи «Стрела».

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

Бэйсик — первая ступень,школьная информатика;

Паскаль — вторая ступень,информатикав специализированныхшколах и большинствеВУЗов;

Си,Си++ — третьяступень, стандартноепрофессиональноеобразование;

VisualBasic — четвертаяступень, программированиев среде Windows.

Однакопри более глубокоманализе можнозаметить оченьтесное взаимопроникновениесо­временныхверсий алгоритмическихязыков и сближениеих функциональныхвозможностей.В развитыхсовременныхсистемахпрограмми­рованияпредлагаютсяпримерноэквивалентныевозможности.Там, где труднообойтисьстандар­тнымисредствамиалгоритмическогоязыка вы­сокогоуровня, используютвставки изассемб­лерныхстрок (т. е. командмашинногоязыка). Иногдатот или инойязык вырываетсявперёд. Например,появление иразвитие элементовобъ­ектно-ориентированногопрограммированияв Си++ моментальновызвало к жизнианалогич­ныеизменения вдругих языках.Революцион­наяидея общедоступного«визуального»про­граммирования,предложеннаяв системеVisual BASIC, сразуже была подхваченав средеVisual Сивтой или иноймере нашла своёотражение вновых версияхBorland C++.

Поэтому,в каком-то смысле,все достаточноуниверсальныеалгоритмическиеязыки оди­наковы.Хорошее знаниеодного из нихпозволя­етсравнительнопросто разобратьсяс изобрази­тельнымисредствамидругого. Этонапоминаетситуацию сполиглотами,знающими один-двадесятка иностранныхязыков, длякоторых ов­ладениеочереднымязыком требуетне более одного-двухмесяцев. Вподтверждениеэтого те­зисав книге даётсяпараллельноеизложениесоответствующихкомпонентовтрёх алгоритми­ческихязыков -Бейсика, Си иПаскаля, приэтом лишь изредкаобращаетсявнимание нанебольшие илипринципиальныеразличия меж­дуними.

Программированиев средеVisual BASIC вы­несенов отдельныйраздел, т. к. нарядус эле­ментамиклассическогопрограммированияздесь учитываетсяспецификаструктурыпрограммы,работающейпод управлениемWindows, иис­пользуютсямногочисленныестандартныезаго­товкидля организациидиалоговоговзаимодей­ствияс пользователем.

СвоимназваниемBASIC обязансокращениюфразыBeginner's All-purpose Symbolic Instruc­tion Code,которая дословнопереводитсякак многоцелевойкод (язык) символическихинст­рукцийдля начинающих.Авторство ипервая реализацияязыка Бейсикпринадлежатгруп­пе преподавателейи студентовДартмутскогоколледжа воглаве с профессорамиДж. Кемени и Т.Куртцем, которые1 мая1964 вдохнулижизнь в первыйБейсик-интерпретатор.

Бейсикоткрыл эрудиалоговогопрограмми­рования.До него культивировалсяпакетный


режим,при которомбумажные илимагнитны носителис программамисдавалисьдежурномуоператору иупорядочивалисьв соответствиис приоритетамиих владельцев.Составленныйтаким образомпакет программпоступал в ЭВМна последовательнуюобработку. Приэтом до­стигаласьмаксимальнаязагрузкаоборудова­ния,но каждая программавыполняласьлибо до первойавтоматическиобнаруженнойошиб. ки, либодо истечениялимита заказанноговре­мени. Информацияо результатахпрохожденияпрограмм выдаваласьихавторам2-3 разав сутки. Поэтомукалендарныесроки созданияпрограмм затягивалисьна многие месяцы.

Системыколлективногодоступа, работавшиев диалоговомрежиме, обеспечивалиодновре­менноеобслуживаниенесколькихпользовате­лей,запускавшихсвои программыс электроме­ханическихили электронныхтерминалов.Опе­ративнополучив сообщениеоб очереднойошибке, пользовательимел возможностьтут же исправитьтекст исходнойпрограммы иснова выполнитьеё. Диалоговыйрежим, естествен­но,был связан сдополнительныминакладнымирасходами намноготерминальноеобслужива­ние.Загрузка ЭВМпри этом снижалась,но оперативностьв отладке программприводила ксущественномусокращениюкалендарныхсро­ков ихразработки.

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

Втораяособенность,привлекающаямассово­гопотребителяк Бейсику, кроетсяв простотеначальногоосвоения икраткости егоизобрази­тельныхсредств. Попробуйтенайти хотя быеще один язык,на которомпрограмма,отвечаю­щаяна вопрос, чемуравно 2-2,состоит всегоиз четырёхсимволов1:

?2*2

Аналогичнаяпрограмма наПаскале содер­жит,минимум, тристроки, а еёдлина превы­шает20 символов:

begin

(writein 2*2);

end.

Примерновдвое большесимволов требуетсядля аналогана Си:

#include main()

{printf("%d",2*2);

}

ВтороепоколениеБейсик-системведёт свойотсчёт от появленияпервых ПК набазе 8-раз­рядныхмикропроцессоровIntel-8080 иZ-80, длякоторых в середине70-х гг. был разработанком­пактныйинтерпретаторBASIC-80. Именнос не­го началаськарьера самогомолодого амер.мил­лиардераБ. Гейтса, основавшегокорпорациюMicrosoft.

Появление16-разрядныхIBM-совместимыхПК ознаменовалоськонкурентнойборьбой меж­дукомпаниямиBorland Internationalи Microsoft Corporation.Первая из нихвыпустила нарынок удобнуюинтегрированнуюсреду с компилято­ромTurbo BASIC, котораябыстро привлеклана свою сторонумногочисленныхлюбителейБей­сика. Однаковторая, болеемощная компания,не могла смиритьсяс таким положением.На смену тихоходномуинтерпретаторуGW-BASIC пришлацелая серияскоростныхсистемQuick 'BASIC, всоставе которыхнаряду с интегриро­ваннойсредой поставлялисьавтономныеком­пиляторыи достаточномощные библиотекипро­грамм.СоревнованиеБейсик-системтретьего поколениязакончилосьпоражениемфирмы Borland,прекратившейсвои разработкии пере­давшейправа наTurbo BASIC одномуиз авто­ров,вышедшему изсостава компании.О даль­нейшихпопыткахреанимироватьTurbo BASIC подназваниемPower BASIC (МощныйБейсик) кромерекламныхсообщенийничего не изве­стно.

А фирмаMicrosoft продолжиласовершенство­ваниесвоего любимогодетища, выпустивв кон­це 80-х гг.мощные системыдля профессиональ­ныхразработок(Professional Development Sys­tem) BASIC PDS-6и PDS-7.

Наконец,четвёртоепоколениеБейсика свя­занос появлениемв 1991 системыпрограмми­рованияVisual BASIC иеё последующимсовер­шенствованиемсотрудникамиMicrosoft. Кна­чалу 1995 поступилисообщения обопытной эксплуатацииверсии 4.0.

Алгоритмическийязык Паскальбыл приду­манв 1968 профессоромИнститутаинформати­кипри Швейцарскойвысшей техническойшколе Н. Виртом.В 1970 под его руководствомоыл разработанпервый компилятор,а в следу­ющемгоду появиласьи первая публикация.Своё названиеязык получилв честь известногоФранц. математикаБ. Паскаля, которыйв 19-летнем возрастеизобрёл первуюсуммирую-щуюмашину.

1

Новыйязык, являясьпродолжателемтради­цийалгоритмическогоязыка АЛГОЛ-60,был ориентирован,главным образом,на обучениекурсу систематическогопрограммирования.В Паскале былипредставленынаиболеераспрост­ранённыетипы данныхи средства длясозданияпользовательскихструктур. Кчислу элементов,способствующихсозданию надёжныхпро­грамм,относилисьблочные конструкциии тре­бованиеобязательногоописания (объявления)всех объектов- типов данных,констант,пере­менных,меток, функцийи процедур.

Заметнуюроль в разработкестандарта языкаПаскаль исовершенствованииего средстввво­да/выводасыграла рабочаягруппа Британскогоинститутастандартовво главе с А.Эддиманом.Британскийстандарт былпринят в 1982, анесколькопозднее егоутвердиламеждународ­наяорганизацияISO. Однакок этому времениН. Вирт, недовольныйпредложениямирабо­чей группы,отказался отсотрудничествапо совершенствованиюПаскаля ипереключилсяна новый проектМодула.

ЯзыкПаскаль довольнодолго оставалсясредством дляизученияпрограммированияв университетах,т. к. ни однасерьёзнаякомпь­ютернаяфирма его неподдерживала.Пере­лом вотношении кэтому языкунаметился в1984, когда молодойфранцуз Ф. Канпривёз в СШАнеобычайноскоростнойкомпиляторTurbo-Pascalдля IBM-совместимыхПК и начал торговатьим по цене 49долларов 95 центов.Удачная рекламаи «бросовая»цена позволилиему продатьза первый месяцболее 3000 копийсистемы и заложитьосновы фирмыBorland In­ternational.Последующие8 лет Turbo Pascalос­тавалсянаиболее опекаемымпродуктомфир­мы, котораясумела выпуститьболее 9 различ­ныхверсий. Самаясвежая из них(7.0; 1992) включаетдве системы- Turbo Pascal,функци­онирующуюпод управлениемMS-DOS, ирас­ширеннуюверсиюBorland Pascal,работающуюв средеWindows. Возможно,что после уходав 1995 Кана с постапрезидентафирма Borlandизменитсвою политикув отношенииязыка Пас­каль.

ЯзыкСи был придуманв 1972 сотрудникомBell Laboratories(отделениеизвестнойтелефон­нойкомпании AT&T) Д.Ритчи, однимиз пер­выхпользователейоперационнойсистемы Unix,и задумывалсяне как универсальныйалгоритмическийязык, а, скорее,как инстру­ментдля развитияоперационнойсистемы и созданияновых обслуживающихпрограмм (утилит).Такой подходхарактерендля боль­шинствасистемныхпрограммистов,разрабаты­вающихсложные проектыи придумывающихдля облегчениясвоего трударазличныесервис­ныепроцедуры,макрокомандыи т. п. По завер-я

i

tшению разработкиэти инструментальныенабо­ры, какправило, предаютсязабвению или,в | лучшем случае,остаются вличных архивах| авторов. ЯзыкСи, однако, этаучасть миновала.§ Вполне возможно,что его становлениюспособ-| ствовало-последующеевсемирноепризнание •^операционнойсистемыUnix.

Какалгоритмическийязык сравнительнонизкого уровня,т. е. достаточноблизкий кас­семблеру,Си имел предшественниковв лице . аналогичныхинструментальныхсредств - язы-;ков CPL, BCPL(сокр. отBasic Combined Pro-|gramming Language -базовый комбинирован-iный язык программирования)и В. Два первыхязыка разрабатывалисьв конце 60-х гг.в Кемб­риджскомуниверситетев качествемашинно-не­зависимыхязыков длясозданиятрансляторов1.Последний былпридуман К.Томпсоном -со­трудникомBell Laboratories иавтором операци­оннойсистемыUnix. В отличиеот своих пред­шественников,Ритчи нарядус машинно-ориен­тированнымитипами данных(байт, слово)ввёл в составСи объекты иоператоры,присущиеуниверсальнымязыкам (числовыеи символь­ныепеременные,структурныеблоки), сохра­нивпри этом элементы,характерныедля мак­роассемблераMACRO-11 (логическиеоперации надбитами, сдвиги,работа с адресамии реги­страми).

Первымпрограммнымпродуктом,написан­нымпочти полностьюна Си, был компиляторс языка Си вкод машинныхкомандPDP-11/20 (прототипСМ-4). В 1973 Ритчи иТомпсон пере­писалина Си большуючасть операционнойси­стемыUnix. Из13000 машинных команддля PDP-7,на которойпоявиласьпервая версияUnix,только 800 пришлосьвручную перевестив ассемблерPDP-11. В процессепереводаUnix изоднопользовательскойоперационнойсисте­мы,ориентированнойна работу вконкретнойЭВМ, превратиласьв мобильнуюоперационнуюсистему коллективногопользования.Успех этойоперации взначительноймере предопре­делилпопулярностьновой операционнойсисте­мы и еёбазового инструмента- языка Си. Б 1976Ритчи и ТомпсонперенеслиUnix с ЭВМфирмы DECна компьютерыдругой архитекту­ры(Interdata 8/32),практическиничего не изменивв ядре операционнойсистемы, напи­санномна Си. Точнотаким же образомUnix распространялсяна десяткахмашин различныхтипов.

В1978 появиласьпервая книга,посвящённаяописанию Сии техникепрограммированияне

этомязыке, котораяс большим запозданябыла переведенана русский язык(Ken»81*ганБ., Ритчи Д., ФьюэрА. Язык программ^рования Си.Задачи на языкеСи. М.: Фиван истатистика,1985). От фамилийдвух перв^* авторовпроизошлосокращённоеобозначенм*первого, никемне утверждавшегося,но пpивяeтоговсеми программистамистандарта языкСи - K&R. а

Дальнейшаяработа посовершенствованиюязыка Си и принятиюв 1987 первогонастояше гостандартаANSI С былавыполнена наобще­ственныхначалах рабочейгруппой приАмери­канскомнациональноминститутестандартовВозглавлялэту работусотрудникBell Labs Л.Рослер. Наиболеесерьёзный вкладв разви­тиеязыка Си запоследние годывнёс ещё одинпредставительтой же лабораторииБ. Страуст-руп,который ввёлв обращениеновые объек­ты- классы, объединяющиеданные и обраба­тывающиеих функции.. С1983 за расширеннойверсией языкаСи с классамизакрепилосьназва­ние C++.

Первыеверсии Сиподвергалисьсерьёзнойкритике заотсутствиедостаточнойстрого­сти,что приводилок многочисленнымошиб­кам из-заработы снеинициализированнымипеременными,отсутствияконтроля завыходом индексову элементовмассивов заустановлен­ныепределы, несоответствиятипов формаль­ныхи фактическихпараметровфункций и т. п.Перед системнымипрограммистамиBell Labs этипроблемы остроне стояли, т.к. они пользо­валисьспециальнойпрограммойLint, котораяпроводилатщательныйанализ программ,напи­санныхна Си, перед ихтрансляциейи выпол­нением.Для рядовыхпользователейситуация измениласьс появлениеминтегрированныхсред, средикоторых наибольшуюпопулярностьприобрелиТурбо-системыфирмыBorland. Пер­ваяверсияTurbo С,работавшаяв среде MS-DOS,была выпущенав 1987. К середине1995 фирмаBorland вышлана рынок с вер­сией4.5, предназначеннойдля работы подуп­равлениемWindows. Известныи другие реали­зацииязыка Си наIBM-совместимыхПК - Mi­crosoftС, LatticeС, ZortechС, SymantecС. Но в нашейстране продукцияфирмы Borlandпо­лучиланаибольшеераспространение.


Задание1.

ВариантВ.


1.

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

Объявление констант начинаетсязарезервированнымсловом CONST.Затем следуетимя константы,символ равенстваи значение этойконстанты.Например:


CONSTName=’Alex’;


CONSTAge=18;


Послеобъявленияконстанты ееможно вызыватьпо объявленномуимени из произвольногоместа программы.

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

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


CONST

Year:INTEGER=2000;

Mon:String=’December’;


2.

Тип файл представляетсобой последовательностькомпонентодного типа,расположенныхна внешнемустройстве.Компонентымогут бытьлюбого типа,за исключениемтипа файл (илисодержащегокомпонентытипа файл) итипа объекта.Число компонентв файле необъявляется.

Для заданиятипа файл следуетиспользоватьзарезервированныеслова fileи of,после чегоуказать типкомпонентфайла.

Type

number= file of integer;

symb = fileof ‘A’..’Z’;


Стандартныйтип Textопределяеттип файла, содержащийсимволы, объединенныев строки. Следуетиметь ввиду,что тип Textв Турбо-Паскалене эквивалентентину fileof char.

Введя файловыйтип, можно определятьпеременныефайлового типа:


Var

F1:number;

F2:Text;


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

Типфайл можноопределятьи непосредственнопри введениифайловых переменных.

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

Задание 2(8).


Var

x,a,b,c,y:real;


Begin

write(‘Введите2 числа’);

readln( y,b);

c:=y+b;

a:=sqr(sin(c*c*c)/cos(c*c*c));

b:=sqrt(y+b)/(y*pi);

x:=a+b;

writeln(‘x=’,x:7:2);

End.


Задание 3-а(5).

Usescrt;

Var

a,b:array[1..10]of integer;

i,m:byte;

Begin

clrscr;

m:=1;

for i:=1 to 10 do

begin

write(‘Введите’,i,‘-ый элементмассива:’);

readln(a[i]);

if a[i]

b[m]:=a[i];

inc(m);

end;

end;

clrscr;

writeln(‘Исходныймассив:’);

for i:=1 to10 do write (a[i]);

writeln;

writeln(‘Массив,состоящий изотрицательныхчисел:’);

fori:=1 to m do write (b[i]);


End.

Задание 4(8).

Usescrt;

Type

tcm=record

name:string[50];

amountw:integer;

amountwo:integer;

date:string[8];

Var

cm=tcm;

F1:file oftcm;

F2:text;

m:char;

Begin

clrscr;

assign(F1,’1.dat’);

assign(F2,’1.txt’);

rewrite(F1);

rewrite(F2);

repeat

clrscr;

write(‘Введитефамилию и инициалы’);

readln(cm.name);

write(‘Введитеколичествоголосующихакций’);

readln(cm.amountw);

write(‘Введитеколичествонеголосующихакций’);

readln(cm.amountwo);

write(‘Введитедату регистрации’);

readln(cm.date);

write(F1,cm);

writeln(‘Чтобы закончитьввод, введите*’);

readln(m);

until m=’*’;

while not eof(F1) do

begin

read (F1,cm);

ifcm.amountw>100 then write (F2, cm.name, cm.amountw, cm.amountwo,cm.date);

end;

close (F1);

close (F2);

End.


6. Языкипрограммированияи их классификация.

Отечественноепрограммированиезародилосьв 50-х годах 20 века в крупных научныхцентрах, осваивавшихпервые советскиевычислительныемашины БЭСМи «Стрела».

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

Бэйсик —первая ступень,школьная информатика;

Паскаль —вторая ступень,информатикав специализированныхшколах и большинствеВУЗов;

Си, Си++ — третьяступень, стандартноепрофессиональноеобразование;

Visual Basic — четвертаяступень, программированиев среде Windows.

Однако приболее глубокоманализе можнозаметить оченьтесное взаимопроникновениесо­временныхверсий алгоритмическихязыков и сближениеих функциональныхвозможностей.В развитыхсовременныхсистемахпрограмми­рованияпредлагаютсяпримерноэквивалентныевозможности.Там, где труднообойтисьстандар­тнымисредствамиалгоритмическогоязыка вы­сокогоуровня, используютвставки изассемб­лерныхстрок (т. е. командмашинногоязыка). Иногдатот или инойязык вырываетсявперёд. Например,появление иразвитие элементовобъ­ектно-ориентированногопрограммированияв Си++ моментальновызвало к жизнианалогич­ныеизменения вдругих языках.Революцион­наяидея общедоступного«визуального»про­граммирования,предложеннаяв системеVisual BASIC, сразуже была подхваченав средеVisual С и в тойили иной меренашла своёотражение вновых версияхBorland C++.

Своим названиемBASIC обязансокращениюфразыBeginner's All-purpose Symbolic Instruc­tion Code,которая дословнопереводитсякак многоцелевойкод (язык) символическихинст­рукцийдля начинающих.Авторство ипервая реализацияязыка Бейсикпринадлежатгруп­пе преподавателейи студентовДартмутскогоколледжа воглаве с профессорамиДж. Кемени и Т.Куртцем, которые1 мая1964 вдохнулижизнь в первыйБейсик-интерпретатор.

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

Заметнуюроль в разработкестандарта языкаПаскаль исовершенствованииего средстввво­да/выводасыграла рабочаягруппа Британскогоинститутастандартовво главе с А.Эддиманом.Британскийстандарт былпринят в 1982, анесколькопозднее егоутвердиламеждународ­наяорганизацияISO. Однакок этому времениН. Вирт, недовольныйпредложениямирабо­чей группы,отказался отсотрудничествапо совершенствованиюПаскаля ипереключилсяна новый проектМодула.

Язык Паскальдовольно долгооставалсясредством дляизученияпрограммированияв университетах,т. к. ни однасерьёзнаякомпь­ютернаяфирма его неподдерживала.Пере­лом вотношении кэтому языкунаметился в1984, когда молодойфранцуз Ф. Канпривёз в СШАнеобычайноскоростнойкомпиляторTurbo-Pascalдля IBM-совместимыхПК.

Язык Си былпридуман в 1972сотрудникомBell Laboratories(отделениеизвестнойтелефон­нойкомпании AT&T) Д.Ритчи, однимиз пер­выхпользователейоперационнойсистемы Unix,и задумывалсяне как универсальныйалгоритмическийязык, а, скорее,как инстру­ментдля развитияоперационнойсистемы и созданияновых обслуживающихпрограмм (утилит).

Первым программнымпродуктом,написан­нымпочти полностьюна Си, был компиляторс языка Си вкод машинныхкомандPDP-11/20 (прототипСМ-4). В 1973 Ритчи иТомпсон пере­писалина Си большуючасть операционнойси­стемыUnix. Из 13000 машинныхкоманд дляPDP-7,на которойпоявиласьпервая версияUnix,только 800 пришлосьвручную перевестив ассемблерPDP-11. В процессепереводаUnix из однопользовательскойоперационнойсисте­мы,ориентированнойна работу вконкретнойЭВМ, превратиласьв мобильнуюоперационнуюсистему коллективногопользования.Успех этойоперации взначительноймере предопре­делилпопулярностьновой операционнойсисте­мы и еёбазового инструмента- языка Си. Б 1976Ритчи и ТомпсонперенеслиUnix с ЭВМ фирмыDEC на компьютерыдругой архитекту­ры(Interdata 8/32), практическиничего не изменивв ядре операционнойсистемы, напи­санномна Си. Точнотаким же образомUnix распространялсяна десяткахмашин различныхтипов.

Дальнейшаяработа посовершенствованиюязыка Си и принятиюв 1987 первогонастоящегостандартаANSI С былавыполнена наобще­ственныхначалах рабочейгруппой приАмери­канскомнациональноминститутестандартовВозглавлялэту работусотрудникBell Labs Л. Рослер.Наиболее серьёзныйвклад в разви­тиеязыка Си запоследние годывнёс ещё одинпредставительтой же лабораторииБ. Страуструп,который ввёлв обращениеновые объек­ты- классы, объединяющиеданные и обраба­тывающиеих функции.. С1983 за расширеннойверсией языкаСи с классамизакрепилосьназва­ние C++.

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

языки программированиябывают — высокого(Паскаль, Бэйсик)и низкого уровня(Ассемблер);строго типизированными(Паскаль) и нестроготипизированными(Бэйсик); с поддержкойобъектно-ориентированногопрограммирования(Си++) и без и т.д.


Задание№1.

ВариантР.


  1. Какие строковыефункции используютсяв Турбо-Паскале?Задайте какие-либостроковыепеременныеи применитек ним строковыефункции.


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

Переменнаятипа Stringсостоит изцепочки символов,т.е. элементовтипа Char.Строки могутвыводитьсяна экран мониторапосредствомстандартныхпроцедур Writeи WriteLnи вводитьсяс помощью стандартнойпроцедурыReadLnили Read.В большинствеслучаев переменныетипа Stringиспользуютсядля храненияслов и сообщений,состоящих изнесколькихсимволов.

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

Length— позволяетопределитьфактическуюдлину текстовойстроки, хранящейсяв указаннойпеременной.

Var

Words: String;

Begin

Write(‘ Введитеслово:’);

ReadLn (Words);

WriteLn;

WriteLn(‘Это словосостоит из ‘,Length (Words),’букв’);

End.

UpCase— позволяетпреобразоватьлюбой символиз строчногов прописной.Эта функциярассчитанана обработкуотдельногосимвола. Русскиелитеры не могутобрабатыватьсяэтой функцией.

Var

S: String;

I: Integer;

Begin

S:=’alex’;

For I=1 to 4 doS[I]:=UpCase (S[I]);

WriteLn (S);

End.

На экран будетвыведена надпись:ALEX.

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

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

  2. позицию в строке,начиная с которойбудет копироватьсяфрагмент;

  3. число копируемыхсимволов.

Var

s:string[8];

s1:string[3];

Begin

s:=’домашний’;

s1:=Copy (s,1,3);

writeln(s1); {на экранвыводится: дом}

End.

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

...

s:=’машина’;

i:=pos(‘шина’,s);

ifi=0 then writeln (‘ данныйфрагмент несодержитсяв строке’)else

writeln(‘ данныйфрагмент содержитьсяв строке начинаяс‘,i:3,’ позиции.’);

...


  1. Как формируетсяимя переменнойфайлового типав тексте программы?По каким правиламформируетсяимя файла воперационнойсистеме MS-DOS?Какая процедураиспользуетсядля связыванияконкретнойфайловой переменнойпрограммы сконкретнымфайлом на внешнемустройстве?Приведитепримеры именфайловой переменнойи имен файлана внешнемустройстве.


Правила формированияфайловой переменойв языке Турбо-Паскальсовпадают справиламиформированияобычной переменной:

  1. переменнаядолжна состоятьиз латинскихстрочных и/илипрописныхбукв, а такжеарабских цифрот 0 до 9 (цифрыможно использоватьнаряду с букваминачиная совторой позиции)и символаподчеркивания(ASCII-код95);

  2. имя переменнойдолжно начинатьсяс латинскойбуквы или символаподчеркивания;

  3. пробел в Турбо-Паскалеявляетсяразделителеми не может бытьиспользованв имени переменной;

  4. применениедругих символовв именах переменныхне допускается;

  5. зарезервированныеслова такжене могут бытьиспользованыв качествеимен переменных.


Имена файловв системе MS-DOS.

Каждый файлна диске имеетобозначение,которое состоитиз двух частей:имени и расширения( часто имя ирасширениевместе такженазывают именем,как правило,это не приводитк путанице). Вимени файламожет быть от1 до 8 символов.Расширениеначинаетсяс точки, за которойследует от 1 до3 символов. Например:

command.com

autoexec.bat

config.sys

paper.doc

Имя и расширениемогут состоятьиз прописныхи строчныхлатинских букв,цифр и символов:- _ $ # &@ ! % () {} ’ ~ ^

Расширениеимени файлаявляетсянеобязательным.Оно, как правило,описываетсодержимоефайла, поэтомуиспользованиерасширенияфайла весьмаудобно.

В имени и расширенииимени файлапрописные истрочные латинскиебуквы являютсяэквивалентами,так как DOS переводитвсе строчныебуквы в соответствующиепрописныебуквы.


Процедурой,которая связываетимя файловойпеременнойс конкретнымфайлом на диске,является процедураAssign(имяфайловойпеременной>,имяфайла на диске>).

Var

filename: file ofinteger;

path:string;

Begin

write(‘Введите имяфайла на диске:’);

readln (path);

assign(filename,path);

...


Задание №2.

9.Вычислитьзначение переменнойпо расчетнойформуле и исходнымданным. На экранвывести значениеисходных данныхи результатырасчетов.

Q=


usescrt;

var

q,b,s,x:real;

begin

clrscr;

write('Введите значениеx:');

readln (x);

write('Введите значениеb:');

readln (b);

write('Введите значениеs:');

readln (s);

clrscr;

q:=(b*sqrt(x)-s)/(exp(s*x)-1);

writeln ('Исходныеданные');

writeln ('x=',x:5:2,',b=',b:5:2,',s=',s:5:2);

writeln ('Результат');

writeln ('Q=',q:8:2);

readln;

end.


Задание №3а.

  1. Ввести одномерныймассив Xвещественныхчисел. Размерностьмассива 7. Переписатьэлементы этогомассива в обратномпорядке в массивY.Вывести наэкран массивыX иY.


usescrt;

var

x,y:array [1..7] of real;

i:integer;

begin

clrscr;

writeln ('Ввод элементовмассива');

fori:=1 to 7 do

begin

gotoxy (29,2);

writeln (' ');

gotoxy (1,2);

write ('Введите',i,'-й элементмассива:');

readln (x[i]);

end;

fori:=7 downto 1 do y[i]:=x[8-i];

clrscr;

writeln ('МассивX:');

fori:=1 to 7 do

begin

write (x[i]:3:2,';');

end;

writeln;

writeln ('МассивY:');

fori:=1 to 7 do

begin

write (y[i]:3:2,';');

end;

end.


Задание№3б.

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


usescrt;

type

tkat_inf=record

name:string[30];

income:array [1..4] of real;

end;


var

num,int:integer;

kat_inf:array [1..100] of tkat_inf;

first,second,third,forth:real;


procedureinput_data(var n:tkat_inf);

vari:integer;

begin

clrscr;

write('Введите названиекатегории:');

readln(n.name);

fori:=1 to 4 do

begin

gotoxy (44,2);

writeln (' ');

gotoxy (1,2);

write ('Введитедоход даннойгруппы за ',i,'-йквартал:');

readln (n.income[i]);

end;

end;


procedureoutput_data (b:tkat_inf);

vari:integer;

begin

writeln

(b.name:30,'|',b.income[1]:7:2,'|',b.income[2]:7:2,'|',b.income[3]:7:2,'|',b.income[4]:8:2,'|',b.income[4]/b.income[1]:15:2);

writeln('------------------------------+-------+-------+-------+--------+---------------');

end;

Begin

clrscr;

num:=101;

whilenum>100 do

begin

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

readln (num);

end;

forint:=1 to num do input_data (kat_inf[int]);

clrscr;

writeln('-----------------------------------------------------------------------------------------');

writeln('Название категории | Средний доход | Увеличение ');

writeln(' |----------------------------------| дохода ');

writeln(' | I | II | III | IV | за год ');

writeln('----------------------------------+-------+-------+-------+-------+------------------');

forint:=1 to num do

begin

output_data (kat_inf[int]);

first:=first+kat_inf[int].income[1];

second:=second+kat_inf[int].income[2];

third:=third+kat_inf[int].income[3];

forth:=forth+kat_inf[int].income[4];

end;

writeln('средний доходза квартал |',first/num:7:2,'|',second/num:7:2,'|',third/num:7:2,'|',forth/num:8:2,'| -');

writeln('-------------------------------------------------------------------------------');

End.