Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика / Алгор-ция и програм-е

.doc
Скачиваний:
7
Добавлен:
27.04.2015
Размер:
94.72 Кб
Скачать

АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ

Эт. реш-я зад. на ЭВМ

  • Пост-ка зад(форм-ка зад.начин-ся с опис-я исх-х данных).Опред-ся цель реш-я,арг-ты(входн. данные) и рез-ты(вел-ны,к-ые надо найти).

  • Постр-е мат.м-ли(требов-я к мат.м-ли:проста(решаема),адекватна(ф-лы д/опис-ть именно дан. пр-сс)

  • Выбор м-да реш-я

  • Постр-е алг-ма реш-я(определ-ся последоват-ть выполн-я д-ий;алг-м в виде блок-схемы)

  • Напис-е пр-мы,отладка(исправл-е синтакс-х и семант-х ошибок зад.)

  • Тестир-е(реш-е зад. с пом-ю пр-мы,ответ на к-ый уже известен.Тест-е проводят с нек-ым заранее продум-м набором исходных данных)

  • Реш-е зад.

  • Анализ резул-в(получ-й резул-т д/лежать в обл. реш-я дан.зад.)

  • Сопровожд-е пр-мы

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

В осн. постр-я алг.–принцип расчлен-я сложн. пр-сса реш-я на элемент. д-я.

Св-ва алг-ма:

  • Масс-ть(алг-м д/описывать круг однотипных задач,входн.данные к-ого измен-ся в определ-х пределах)

  • Детерминиров-ть (определ-ть).(Обусловл-ть всех шагов алг-ма потребн-ми дан. задач)

  • Понятность(все д/быть опнятно и исполн-лю и разраб-ку алг-ма)

  • Дискретность(четкое раздел-е всего пути реш-я зад. на отд.этапы,шаги)

  • Результ-ть(точн. выполн-е предписания алг-ма д/привести к рез-ту за конечн. Кол-во шагов)

Способы представл-я алг-мов:1.Опис-е с пом-ю алг.яз.(алг.яз. предст-т собой совок-ть обознач-ий и правил для единообразной записи алг-ма(яз.прогр-я). 2.Словесное опис-е алг-ма(рецепт). 3.С пом-ю блок-схем(графич-ое представл-е алг-ма).

Исполнитель–у-во,выполн-ее команды

Команда–указ-е исп-лю вып-ть нек-рые д-я.

Исполнитель д/действовать формально.

Базовые стр-ры алг-мов:1.Линейный(пр-ма,в к-ой все оп-ры выполн-ся последоват-но,в том пор-ке,в к-ом они описаны).2.Развилка(Ветвл-е).Здесь исп-ся составные команды.В-е задает выполн-е либо одного,либо др. оп-ра в завис-ти от выполн-я какого-либо усл-я.3.Цикл(задает многократное выполн-е оп-ра).Выделяют 2 цикла:цикл”пока”с предусловием и цикл”до”с постусл-м.Цикл”пока”:while<усл-е выполн-я>do<тело цикла>(Если тело цикла содержит последоват-ть оп-ров,то говорят,что оно образует составной оп-р,в нач. и в конце к-ого надо писать begin и end.Служебные слова begin и end наз-ют операт-ными скобками,к-ые объединяют неск-ко оп-ров в один составной.Если же тело цикла-1 оп-р(несоставной),то опер-ных скобок не треб-ся.Цикл”до”программ-ся оп-ром repeat<тело цикла>until<усл-е окончания>.Тело цикла м/б как одиночным,так и составным оп-ром,однако begin и end не треб-ся,поск-ку сами слова repeat и until выполняют роль опер-ных скобок.

Вел-на – мн-во информац-х объектов(числа,тексты)

При написании алг-ма для переменной вел-ны вводится обознач-е–имя переменной –идентификатор.

Постоянные вел-ны обознач-ся своими знач-ми.

С т.з. ЭВМ,вел-на есть знач-е,к-ое хранится в ячейке памяти.За кажд. вел-ой закреплена своя ячейка памяти.

Хар-ки 1. Имя. 3. Диапазон знач-ий.

вел-н: 2. Тип. 4. Мн-во допустимых о-ций.

Присваив-е знач-я перем-й,3 способа:

  • С пом-ю оп-ции присваив-я.

  • С пом-ю оп-ции ввода.

  • При передаче данных от фактич-х к формальным пар-рам при вызове вспомогат-го алг-ма.

Св-ва команды присваив-я:

  • Пока перем-й не присвоено знач-е,она остается неопредел-ой.

  • Знач-е перем-ой присваив-ся до след. переприсваив-я.

  • Нов. знач-е перем-ой уничтожает старое.

Арг-ты–исходн. данные.

Рез-ты – искомые вел-ны.

Принципы структурн. программ-я:

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

  • М-д последоват-ой детализации.Задача сначала рассматрив-ся вцелом,затем разбивается на отдельн. подзадачи до тех пор,пока их нельзя б/решить с пом-ю элемент-х команд.

М-ды СП позволяют организовать работу коллективов.

ЯП – формальные,специально для общ-я чела с ПК.

Алфавит–фиксиров-й для данн. языка набор символов,допускаемых для составл-я текста пр-мы на этом языке.

Синтаксис–с-ма правил,определ-х допустимые конструкции ЯП из букв алфавита.

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

Алфавит языка:лат. буквы,арабские цифры,спец символы (+, –, /, %, !, =, ?, &),управляющие символы(\t, \n, \b).

Идентификатор–символич-ое имя определ-го программного объекта(перем-ой,константы,ф-ции).

Служебные слова:for,do,if,while,else,break,int,long,return.

Имена также называют идентификаторами.И-р. начинается только с буквы и _,м/состоять из букв,цифр, _. Пр-ма–законч-ое опис-е алг-м реш-я задачи на яз. программ-я.

Выраж-е-это правило вычисл-я знач-я.В выражении участвуют операнды,объед-ые знаками оп=ций.Операндами выраж-я м/б константы,переем-ые и вызовы ф-ций.Оп-ции выполн-ся в определ-ом пор-ке в соответствии с приоритетами,как и в мат-ке.Для измен-я пор-ка выполн-я оп-ций использ-ся круглые скобки,Ур-нь их вложенности практически неограничен.Резтом выраж-я всегда явл-ся знач-е определ-ого типа,к-ый определ-ся типами операндов.Вел-ны,участвующие в выражении,д/б совместимых типов.Ф-ции использ-ые в выражении вычисл-ся в 1-ую очередь.

Функции

Опис-е ф-ции:

Function имя[(список пар-ров)]:тип;{заголовок}

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

begin

раздел оп-ров

имя:=выраж-е;

end;

Ф-ция вычисляет одно знач-е,к-ое перед-ся ч/имя.След-но,в заголовке д/б описан тип этого знач-я,а в теле ф-ции-оп-р,присваивающий вычисл-ое знач-е ее имени.Этот оп-р необязат-но д/наход-ся в конце ф-ции.Более того,таких оп-ров м/б неск-ко-это определ-ся алг-мом,реализов-ым в ф-ции.

Операторы

Пр-ма состоит из исполняемых оп-ров и оп-ров опис-я.Исполн-й оп-р задает законченное д-е,выполн-ое над данными.Примеры:вывод на экран,занесение числа в память,выход из пр-мы.Оп-р опис-я описывает данные,над к-ми в пр-ме выполн-ся д-я.Исполн-ые оп-ры наход-ся м/служебными словами begin и end.Оп-ры отдел-ся др.от др. ;

Типы данных.

Type Length Range

unsigned char 8 bits 0 to 255

Char(литерный) 8 bits -128 to 127

enum 16 bits -32,768 to 32,767

unsigned int 16 bits 0 to 65,535

short int 16 bits -32,768 to 32,767

int 16 bits -32,768 to 32,767

unsigned long 32 bits 0 to 4,294,967,295

long 32 bits -2147483648 to 2147483647

float 32 bits 3.4e-38 to 3.4e+38

double 64 bits 1.7e-308 to 1.7e+308

long double 80 bits 3.4e-4932 to 1.1e+4932

Указатель

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

Строка-последоват-ть символов,заключ-ая в апострофы.

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

Множ-во-структ-ый тип данных,представл-ий набор выбранных по какому-либо признаку или группе признаков объектов,к-ые можно рассматр-ть как единое целое.

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

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

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

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

Оп-ции: арифметич-ие,логич-ие,битовые.

Программир-е алг-мов обработки данных:

Поиск: линейный, делением пополам.

Сортировка:

Характеризуется: кол-вом сравнений и присваив-ий.

  • Выбором

  • Обменом

  • Вставкой–массив делят на 2 части:отсортированная и нет, затем, находят место 1 элемента неотсортиров-ой части в отсортиров-ой и вставляют его. и т.д.

ООП

Принципы ООП:

1)Абстрагирование – процесс выделения абстракции предметной обл задачи. А-я – это сов сущ принципов, хар-к неj объекта. Эти хар-ки сущетвенно отл данный о-т от др о-тов

2)Огранич-е доступа – скрытие отдельных Эл-тов реал-ции абстракций. Этот принцип предпологает разграничение а-й на 2 части. В интерфейсной части размещ сов эл реал-ции а-ии, j доступны извне

3)Модульность – реал-ция проги в виде отдел частей

