Ошибки передачи данных. Контрольный разряд четности.



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

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

Контрольный разряд четности. Простой метод обнаружения ошибок основывается на том принципе, что если известно, что обрабатываемый двоичный код должен содержать нечетное число единиц, а полученный код содержит четное число единиц, то произошла ошибка. Добавим дополнительный разряд, контрольный разряд соответствия, на место старшего разряда. (Следовательно, каждый 8-битовый код ASCII станет 9-битовым, а 16-битовой дополнительный код станет 17-битовым).

Этапы разработки программного обеспечения. Структура программы на языке С. Подключение библиотек. Предпроцессорные директивы. Комментирование программы. Примеры.

– постановка задачи;

– разработать модель и выбрать метод решения;

– разработка алгоритма;

– кодирование алгоритма;

– компиляция программы;

– тестирование программы;

– создание документации;

– сопровождение и эксплуатация

Общий вид: директивы препроцессора # include <stdio.h> # define N 10; имя главной функции main( ); начало тела главной функции {; объявления переменных и массивов int x=1; char str[N]; операторы программы puts("Введите имя"); gets(str); printf("\n %s, Вы %d мой гость!",str,x); Конец тела главной функции }.

Библиотека — это отдельный файл, прилагающийся к компилятору языка С, содержащий функции для решения распространенных задач. Функции ввода-вывода размещены в нескольких библиотеках, наиболее популярные из которых stdio, conio.

Составной частью компилятора является программа, называемая препроцессором. Препроцессор работает до трансляции программы с языка высокого уровня на машинный язык, выполняя её предварительное преобразование. Каждая директива препроцессора начинается с символа # (номер) и занимает всю строку. Директивы, которые не помещаются в одной строке, могут быть продолжены в следующей строке. Признаком продолжения строки является символ обратной косой черты ( \ ) в продолжаемой строке. #include <name>

где name – имя файла, включаемого в текст программы.

Эту директиву называют директивой подстановки.

#include <math.h>

позволит использовать в программе стандартные математические функции, такие как sin x, cos x, ln x и т.д.

Комментарий - игнорируемая компилятором часть программы, служащая для пояснения ее работы.

односторонний // двухсторонний /*...*/

int n = 0; // количество цифр

const int MaxIter = 1000;

/* Зададим максимально допустимое число итераций (повторений тела цикла), чтобы не допустить зацикливания программы в случае ошибки */

Текст программы: исходный, объектный, исполняемый. Этапы создания исполняемой программы. Структура программы на языке Си. Подключение библиотек. Предпроцессорные директивы. Комментирование программы. Примеры

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

Объектная программа может быть

последовательностью абсолютных машинных команд

последовательностью перемещаемых машинных команд

программой на языке ассемблера

программой на некотором другом языке

 

Состав языка Си: символы, лексемы, выражения, операторы. Алфавит языка Си. Константы (целые, вещественные, перечислимые, символьные, строковые), ключевые слова и идентификаторы. Формы представления констант. Именованные константы. Комментарии. Примеры.

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

Алфавит языка СИ++, который включает

прописные и строчные латинские буквы и знак подчеркивания;

арабские цифры от 0 до 9;

специальные знаки “{},| []()+-/%*.\’:;&?<>=!#^

пробельные символы (пробел, символ табуляции, символы перехода на новую строку).

Константы – это неизменяемые величины. Компилятор выделяет константу в качестве лексемы (элементарной конструкции) и относит ее к одному из типов по ее внешнему виду.

Константы делятся на 5 групп:

целые;

вещественные (с плавающей точкой);

перечислимые;

символьные;

строковые.

Целые константы могут быть десятичными, восьмеричными и шестнадцатеричными. Десятичная константа определяется как последовательность десятичных цифр, начинающаяся не с 0, если это число не 0 (примеры: 8, 0, 192345). Восьмеричная константа – это константа , которая всегда начинается с 0. За 0 следуют восьмеричные цифры (примеры: 016 – десятичное значение 14, 01). Шестнадцатеричные константы – последовательность шестнадцатеричных цифр, которым предшествуют символы 0х или 0Х (примеры: 0хА, 0Х00F).

Вещественные константы имеют другую форму внутреннего представления в памяти компьютера. Вещественные константы могут иметь две формы представления: с фиксированной точкой и с плавающей точкой. Вид константы с фиксированной точкой:[цифры].[цифры] (примеры: 5.7, .0001, 41.).Вид константы с плавающей точкой: [цифры][.][цифры]E|e[+|-][цифры] (примеры:0.5е5, .11е-5, 5Е3). В записи вещественных констант может опускаться либо целая, либо дробная части, либо десятичная точка, либо признак экспоненты с показателем степени.

Перечислимые константы вводятся с помощью ключевого слова enum. Это обычные целые константы, которым приписаны уникальны и удобные для использования обозначения. Примеры: enum { one=1, two=2, three=3,four=4};

Символьные константы – это один или два символа, заключенные в апострофы. Строковая константа – это последовательность символов, заключенная в кавычки. Например: “\nНовая строка”, “\n\”Алгоритмические языки программирования высокого уровня \”” .

Идентификаторы – имена объектов СИ-программ. В идентификаторе могут быть использованы латинские буквы, цифры и знак подчеркивания. Прописные и строчные буквы различаются, например, PROG1, prog1 и Prog1 – три различных идентификатора. Первым символом должна быть буква или знак подчеркивания (но не цифра). Пробелы в идентификаторах не допускаются.

Ключевые (зарезервированные) слова – это слова, которые имеют специальное значение для компилятора. Их нельзя использовать в качестве идентификаторов.

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

Примеры:

const long int a=4, d=562;

const double r=.24, pi=3.1415;

можно и так:

const long int a(4), d(562);

 


Дата добавления: 2021-01-21; просмотров: 346; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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