Каким образом организовывать ввод данных для поддержки программной обработка неправильно введенных данных?

Массивы в языке Си: объявление, начальная инициализация, доступ к элементам массива. Индексное выражение.

Объявление массива

Массив — именованная группа данных одного типа, собранных под одним именем

[М_К_П](модификатор класса памяти)

имя [P1][P2]…[Pn]

int arr[10] — массив целых чисел размером в 10 элементов.

int arr [i][j] /* [строка][столбец] */

Инициализация

имя [Размер] = {список_инициализаторов}

int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; — одномерный

int [2][3] = {{1,2,3},{4,5,6}} — двухмерный

Доступ к элементу массива

Доступ к элементу массива осуществляется с помощью имени массива и индекса

Имя [номер_элемента] — одномерный

Имя [P1][P2]…[Pn] — многомерный

а[0]=1

Индексное выражение

Индексное выражение arr[5] ссылается на шестой элемент массива, т.к. нумерация элементов идет с нуля.

Если необходимо обратиться к 10 элементу, надо написать аrr[9] или аrr+9.

Особенности организации одномерных и многомерных массивов в языке Си. Понятие приведенного индекса массива.

Понятие приведенного индекса массива

* (имя + приведенный индекс массива) //адресное выражение

A[5] — *(A+5)

Определение алгоритма и его свойства

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

Свойства:

1) массовость — применим для класса подобных задач, причем для всех допустимых значений;

2) дискретность — процесс получения результата разделяется на элементарные операции из ограниченного набора;

3) результативность — получение результата за конечное время;

4) определенность — ориентирован на определенного исполнителя, который должен однозначно понимать все инструкции, входящие в алгоритм

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

Объекты, объявленные глобально, имеют закреплённую за ними область оперативной памяти, в

которой хранится их значение в течение всего времени выполнения программы.

Объекты, объявленные локально, имеют закреплённую за ними область оперативной памяти, в

которой хранится их значение, в течение времени выполнения блока, в котором они объявлены.

Это объекты, объявленные внутри блоков. При входе в блок под эти объекты выделяется память,

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

выделяется снова, но это может быть совершенно иная область памяти.

Область видимости (действия) объекта – это область программы, в которой объект является

доступным для использования.

Глобальную для файла область действия имеют объекты, объявленные на внешнем уровне в

данном файле, так как к ним можно обратиться из любой области файла за исключением блоков, в которых эти объекты локально переобъявлены.

Локальную область действия имеют объекты, объявленные внутри какого-нибудь блока, их область действия – от точки объявления до конца блока. Если имя локального объекта совпадает с именем глобального объекта, то внутри локального блока глобальный объект становится недоступным.

Влияние области локализации программной переменной на присваиваемое ей значение по

Умолчанию.

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

может записаться абсолютно любое значение

Какие спецификации форматов ввода-вывода данных имеют функции scanf() и printf()? Каким образом организовывать ввод данных для поддержки программной обработка неправильно введенных данных?

В простейшем виде спецификация формата имеет вид:

%[ширина_поля][.точность] [спецификатор]

Ширина поля — положительное целое число, задающее минимальное количество позиций,

занимаемых выводимым значением; если число символов в выводимом значении меньше, чем

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

Точность — положительное целое число, указывается в основном для вещественных чисел, означая

в этом случае количество выводимых после десятичной точки цифр.

Спецификаторы формата:

%с символ

%d целое десятичное число

%e десятичное число в виде x.xx e+xx

%f десятичное число с плавающей запятой xx.xxxx

%G десятичное число с плавающей запятой xx.xxxx, но с отбрасыванием нулей

%s строка символов

%p указатель

Функция форматного ввода scanf()

Оператор вызова этой функции имеет вид:

scanf(форматная_строка, список_ввода)

scanf(%d%f, i, a);

printf(Переменная x = %.3f,x);

Каким образом организовывать ввод данных для поддержки программной обработка неправильно введенных данных?

Это можно сделать при помощи флага.

Например

flag=scanf(%d,a)

Функция scanf возвращает 0 при неправильном вводе и 1 при правильном.

Далее с помощью функции if делаем проверку и в случае неправильного ввода выводим ошибку.

Перенаправление потоков ввода-вывода. Как можно сформировать файл с исходными данными? Потоковые функции для работы с текстовыми файлами fprintf() и fscanf(), их использование для файлового ввода-вывода.

+7. Как вывести результат работы программы в файл?

Поток – это программный канал для обмена данными между приложением и ОС или другим

приложением. Потоки бывают входные, выходные и двунаправленные.

Команды и сценарии могут получать входные данные двумя способами: из стандартного входного

потока (связан с клавиатурой) или из файла. Аналогичное разделение существует и при выводе

данных: результаты работы команды или сценария по умолчанию направляются на экран

терминала, но можно перенаправить их в файл.

Операция открытия файла связывает поток с определённым файлом, операция закрытия

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

FILE. Указатель на данную структуру, называемый также указателем на файловую переменную,

является связующим звеном между потоком и файлом, работа с потоком, а значит, и со

связанным с ним файлом, осуществляется через связанный с потоком указатель на файловую

переменную. Работа с потоком, который не связан ни с каким файлом, либо невозможна, либо

может привести к неправильной работе как программы, так и системы в целом.

FILE * fopen (const char * path, const char * mode);

Функция открывает файл, имя которого принимает в качестве параметра path, и связывает его с

потоком. В случае успеха функция возвращает указатель на файловую переменную, в случае

ошибки – NULL. Параметр mode задает режим открытия файла.

Режим Действие

«r» Открыть существующий файл для чтения (файл должен существовать на диске).

«w» Открыть существующий (содержимое при открытии теряется) или создать новый файл

для записи.

«a» Открыть существующий или создать новый файл для добавления (запись в конец файла).

(Создание БД) 5. Создание формы для ввода данных в базу данных (Delphi)


Похожие статьи.

Понравилась статья? Поделиться с друзьями: