рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Технология подготовки и решения задачи на компьютере

Технология подготовки и решения задачи на компьютере - раздел Программирование, Лекция 1 Понятие программы и языка программирования Технология Подготовки И Решения Задачи На Компьютере Включает: O ...

Технология подготовки и решения задачи на компьютере включает:

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

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

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

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

 

Функция как компонент структуры программы

Функция в программировании — это поименованная часть программы, которая может вызываться из других частей программы нужное количество раз. Логически программа на С++ представляет собой набор функций, одна из которых, главная, имеет имя main() (в простейшем случае функция main() является единственной). Программа начинает работу с функции main(), являющейся точкой входа в программу и получающей управление первойпосле запуска программы на выполнение.

Обычно программа на С++состоит из большого числа небольших функций. Рассмотрим примеры программ, демонстрирующих вывод в стиле С и в стиле С++:


/* proba_1_1.cpp вывод в стиле С */ #include[4] <stdio.h> //для ввода/вывода #include <conio.h> //для _getch() int main() { printf ("Ivanov Ivann"); printf ("Okn"); _getch();// функция _getch() приостанавливает выполнение программы до «нажатия любой // клавиши», это позволит увидеть результат вывода return 0[5]; }
//proba_1_2.cpp вывод в стиле С++ */ #include <iostream> //для ввода/вывода #include <conio.h> //для _getch() int main() { std[6]::cout << "Ivanov Ivann"; std::cout << "Ok"<< std::endl[7] ; _getch(); return 0; }
//proba_1_3.cpp вывод в стиле С++ с использованием пространства имен std*/ #include <iostream> #include <conio.h> using namespace std[8]; int main() { cout << "Ivanov Ivann"; cout << "Ok"<< endl; _getch(); return 0; }

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

Ivanov Ivan

Ok

Пояснения к примерам:

Для удобства работы целесообразно в начало каждого текстового файла программы помещать строку комментария с именем файла. В третьей и четвертой строках программ – директивы препроцессора, обеспечивающие включение в программу средств связи со стандартными потоками ввода/вывода данных и прототипа функции _getch(). В строке, содержащей заголовок функции main(),служебное словоint указывает, что функция возвращает целое значение. Круглые скобки после main()соответствуют синтаксису заголовка любой функции. В них помещается, при необходимости, список параметров.

В фигурных скобках представлено тело функции (последовательность описаний, определений и операторов, каждое из которых заканчивается символом «точка с запятой»). В наших примерах тело функции содержит только операторы вывода текста. С++ обеспечивает выполнение вывода в стандартный поток std::cout с использованием оператора <<, а ввода из стандартного потока std::cin – с использованием оператора >>. В то же время, доступны, как и в С, функции вывода printf() и ввода scanf().

Одна из принципиальных особенностей С++ – расширение действия стандартных операций, или перегрузка. Конструкция (лексема) <<,при условии, что слева от нее находится имя объекта std::cout ( std::cout <<) означает операцию«поместить в поток»,в противном случае,означает, как и в языке С, операцию сдвига влево двоичного представления значения левого операнда (например, запись x <<2 означает сдвиг значения переменной x на 2 разряда влево, т.е. умножение на 4).

Оператор return – оператор возврата, завершающий выполнение программы и передающий в точку ее вызова значение выражения (returnвыражение;). Для функции main() это значение должно быть равно нулю (return0;), если исполнение программы прошло успешно. Так как программа «запускается» на исполнение по команде операционной системы, то и возврат будет выполнен к операционной системе (точнее, в стандартный модуль, который автоматически «прикомпоновывается» к программе и из которого осуществляется ее вызов).

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

Формат заголовка функции:

void имя_функции ( ) // нет ни параметров, ни возвращаемого значения

void имя_функции (void ) // нет ни параметров, ни возвращаемого значения

void имя_функции (список_параметров) // есть параметры и нет возвращаемого значения

тип_функции имя_функции (список_параметров)

// есть параметры и есть возвращаемое значение

тип_функции имя_функции ( ) // нет параметров и есть возвращаемое значение

 

Прототип функции – это заголовок функции, заканчивающийся символом «;» :

char* strcpy(char*, const char*);

Объявление функции–указание ее прототипа.

