Описание некоторых стандартов алгоритмов — КиберПедия 

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

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

Описание некоторых стандартов алгоритмов

2017-11-17 271
Описание некоторых стандартов алгоритмов 0.00 из 5.00 0 оценок
Заказать работу

 

1. Алгоритм вычисления суммы ряда чисел.

· Объявить переменную соответствующего типа для накопления суммы и обнулить ее: float sum=0;

· В процессе выполнения цикла при выполнении определенного условия или безусловно добавить к переменной sum+=a;

2. Алгоритм накопления произведения ряда чисел.

· Объявить переменную соответствующего типа для накопления произведения и инициализировать ее 1; при выборе типа учитывать, что произведение очень быстро растет. double pr=1;

· В процессе выполнения определенного условия или безусловно помножить переменную на очередное число pr*=b;

3. Алгоритм подсчета количества чего либо.

· Объявить переменную целого типа для подсчета количества и обнулить ее int kol=0;

· В процессе выполнения цикла при выполнении определенного условия количество увеличить на единицу kol++;

4. Алгоритм подсчета максимального из ряда чисел.

· Объявить переменную соответствующего типа для подсчета максимума. Первоначально в переменную max поместить первое число, среди которых ищем максимум max=a1;

· В процессе выполнения цикла каждое очередное число сравнить с переменно max.

if (max<aN)

max=aN;

5. Формирование в программе случайных чисел.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

для этого нужны заголовочные файлы:

#include "time.h" - для времени

#include "stdlib.h" - для случайных чисел

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

Один раз в программе вызвать функцию srand(); для инициализации генератора случайных чисел.

srand((unsigned)time(NULL));

 

а) Формирование случайного положительного числа в диапазоне типа unsigned

int n;

n=rand();

 

б) Формирование случайного целого числа в диапазоне [-m;+m]

int n;

n=rand()%(2*m+1)-m;

 

в) Формирование случайного дробного числа в диапазоне [-m;+m]

double n;

n=(rand()%(2*m+1)-m)*0.9738179;

 

Работа с файлами (функции ввода вывода верхнего уровня)

При работе с файлами, файл должен быть открыт. В результате этого действия определяется указатель потока.

Указатель потока – это адрес определенного места в оперативной памяти, где хранятся сведения о файле. Указатель потока позиционируется на начало файла при попытке записи или чтения или в конец файла при дозаписи. Указатель потока автоматически смещается по файлу вслед за чтением или записью. Программист принудительно может изменить позиционирование указателей потока с помощью функции fseek(). При окончании работы с файлом, поток должен быть закрыт, вследствие чего указатель потока освобождается и может быть использован для открытия других файлов. Функции ввода вывода работают не на прямую с файлом, а через указатель потока.

fopen (открытие потока).

Функция имеет два аргумента:

· Строка константа содержит полный путь к файлу или имя строки- переменной, в которую предварительно введено имя файла.

· Строка константа, содержащая режим доступа к файлу.

“r” – режим существующего файла.

“w” – это создание нового файла или перезапись существующего файла.

“a” – дозапись в конец существующего или созданного нового файла.

“r+” – к свойствам добавляется свойство записи.

“w+” – к свойствам добавляется свойство чтения.

“a+” – к свойствам добавляется свойство чтения.

t – текстовый редактор.

b – байтовый редактор.

Пример:

Функция возвращает в качестве результата указатель потока.

1. Открыть существующий файл для чтения.

FILE *in; //in – указатель потока

in = fopen (“C:\\user\\ИУ-42\\.f.txt”,“rt”);

if (in== NULL)

{

puts (“Нет файла”);

return;

}

2. Открыть файл для записи, имя файла ввести с клавиатуры.

FILE *out; // out – указатель потока;

char str [80];

puts (“Введите имя файла”);

gets (str);

out = fopen (str, “wt”);

if (out = = NULL)

{

puts (“Поток не открыт”);

return;

}

Закрытие потока. fclose(in); где in – имя потока.

Чтение из файла или запись файла происходит порциями.

Файл можно читать: 1)посимвольно; 2)построчно (с пробелами внутри); 3) словами; 4) чтение цифр определенного типа.

Любая функция чтения в качестве результата возвращает сигнал, закончился файл или нет.

Ввод -вывод символов.

Функция ввода fgetc – в качестве аргумента требует имя потока, а прочтенный символ возвращает в качестве результата. Переменная под символ должна быть объявлена типом int.

int simv;

simv = fgetс (in);

Если обнаружен конец файла

if (simv = = EOF)

{

// ситуация конца файла.

}

Функция вывода символа

fputc (simv, out);

fputc (‘*’, out);

Ввод - вывод строк с пробелами внутри.

Функция fgets имеет три аргумента:

· Имя строки, куда производится чтение.

· Размер строки.

· Имя потока.

char str[80];

if (fgets (str,80,in) = = NULL)

{

// ситуация конец файла.

}

fputs – имеет два аргумента:

· Строка откуда производится запись.

· Имя потока.

fputs (str, out);

fputs (“Привет”, out);

Функция ввода- вывода слов fscanf.

char str [40];

in n;

n = fscanf (in,”%s”,str);

if (n = = NULL)

{

// ситуация конца файла.

}

fprintf (out,”%s_”, str);

fprintf (out, “Привет!\n”);

Ввод -вывод чисел.

float ch;

in n;

n = fscanf (in,“%f”,&ch);

if (n = = NULL)

{

// ситуация конца файла.

}

 

Прямой доступ к файлу. fseek – используется для перемещения управления потока в произвольное место в файле.

Функция имеет три аргумента:

· Имя потока.

· Данные типа long, показывающие, на сколько байт будет произведено смещение.

· Равен нулю если смещение относительно начала файла, единица, если смещение относительно текущей позиции и двойке, если смещение относительно конца файла.

Функция fseek не отcлtживает смещение за пределы конца файла.

Пример:

fseek (in,-1L,1); на один символ назад относительно текущей позиции.

Если файл открыт для чтения и записи то переход от чтения к записи и, наоборот, от записи к чтению происходит через функцию fseek, даже если реальное смещение не нужно.


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

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

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.012 с.