Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Составление алгоритма решения
Для отработки методики структурирования, несмотря на относительную простоту математической модели и простейший метод решения, выполним схему алгоритма пошагово. На первом шаге определим цель решения, на втором – выполним детализацию основных участков, на третьем – скомпонуем окончательный вариант алгоритма решения задачи (рис. 3.2). Конечный вариант алгоритма решения (шаг 3) предписывает естественный порядок его выполнения. Естественный порядок выполнения алгоритма – однократная последовательная реализация всех указанных блоков, при которой номер каждого последующего на единицу больше предыдущего. Программирование задачи Составление программы решения требует предварительного ознакомления с элементами конкретного входного языка. Шаг 1 Шаг 2 Шаг 3 Рис. 3.2. Структурированная схема алгоритма задачи 3.1 В качестве такого языка выбран универсальный язык программирования Си/Си++. Первая версия языка программирования Си разработана и реализована в 1972 году сотрудником фирмы AT&T Bell Laboratories (США) Деннисом Ритчи. Растущая популярность языка Си обусловлена двумя причинами. Во-первых, Си – современный, эффективный, гибкий язык, который можно использовать для программирования прикладных задач. Во-вторых, он пригоден для создания системного программного обеспечения ЭВМ. На языке Си выполнены операционная система UNIX и система управления базами данных FoxPro. За прошедшие десятилетия язык совершенствовался и дополнялся в рамках конкретных версий (Си, ТурбоСи). В настоящее время наиболее распространена версия Си++. Все версии имеют общую базу и компонуются из стандартных элементов. В предлагаемом издании излагается базовый компонент языков Си/Си++, ориентированный на программирование типовых задач начинающим пользователем. Изложение основ языка Си/Си++ осуществляется по методике изучения разговорных языков – алфавит, простейшие, основные, сборные конструкции. 3.5.1. Алфавит Си/Си++ Алфавит языка программирования – совокупность букв, цифр и знаков (специальных символов), используемых в нем. Алфавит языка Си/Си++ составляют 52 (заглавные и прописные) латинские буквы, 10 арабских цифр, 30 знаков и символов:
3.5.2. Простейшие конструкции Си/Си++ Простейшие конструкции алгоритмического языка – аналоги слогов (слов) разговорного языка. Классификация простейших конструкций по критерию «типовые компоненты» представлена на рис. 3.3. Рис. 3.3. Классификация простейших конструкций Си/Си++ Рассмотрим простейшие конструкции Си/Си++ подробно. Ключевые слова Ключевое слово– обозначение стандартного действия (описания) в программировании. К основным ключевым словам Си/Си++ относятся:
Константы Константа – данное в форме конкретного значения, не меняющееся в процессе выполнения программы. Большинство констант в Си/Си++ соответствует числам в математике. Дополнительно возможно использование не числовых – текстовых констант. Константы классифицируются по трём критериям – тип, размер, форма представления.
Тип– основной критерий, определяющий принадлежность константы к конкретной группе (целые, вещественные, текстовые). Внутри группы применимы два остальных критерия. Размер– диапазон представления констант. Форма представления – шаблон записи констант. Классификация констант по основным критериям представлена на рис. 3.4. В отличие от математики, в Си/Си++ истинные значения констант – беззнаковые. Положительность (отрицательность) задаётся унарной операцией присвоения знака + (–). Операция– элементарное действие над данными (операндами). Операнд– величина (данное), участвующая в операции. Унарная операция– операция с использованием одного операнда. Рис. 3.4. Классификация констант по типам и размерам Для облегчения перехода от чисел в математике к константам алгоритмического языка будем считать унарные операции формирования знака признаками положительности (отрицательности) константы. Целые константы Целая константа – совокупность цифр, предваряемая знаком + (-) или без него. Константа без знака считается положительной. Универсальность языка Си/Си++, в частности, обусловлена возможностью работы не только с удобными пользователю-непрофессионалу десятичными числами. В качестве целых констант используются восьмеричные, десятичные и шестнадцатеричные. Десятичная целая константа – аналог целого десятичного числа в математике. Структура десятичной константы: , где m – одна из десятичных цифр константы (0-9); – признак положительности (отрицательности); [ ] – признак необязательности содержимого. Примеры целых констант: 3, 101, +19, -18640. Восьмеричная целая константа– конструкция, соответствующая восьмеричному числу в математике. Структура восьмеричной константы: , где 0 – признак восьмеричной константы; m – одна из восьмеричных цифр константы (0-7); – признак положительности (отрицательности); [ ] – признак необязательности содержимого. Примеры записи целых восьмеричных чисел и констант представлены в табл. 3.1. Таблица 3.1
Шестнадцатеричная целая константа – конструкция, соответствующая шестнадцатеричному числу в математике. Шестнадцатеричное число в математике компонуется из цифр от 0 до 9 и начальных букв латинского алфавита A, B, C, D, E, F (a, b, c, d, e, f), обозначающих цифры записи десятичных чисел от 10 до 15 соответственно. ü Внимание! В шестнадцатеричных константах Си/Си++ значения одинаковых прописных и строчных букв идентичны. Структура шестнадцатеричной константы: или , где 0X (0x) – признак шестнадцатеричной константы; m – одна из шестнадцатеричных цифр константы (0-9, A-F, a-f); – признак положительности (отрицательности); [ ] – признак необязательности содержимого. Примеры записи целых шестнадцатеричных чисел и констант представлены в табл. 3.2.
Таблица 3.2
По критерию размер целые константы разделяются на обычные и длинные.
Обычная – константа целого типа, занимающая поле памяти размером в одно слово (в большинстве случаев 2 байта). Двухбайтовые слова ПЭВМ позволяют рассчитать диапазоны изменения целых констант. Для десятичных диапазон определяется неравенствами: . Для восьмеричных диапазон определяется неравенствами: . Для шестнадцатеричных диапазон определяется неравенствами: . При необходимости увеличения диапазона, используются длинные константы. Длинная– константа целого типа, занимающая поле памяти размером в два слова (чаще размером 4 байта). Четырёхбайтовые слова ПЭВМ позволяют рассчитать увеличенные (более чем на четыре порядка, конкретно в 65535 раз) диапазоны изменения длинных целых констант. Так, длинные знаковые целые десятичные константы изменяются в диапазоне от -2147483648 до +2147483647. Беззнаковые – от 0 до 4294967295. ü Внимание! Выбор размера поля для хранения констант выполняется автоматически в зависимости от числа разрядов константы. Двойную длину константы (по желанию) можно указать явно. Отличительный признак – буква L (l) в конце константы. Структуры длинных явно указанных констант имеют вид или или или Примеры длинных явно указанных констант: 1000242L, 047777777l, +12345678L, -0ХА761263l Вещественные константы Вещественные константы соответствуют дробным (рациональным) числам в математике. В математике известны две формы представления дробных чисел: естественная (с фиксированной запятой) и экспоненциальная (с плавающей запятой). Структура чисел с фиксированной запятой: , где m – одна из десятичных цифр дробного числа (0-9); , – разделитель целой и дробной части числа; – признак положительности (отрицательности); [ ] – признак необязательности содержимого. Примеры десятичных чисел с фиксированной запятой: 34,5; -198,67; 0,0042; +1200,0. Числа с плавающей запятой могут быть представлены обобщённой и развёрнутой структурами. Обобщённая структура чисел с плавающей запятой: , где M – мантисса числа; 10 – основание системы счисления; Р – порядок числа; – признак положительности (отрицательности); [ ] – признак необязательности содержимого. Представив мантиссу M и порядок P детализовано, получим развёрнутую структуру чисел с плавающей запятой: , где m – одна из десятичных цифр мантиссы числа (0-9); , – разделитель целой и дробной части числа; 10 – основание системы счисления;
n – одна из десятичных цифр порядка (0-9); – признак положительности (отрицательности); [ ] – признак необязательности содержимого. Примеры десятичных чисел с плавающей запятой: 0,3·105 ; +12,72·10-8; -0,0004·1012 ; 0,33·10+3 ; 45,0·10-4 . Первый сомножитель каждого числа составляет мантисса, показатель степени второго – порядок. Проанализировав развёрнутую структуру чисел с плавающей запятой, можно сделать вывод о её универсальности. Действительно, при нулевом показателе степени второй сомножитель становится равным единице (100 = 1) и может быть опущен. Следовательно, число с плавающей запятой приобретает структуру числа с фиксированным разделителем. Данная закономерность используется для представления вещественных констант в Си/Си++. Вещественная константа (константа с плавающей точкой ) – аналог дробного (рационального) десятичного числа в математике. Структуры вещественной константы: , где m – одна из десятичных цифр мантиссы числа (0-9); . – разделитель целой и дробной части мантиссы; E (e) – обозначение основания десятичной системы счисления; n – одна из десятичных цифр порядка (0-9); – признак положительности (отрицательности); [ ] – признак необязательности содержимого. Структура позволяет формировать константы с фиксированной (без экспоненты) и плавающей точкой (с экспонентой). Для констант с фиксированной точкой составляющая не указывается. Для констант с плавающей точкой наличие элемента обязательно. ü Внимание! Одна из составляющих мантиссы обязательна в любом из вариантов представления вещественной константы. Примеры записи вещественных десятичных констант представлены в табл. 3.3. Таблица 3.3
ü Внимание! Запрещается внутри константы использовать пробелы. Вещественные константы, как и числа, оцениваются по двум параметрам: диапазону и точности представления. Диапазон представления констант– разность максимального и минимального значений порядка. Точность представления констант– определение количества разрядов мантиссы. В Си/Си++ предусмотрены вещественные константы двух вариантов точности – обычной и двойной. Вещественные константы обычной точности хранятся в четырёхбайтовых полях памяти в двоичном виде. Первый байт отводится под показатель степени, остальные три – для записи мантиссы. Следовательно, десятичные константы обычной точности могут содержать не более трёх разрядов порядка (максимум 127) и 7-8 значащих цифр мантиссы. По форме записи константы могут быть нормализованными или ненормализованными. Нормализованная– константа с мантиссой в диапазоне или . В Си/Си++ используется второй вариант нормализации. Реальный диапазон представления вещественных констант обычной точности составляет ±3.4000000E±38.
Примеры нормализованных констант: 2.3Е2 +7.0Е-4 -1.08Е+6 Вещественные константы двойной точности хранятся в восьмибайтовых полях памяти. Первые полтора байта отводится под показатель степени, остальные (6,5) для записи мантиссы. Следовательно, десятичные константы двойной точности могут содержать не более четырёх разрядов порядка (максимум 2047) и 16–17 значащих цифр мантиссы. Реальный диапазон представления нормализованных вещественных констант двойной точности составляет ±1.700000000000000E±308. ü Внимание! Автоматически вещественные константы помещаются в восьмибайтовые поля памяти, т.е. представляются с двойной степенью точности. Использование констант с обычной точностью (по желанию) требует явного указания. Отличительный признак константы обычной точности – буква F (f) в конце константы. Структуры констант с обычной точностью имеют вид: Примеры явного указания обычной точности для вещественных десятичных констант: 101.037F, -15.2f, 0.46578E-2f, +0.000123e6f, -55.3e-12F Текстовые константы Текстовая константа – представление символов поэлементно или в совокупности. Реализуется в виде символьной константы или символьной строки. Символьная константа – единичный символ, подлежащий обработке. Обозначение символьной константы оформляется структурой: ‘c’ , где c –символ, составляющий константу; ‘ – ограничители символа (константы). В качестве символа (с) может использоваться любой элемент алфавита Си/Си++ или клавиатуры, за исключением апострофа (‘) и обратной косой черты (\). Примеры записи символьных констант: ‘A’; ‘.’; ‘a’; ‘4’; ‘ю’; ‘+’; ‘]’; ‘%’. Символы апостроф «‘» и обратная косая черта «\» обозначаются символьными константами ‘\’’ и ‘\\’. Каждая символьная константа помимо обозначения имеет числовое значение. Значение символьной константы – ее целочисленный восьмеричный код. Код символьной константы с предшествующим знаком \ (обратная косая черта) допускается применять вместо символа. Это удобно для обозначения не выводимых на печать символов. Например, звуковому сигналу соответствует код 007. При записи восьмеричного кода левые незначащие нули можно не указывать. Так, символьные константы ‘\007’, ‘\07’, ‘\7’ являются идентичными. ü Внимание! Коды цифр не совпадают с их обозначением. Например, символу '4' соответствует код '\064'. К невидимым символам, наряду со звуковым сигналом, относятся управляющие последовательности.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-01-08; просмотров: 112; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.152.173 (0.117 с.) |