- •4 Алгоритм и его свойства.
- •6. Алгоритмизация решения задач и ее результат. Основные блоки визуальных алгоритмов. Пример.
- •10 Линейные и циклические алгоритмы.
- •14 Существуют прямые и итерационные методы решения нелинейных уравнений.
- •17 Одношаговые методы решения оду.
- •18 Одношаговые методы решения оду.
- •19 Одношаговые методы решения оду.
- •23 Методы прогноза и коррекции.
- •21 Методы прогноза и коррекции.
- •22 Методы прогноза и коррекции.
- •24 Методы прогноза и коррекции.
- •35. Методы одномерного поиска. Метод деления интервала пополам.
- •36. Методы одномерного поиска. Метод дихотомии.
- •37. Методы одномерного поиска. Метод золотого сечения.
- •39. Жизненный цикл программного продукта.
- •40. Основные принципа структурного программирования
- •41. Основные компоненты и понятия алгоритмических языков.
- •Условный оператор
- •Безусловные операторы
- •46. Операторы gets, putchar, getchar
- •49. While
- •51. Do while
- •52. Break и continue
- •Операторы break и continue
46. Операторы gets, putchar, getchar
Функция gets() читает строку символов, введенных с клавиатуры и помещает их по адресу, указанному в аргументе. Можно набирать символы, пока не будет нажат ввод. Символ, соответствующий клавише ввод - возврат каретки, - не станет частью строки. Вместо этого в конце строки появится нулевой символ, и gets() закончит работу. Фактически невозможно использовать gets() для получения возврата каретки (можно использовать getchar() и ее варианты). Если при вводе допущены ошибки, то они могут быть исправлены нажатием на клавишу BACKSPASE перед нажатием ввода. Функция gets() имеет прототип: char *gets(char *str); где str - это массив символов. Функция gets() возвращает указатель на str. Следующая программа осуществляет чтение строки в массив str и выводит ее длину: #include <stdio.h> #include <string.h> int main(void) { char str[80]; gets(str); printf("Length is %d", strlen(str)); return 0; }
Функция getchar
#include <stdio.h>
int getchar(void);
Функция getchar() возвращает из стандартного потока stdin следующий символ. При чтении символа предполагается, что символ имеет тип unsigned char, который потом преобразуется в целый.
При достижении конца файла, как и при обнаружении ошибки, функция getchar() возвращает значение EOF.
Функция getchar() чаще всего реализована как макрос.
Пример
Данная программа считывает в массив s символы из стандартного входного потока stdin, пока пользователь не нажмет клавишу ENTER. Затем введенная строка выводится на экран.
#include <stdio.h>
int main(void)
{
char s[256], *p;
p = s;
while((*p++ = getchar())!= '\n') ;
*p = '\0'; /* добавляем символ конца строки */
printf(s);
return 0;
}
Описание
Функция putchar записывает символ в текущей позиции в стандартный поток вывода (stdout) и перемещает внутренний указатель положения файла в следующую позицию. Это эквивалентно putc (charcter, stdout).
Параметры:
character Символ для записи.Символ передается как значение типа int.
Возвращаемое значение
Если ошибок не произошло при вызове функции, то возвращается целочисленное значение символа, который записывался в поток stdout. При возникновении ошибки, возвращается EOF, а индикатор ошибки устанавливается.
Пример: исходный код программы
1 2 3 4 5 6 7 8 9 |
//приме риспользования функции putchar для печати алфавита #include <cstdio>
int main () { for (char c = 'A' ; c <= 'Z' ; c++) putchar(c); // вывод на экран символ внглийского алфавита return 0; } |
49. While
Оператор цикла while или цикл while - цикл, повторяющий одно и то же действие, пока условие продолжения цикла while остаётся истинным.
1 2 3 4 5 6 |
// форма записи цикла while while (/*условие продолжения цикла while*/) { /*блок операторов*/; /*управление условием*/; } |
Условие продолжения цикла должно быть истинно true, как только условие стало ложным, выполняется выход из цикла. Также как и в условных операторах выбора, фигурные скобочки могут опускаться в том случае, если тело цикла — это один оператор. Но как правило в цикле выполняется несколько операторов, так как кроме выполнения полезного действия необходимо делать условие цикла while ложным, иначе цикл будет бесконечным, а это, в свою очередь, приведет к зависанию программы.
50. for
Цикл — многократное прохождение по одному и тому же коду программы. Циклы необходимы программисту для многократного выполнения одного и того же кода, пока истинно какое-то условие. Если условие всегда истинно, то такой цикл называется бесконечным, у такого цикла нет точки выхода.
В языке программирования С++ существуют такие циклы:
цикл for
цикл while
цикл do while
Тело цикла будет выполняться до тех пор, пока условие будет истинно(т. е. true).
1 2 3 4 5 6 |
// форма записи оператора цикла for:
for (/*выражение1*/; /*выражение2*/; /*выражение3*/ ) { /*один оператор или блок операторов*/; } |
Если в теле цикла for должен выполнится один оператор, тогда фигурные скобки можно опустить:
1 2 |
for (/*выражение1*/; /*выражение2*/; /*выражение3*/) /*один оператор*/; |