4)Иерархия – ранжированная ил упор сис а-й. Наслед св-в в и-ии – наслед-ся струк одной а-ии др-й

5)Типизация – огр-я, наклад-ые на св-ва о-та и препят-щие взаимод-ю о-тов разн типов. Тип может связываться с прог-ным о-том статически (на стад компил – раннее связ-е), дин о-т опр-ся на стад вып проги – позднее связ)

6)Параллелизм – неск о-т одновременно могут нах-ся в атив сост (на многопроцессорных машинах)

7)Устойчивость – а-я ожет суз во времени независ от процесса, породившего данный о-т. Бывают временные о-ты: хр-т промеж р-ты; локальные о-ты: сущ в рамках своёго блока; глоб о-ты: сущ во время раб всей проги.

[01] Формула объекта. Объекты и компоненты.

Объект – U данных с проц –ф-ми, j работают с ними. Поля – хранит данные. Методы – проц и ф-ии, j может вып объект. Св-ва – цвет, видимость, разм…, их можно читать и уст, программно это реал-ся ч/з методы. Объект – это неj сов полей данных и методов их обработки. Непосредственный доступ к полям отсут, для этого сущ методы. Компоненты – это объединение о-та с его прог-ной визуал-й на экране.

Каждый объект:

-помнит необходимую инф-цию;