Сигнатура функции– часть заголовка функции, позволяющая средствам трансляции идентифицировать функцию среди других. В С++ простая функция однозначно опознаётся компилятором по её имени и последовательности типов её параметров, что составляет сигнатуру функции в этом языке: заголовок функции, за вычетом типа_функции:

имя_функции (список_параметров)

Если функция является методом некоторого класса, то в сигнатуре будет участвовать и имя класса:

Complex::add (Complex& x, Complex& y)
//функция
add принадлежит классу Complex

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

{описание данных

операторы;

return [выражение]; // [выражение ] может отсутствовать

}

Тип функции – это тип возвращаемого функцией значения. Оператор return выражение; возвращает значение выражения в точку вызова функции. Оператор return; записываемый без выражения означает, что функция не имеет возвращаемого значения и имеет тип void. При этом управление из функции возвращается либо при выполнении этого оператора, либо при достижении правой фигурной скобки, завершающей функцию (при отсутствии ключевого слова return).

 

return; //функция не возвращает значения и имеет тип void;

return 3; //возвращаемое функцией значение = 3;

return (a + b); //возвращаемое значение = значению выражения (а + b);

//скобки необязательны, используются для улучшения читаемости кода

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

Определение функции–это совокупность ее заголовка и тела.

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

_getch(); //вызов функции ожидания нажатия клавиши на клавиатуре strcpy(s,"aaaaa");//вызов функции копирования строки "aaaaa" в строку s int i = f1(5);//переменной i присваивается значение результата вызова функции f1 f2(x); double x = sin(1.2) + cos(0.7);//переменной x присваивается значение суммы результатов вызова
//функций синуса и косинуса от заданнных аргументов

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

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

double CUB_X (double x)

{
return (x*x*x);

}

void main ()

{

double a = 10.0, y;

y = CUB_X(a);

return ;
}

 

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

Если функция возвращает значение некоторого типа, то необходимо принять (сохранить) это значение в переменную того же типа, либо вывести его на экран, либо использовать в составном выражении. Например, функция sqrt() (#include <math.h>), извлекающая квадратный корень, принимает как аргумент значение, из которого корень следует извлечь, и возвращает значение этого корня:

double x=2.0; double dbl = sqrt(x); cout << dbl << " " << sqrt(5.0);

С++ не позволяет определять функции внутри других функций. Связь между функциями осуществляется с помощью передаваемых функции фактических параметров (аргументов) и возвращаемых значений или через глобальные (внешние) переменные. Определение «внешние» используется главным образом для того, чтобы подчеркнуть отличие от «внутренних» информационных объектов – аргументов и переменных, определяемых внутри функции.

 

Примеры простых программ

– Конец работы –

Эта тема принадлежит разделу:

Лекция 1 Понятие программы и языка программирования

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

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

Что будем делать с полученным материалом:

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

Все темы данного раздела:

Лекция 1
Введение в С++ Искать суть бытия – пустой каприз...Здесь все правы: где, кто и что нароет...Ведь жизнь обычно тратится на жизнь...,Но на какую?.. Вот, что беспокоит.

Компоненты языка программирования
Язык программирования содержит в себе компоненты, предназначенные для описания соответствующих частей программы: · средства описания данных, позволяющие программисту определять разл

Жизненный цикл программного средства
Комплексы программ создаются, эксплуатируются и развиваются во времени. Жизненный цикл программного средства (ПС) включает в себя все этапы развития – от возникновения потребности в программе опред

Вычисление значения функции в заданной точке
    Представленные варианты программы используют разные средства ввода-вывода:   //proba_2_1.cpp #include <iostream> #inc

Proba_3.cpp
#include <iostream> #include <conio.h> using namespace std; //директива есть!!!, std:: перед cout далее отсутствует int main() { int x; //вв

Технологический цикл обработки программы
Технологический цикл обработки программы выглядит следующим образом: Рис.1.4. Технологич

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

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

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

С– подключение к файлу main.cppстандартного заголовочного файлаstdafx.h.
D – определение глобальных переменных, доступных во всех файлах программы при объявлении их в этих файлах как extern.   В б

K – подключение к файлу bblsort.cpp стандартного заголовочного файлаstdafx.h.
L – описание глобального массива строк Line, спецификатор extern указывает на то, что определение массива сделано в другом месте (в данном случае в файлеmain.cpp).

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги