Смекни!
smekni.com

По предмету: «Основы информатики и программирования» (стр. 2 из 4)

· высоким уровнем;

· строгой ориентацией на символьные вычисления;

· возможностью инверсных вычислений, то есть переменные в процедурах не делятся на входные и выходные;

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

Объектно-ориентированное программирование

Прототипом объектно-ориентированного программирования послужил ряд средств, входящих в состав языка SIMULA-67. Но в самостоятельный стиль оно оформилось с появлением языка SMALLTALK, разработанного А. Кеем в 1972 году и первоначально предназначенного для реализации функций машинной графики.

Основная цель ООП, как и большинства других подходов к программированию – повышение эффективности разработки программ. Идеи ООП оказались плодотворными и нашли применение не только в языках программирования, но и в других областях Computer Science, например, в области разработки операционных систем.

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

Этапы создания программ

Этап 1: определение целей программы

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

Этап 2: проектирование программы

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

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

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

Этап 3: написание кода

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

#include <stdio.h>

INT MAIN (VOID)

{

Int dogs;

printf ("Сколько у вас собак?&bsol;n");

scanf("%d", &собак) ;

printf ("Следовательно, у вас %d собак(а, и) !&bsol;n", dogs);

return 0;

{

Пример 2.1.

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

Этап 4: компиляция

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

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

Этап 5: тестирование и отладка программы

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

Управляющие структуры

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

Оператор разветвления (if)

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

if <логическое_выражение> then -- последовательность инструкций end if; if <логическое_выражение> then -- последовательность инструкций 1 else -- другая последовательность инструкций 2 end if;

Выбор выполняется исходя из результатов анализа значения некоторого выражения. При выполнении оператора if сначала вычисляется условие.

Если результат - истина (любое отличное от нуля значение), то выполняется оператор 1.

Если результат анализа условия - ложь (равен 0), то выполняется оператор2. Если слово else отсутствует, то оператор1 пропускается, а управление передается на следующий после if оператор.

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

Если условие задано целым числом или переменной, то условие, не равное 0, всегда истинно, а равное 0, всегда ложно.

Вложенные (else if) и (if else)

При помощи if и else можно составлять else - if конструкции, которые могут осуществляют проверку нескольких выражений.

Свойства конструкции:

- условия проверяются в том порядке, в котором они перечислены в программе;

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

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

- последний else является необязательным, следовательно, он

и относящийся к нему оператор может отсутствовать. Для сокращения инструкций вида "else if ... ", и в целях улучшения читабельности, введена конструкция else if, которая может быть использована столько раз, сколько это будет необходимо.

if <логическое_выражение> then -- последовательность инструкций 1 elseif <логическое_выражение> then -- последовательность инструкций 2 elseif <логическое_выражение> then -- последовательность инструкций 3 else -- последовательность инструкций end if;

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

Оператор выбора (switch)

В программировании часто встречается задача выбора одного варианта решения задачи из многих возможных. Это можно сделать с помощью вложенных if…else. Однако более удобный способ - использование оператора SWITCH, общий формат которого следующий:

SWITCH (выражение)

{

case const1: орегаtог1; bгеак;

cаsе count2: орегаtог2; bгеак;

case count3: operator3; bгеак;

default: operator4; bгеак;

}

Свойства:

- выражение должно иметь целочисленный тип.

- оператор, указанный после case выполняется, если значение выражения равно соответствующей константе. Если ни с одной из констант совпадений нет,

то управление передается оператору, стоящему после default, если, конечно, defoult есть, так как его существование не обязательно.

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

- символьные константы в switch автоматически преобразуются в целочисленные;

- break передает управление за пределы оператора switch;

- если после какого-либо из операторов отсутствует break, то константа в следующем case считается подходящей условию и соответствующие операторы выполняются;