-умеет делать нек-ый набор д-ий;

-характериз-ся набором св-в.

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

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

Объекты и компоненты:С появл-м Win программиров-е пользоват-го интерфейса усложнилось.Решили объед-ть объект и его визуальное представл-е в единое целое – компонент.Комп-ты объединяют программн. часть объекта с его видимым представл-м на экране.Комп-т в Delphi явл-ся строительным кирпичиком среды визуальн. программиров-я и приспособлен к визуальн. установке св-в.Это все упростило разработку W-приложений.

Классы объектов:Каждый объект принадлежит к нек-му классу. Класс –это абстрактное,обобщ-ое опис-е мн-ва однотипных объектов.Объект явл-ся конкретным представл-м своего класса –экземпляром класса.

С пом-ю класса одновременно описыв-ся данные и м-ды,работ-ие с этими данными,а сам объект явл-ся экземпляром класса.По своей стр-ре класс напоминает стр-ру записи:

Type

<имя класса>=Class

{здесь идет опис-е полей}

<имя поля>=<тип>

<имя поля>=<тип>

{опис-е м-дов}

<м-д 1>

<м-д 2>

Иногда констр-ры и дестр-ры м/использ-ть для своих специф-х назнач-ий.Для этого в классе к-ры и д-ры д/б описаны:

Procedure Print

Construction T.Person.Create

Begin

FName:=’ ‘;

FAdress:=’ ‘;

End;

Так же можно описать д-р,но надо помнить,что его можно применить только в существ-х объектах,поэтому н/применить м-д:Free.М-д Free вначале проверяет сущ-ет ли об-т.

Пр.:

Student:=TPerson.Create

Student.Free;

Основн. принципы ООП:

– инкапсуляция–объед-я данных и оп-ций в одной стр-ре.Это сделало объекты похожими на программные модули и обеспечило сокрытие их внутр-го устр-ва.

