Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SHPORRI_SPASIBO_POCANAM.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
93.31 Кб
Скачать

1.Алгоритм и его свойства

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

1.Детерминированность (или другими словами определенность, однозначность) – четкость и ясность всех предписаний алгоритма.

2.Результативность – способность алгоритма приводить к решению задачи за определенное число шагов.

Массовость (или универсальность) – применимость алгоритма к решению задач определенного класса.

2.Способы записи алгоритма

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

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

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

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

2)линейных символов, указывающих поток управления;

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

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

3. Типы алгоритмов и их графическое изображение.

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

Типовые структуры алгоритмов: а) - следование; б, в) – ветвление (полное и неполное).

Типовые структуры алгоритмов: а) – цикл с предусловием; б) – цикл с постусловием.

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

Программа на языке Си это текстовый файл с расширением. c

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

1. заголовок

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

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

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

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

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

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

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

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

Это не жесткий порядок, а ориентировочный!

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

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

Функция - имеет { "тело" } в фигурных скобках. Тело - это код на Си определяющий то, что делает функция. Знак «;» после функции не ставится.

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

main(){

... какой то код программы ...

вызов функции_1; /* программа перейдет в функцию_1 строка программы */

// будет выполнятся после

// возврата из функции_1

... какой то код программы ...

}

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

5. Основные типы данных языка си

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

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

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

Все типы языка С++ можно разделить на простые (скалярные), составные (агрегатные) ифункциональные. Простые типы могут быть стандартными и определенными программистом.

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

Простые типы данных

Простые типы делятся на целочисленные типы и типы с плавающей точкой. Для описаниястандартных типов определены следующие ключевые слова:int (целый);char (символьный);wchar_t (расширенный символьный);bool (логический);float (вещественный);double (вещественный с двойной точностью).

Существует четыре спецификатора типа, уточняющих внутреннее представление и диапазон значений стандартных типов:short (короткий);long (длинный);signed (со знаком);unsigned (без знака).

Целый тип (int)

Размер типа int стандартом ANSI не определяется. Он зависит от реализации. Для 16-разрядного процессора под величины этого типа отводится 2 байта, для 32-разрядного — 4 байта.

Спецификатор short перед именем типа указывает компилятору, что под число требуется отвести 2 байта. Спецификатор long означает, что целая величина будет занимать 4 байта.

Внутреннее представление величины целого типа — целое число в двоичном коде. При использовании спецификатора signed старший бит числа интерпретируется как знаковый (0 — положительное число, 1 — отрицательное). Спецификатор unsigned позволяет представлять только положительные числа. Диапазоны значений величин целого типа с различными спецификаторами для IBM PC-совместимых компьютеров приведены в таблице 1.4.

По умолчанию все целочисленные типы считаются знаковыми.

Константам, встречающимся в программе, приписывается тип в соответствии с их видом. Программист может явно указать требуемый тип с помощью суффиксов L, l (long) и U, u(unsigned). Например, константа 32L имеет тип long и занимает 4 байта.

ПРИМЕЧАНИЕ

Типы short int, long int, signed int и unsigned int можно сокращать до short,long, signed и unsigned соответственно.

Символьный тип (char)

Под величину символьного типа отводится количество байт, достаточное для размещения любого символа из набора символов для данного компьютера. Как правило, это 1 байт.

Тип char, как и другие целые типы, может быть со знаком или без знака.

В величинах со знаком можно хранить значения в диапазоне от –128 до 127. При использовании спецификатора unsigned значения могут находиться в пределах от 0 до 255. Величины типа char применяются также для хранения целых чисел, не превышающих границы указанных диапазонов.

Расширенный символьный тип (wchar_t)

Тип wchar_t предназначен для работы с набором символов, для кодировки которых недостаточно 1 байта, например, Unicode. Размер этого типа зависит от реализации; как правило, он соответствует типу short.

Логический тип (bool)

Величины логического типа могут принимать только значения true и false. Внутренняя форма представления значения false — 0 (нуль). Любое другое значение интерпретируется как true. При преобразовании к целому типу true имеет значение

Типы с плавающей точкой (float, double и longdouble)

Стандарт С++ определяет три типа данных для хранения вещественных значений: float,double и longdouble.

Внутреннее представление вещественного числа состоит из мантиссы и порядка. Длина мантиссы определяет точность числа, а длина порядка — его диапазон.

Константы с плавающей точкой имеют по умолчанию тип double. Можно явно указать тип константы с помощью суффиксов F, f (float) и L, l (long). Например, константа 2E+6Lбудет иметь тип long double.

Таблица 1.3. Диапазоны значений простых типов данных для IBM PC

Тип Диапазон значений Размер (байт)

bool true и false 1

signed char –128 .. 127 1

unsigned char 0 .. 255 1

signed short int –32 768 .. 32 767 2

unsigned short int 0 .. 65 535 2

signed long int –2 147 483 648 .. 2 147 483 647 4

unsigned long int 0 .. 4 294 967 295 4

float 3.4e–38 .. 3.4e+38 4

double 1.7e–308 .. 1.7e+308 8

long double 3.4e–4932 .. 3.4e+4932 10

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

Тип void

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]