Алгоритм. Понятие алгоритма. Типы алгоритмов. Формы представления. Основные блоки. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Алгоритм. Понятие алгоритма. Типы алгоритмов. Формы представления. Основные блоки.



ü Понятие алгоритма: Алгоритмом называется точное и понятное предписаниe исполнителю совершить последовательность действий, направленных на решение поставленной задачи.

Свойства алгоритма.

- Дискретность.

- Понятность

- Детерминированность

- Массовость

- Результативность

ü Типы алгоритмов: Все имеющиеся алгоритмы можно разделить на три вида:

- линейные алгоритмы;

- алгоритмы ветвления;

- циклические алгоритмы.

ü Формы представления:

- словесная (записи на естественном языке);

- графическая (изображения из графических символов);

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

- программная (тексты на языках программирования).

ü Основные блоки:

4. Программирование на языке С.Основные понятия языка (алфавит, идентификаторы, ключевые слова, препроцессор, объектный код)

ü Программирование на языке С: http://comp-science.narod.ru/Progr_new/release_01/cpp2.html

ü Основные понятия языка:

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

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

Ключевые слова – это слова языка, имеющие строго определенное назначение, которые не могут использоваться в качестве идентификаторов.

Препроцессор С/С++ — программный инструмент, изменяющий код программы для последующей компиляции и сборки, используемый в языках программирования Си и его потомка - C++. Этот препроцессор обеспечивает использование стандартного набора возможностей:

- Замена триграфов и других символами #, [, ]

- Замена комментариев пустыми строками

- Включение файла — #include

- Макроподстановки — #define

- Условная компиляция — #if, #ifdef, #elif, #else, #endif

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

Структура программы на языке С.

Текст программы имеет определенную структуру:

1. заголовок

2. включение необходимых внешних файлов

3. ваши определения для удобства работы

4. объявление глобальных переменных

Перед использованием переменной в Си её необходимо объявить! Т.е. указать компилятору какой тип данных она может хранить и как она называется.

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

5. описание функций - обработчиков прерываний

6. описание других функций используемых в программе

7. функция main - это единственный обязательный пункт!

Типы данных языка С.

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

Простые (скалярные) типы:

- целые,

- вещественные,

- символьные,

- указатели,

- перечислимый тип.

Составные (структурированные) типы:

- массив,

- структура,

- объединение.

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

Целые и вещественные переменные предназначены для хранения чисел, символьные переменные – это также числовые переменные, они хранят ASCII коды символов.

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

Массив – это группа элементов одинакового типа (double, float, int и т. п.). Из объявления массива компилятор должен получить информацию о типе элементов массива и их количестве.

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

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

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

 

Операции арифметические, логические, операции отношения. Приоритет операций.

ü Операции арифметические, логические, операции отношения:

Арифметические операции

Бинарными арифметическими операциями являются + - * / %.

(Существуют также унарные + и -).

При делении целых дробная часть отбрасывается.

Так, 10/3 дает 3, в то время как 10/3.0 дает 3.33333...

Операция a % b применяется только к целым операндам и дает остаток от деления a на b, так

10%3 дает 1, 2%3 дает 2, 12%2 дает 0.

Операции отношения

Операциями отношения являются => > <= <.

Все они имеют одинаковое старшинство. Непосредственно за ними по уровню старшинства следуют операции равенства и неравенства:

= = (равно),!= (не равно) с одинаковым старшинством.

Операции отношения младше арифметических операций, так что выражения типа i < lim+3 понимаются как i < (lim+3).

Операция сравнения определяет некоторое выражение. Значение этого выражения равно целой 1, если условие, выраженное сравнением, выполняется и равно 0, если нет.

Логические операции

К логическим операциям относятся:

- унарная операция логическое НЕ,! (отрицание);

- бинарная операция логическое И, && (конъюнкция);

- бинарная операция логическое ИЛИ, || (дизъюнкция).

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

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

Результатом логической операции является 0 или 1 типа int.

Операция!операнд дает 0, если операнд ненулевой и 1 если операнд равен нулю.

Операция && (И-логическое, логическое умножение) дает значение 1, если оба операнда имеют ненулевое значение. Если один из операндов равен 0, то результат также равен 0. Если значение первого операнда равно 0, то второй операнд не вычисляется.

Операция || (ИЛИ-логическое, логическое сложение) вырабатывает значение 0, если оба операнда равны 0. Если какой-нибудь из операндов имеет ненулевое значение, то результат операции равен 1. Если первый операнд имеет ненулевое значение, то второй операнд не вычисляется.

ü Приоритет операций: Итак, каждая операция в языке C++ обладает приоритетом. Приоритет определяет, в какой последовательности будут выполняться операции в выражении.

Не забываем, что оператор в C++ - это строка кода заканчивающаяся точкой с запятой.

Возьмём например следующий оператор:

y = x + 5;

Здесь выполняются две операции: операция сложения и операция присваивания. Так вот операция суммы обладает более высоким приоритетом, чем операция присваивания. Поэтому сначала вычисляется сумма x и пяти, а затем получившийся результат присваивается переменной y.



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 371; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.156.250 (0.013 с.)