– наследование–при создании нового класса,немногим отлич-ся от старого,нет необход-ти перепис-ть все поля и м-ды.Дост-но в новый класс добавить новые м-ды и св-ва.Пр-сс порожд-я новых классов на основе старых –наследов-е.Объявл-й новый класс явл-ся потомком(дочерним),а старый класс–предком(родительским).Наследов-е –это такое отнош-е м/объектами,когда другой объект повторяет стр-ру и повед-е другого.

– полиморфизм–можно изменять работу уже существ-их в базовом классе м-дов,т.е. это св-во разл-х объектов выполнять одно и тоже д-е по-разному.

ИДЕОЛОГИЯ ПРОГРАММИР-Я ПОД WINDOWS.

Пр-мы в DOS предст-т собой набор команд м/Begin и end.В осн. работы Win лежит пон-е события.К соб-м относ-ся д-я пользов-ля.Есть набор пр-мм,к-ые обрабатывают д-я пользов-ля –обработчики событий.Пр-ма представ-т собой набор:событие –отклик. Обработка событий происходит многоступенчато.Анализ событий при щелчке по кнопке:

  • есть ли обработчик на нажатие кнопки?

  • если обработчик соб-я есть,то выполн-ся отклик на это соб-е(окно свернулось)

  • если обработчика соб-я нет,то отклика не происходит.

  • Управл-е перед-ся окну(обработчик события по окну)

  • Если там нет отклика,управл-е перед-ся W-с-ме.

В осн. идеологии Delphi лежит технология визуально – событийного программир-я.

  1. Визуальн. среда по указ-ю программиста строит форму со всеми комп-тами и формирует исходный код пр-мы.

  2. Программист дописывает на языке ОР детали пр-мы.Он делает это во встроенном редакторе кода.

  3. Визуальн. среда по команде программиста сама компилирует код и запускает.

Стр-ра прилож-я в Delphi: прилож-е наз-ся проектом. Проект в целом состоит из большого кол-ва файлов.Каждый файл –строго определ-ые ф-ции.Компилятор последоват-но обрабатывает все файлы и создает exe файл.Для кажд. проекта – отдельную папку.

Осн. категории Delhi:

-св-ва-атрибут объекта,к-й опред-т как объект выглядит или как он себя ведет.Left,Top,Width-опред-т вид объекта;Visible-как он себя ведет.Св-во устанавлив-ся 2-мя м-дами:set<имя св-ва>,get<имя св-ва>.Св-ва м/установить 3-мя способами:в инспекторе объектов,пр-ма,визуально.

-события-св-ва процедурного типа,предназначены для созд-я пользоват-ой р-ции на те или иные д-я.Различают события:мыши,клавы и системные события(OnActive,OnCloseQuery,OnClose).

-м-ды-процедура или ф-ция класса,определ-ая повед-е объекта.

Процедурные и непроцедурные Я.П.

С-ма предписаний для реализации данн. алг-ма. П.К. выполнит только то,что указано.

Исп-ся, когда невозможно дать четкий алг. реш-я.Это опис-е нек-рой предметной обл.,к к-ой относ-ся решаемые задачи. Опис-е состоит из данных,фактов,сведений из предметной обл. и правил истолкований этих фактов.

Фортран (Fortran) –появился первым.Предназначен для реш-я научно-тех. задач. Разработан в сер. 50-х фирмой IBM. Экономно использует память. Не структурный.

Бейсик (Basic) –потомок Ф.,был популярным.Обрабатывает не только числа,но и тексты.Появился в 60-х.

Алгол –появился в Европе в противовес Ф.Пригоден для реш-я широкого круга задач.Ему уже были присущи черты структурир-ого яз. Не получил распр-я,т.к. Ф. создан IBM.

Паскаль (Pasсal) –разработан Н. Виртом спец. для обуч-я студентов структурному програм-ю

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

Кобол –ориентирован на общий бизнес.Позволяет эфф-но работать с больш. кол-вом дан. Сущ. возмож-ть поиска и сортировки инф-и. Удобен и понятен.

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

Пролог (Prolog) –европейский яз.Основн. концепция –перевод логической задачи в текст прогр. П.К. сам решает задачу из набора фактов и правил работы с этими фактами. Программист лишь опред-т объекты,факты и логические связи м/ними.

Соседние файлы в папке Информатика