Скачать презентацию Лекция 2 Алгоритмические языки и программирование Часть Скачать презентацию Лекция 2 Алгоритмические языки и программирование Часть

lektsia_2_3.pptx

  • Количество слайдов: 27

Лекция 2 Алгоритмические языки и программирование Лекция 2 Алгоритмические языки и программирование

Часть 1 Часть 1

Стандартные потоки • В начале выполнения программы автоматически открываются три потока. • stdin (стандартный Стандартные потоки • В начале выполнения программы автоматически открываются три потока. • stdin (стандартный поток ввода), • stdout (стандартный поток вывода), • stderr (стандартный поток ошибок). Обычно эти потоки направляются к консоли, но в средах, которые поддерживают перенаправление ввода/вывода, они могут быть перенаправлены операционной системой на другое устройство. (Перенаправление ввода/вывода поддерживается, например, такими операционными системами, как Windows, DOS, UNIX. )

ctype. h В заголовочном файле <ctype. h> описаны функции для проверки и изменения символьной ctype. h В заголовочном файле описаны функции для проверки и изменения символьной информации.

Функции библиотеки ctype. h isalpha(c); – возвращает не нулевое значение, если аргумент является буквой Функции библиотеки ctype. h isalpha(c); – возвращает не нулевое значение, если аргумент является буквой • isdigit(c); – возвращает не нулевое значение, если аргумент является цифрой • isspace(c); – возвращает не нулевое значение, если аргумент является пробельным(управляющим) символом • (' ', 't', 'n', 'r' и др. ) • islower(c); – возвращает не нулевое значение, если аргумент является символом в нижнем регистре • isupper(c); – возвращает не нулевое значение, если аргумент является символом в верхнем регистре • toupper(c); – переводит символ в верхний регистр • tolower(c); – переводит символ в нижний регистр •

Ввод символов через getchar() • Стандартная библиотека stdio. h включает несколько функций для чтения Ввод символов через getchar() • Стандартная библиотека stdio. h включает несколько функций для чтения и записи одного символа. Простейшие из них — getchar и putchar. int getchar ( void ); int putchar( int character ); • За одно обращение к getchar считывается следующий символ ввода из текстового потока, и этот символ выдается в качестве результата. Так, после выполнения с = getchar(); переменная c содержит очередной символ ввода.

Вывод символов через putchar() • Обращение к putchar приводит к печати одного символа. Так, Вывод символов через putchar() • Обращение к putchar приводит к печати одного символа. Так, putchar(c); напечатает содержимое целой переменной c в виде символа (обычно на экране). Вызовы putchar и printf могут произвольным образом перемежаться. Вывод будет формироваться в том же порядке, что и обращения к этим функциям.

Константа EOF • EOF является индикатором операционной системы, означающим, что данные в источнике закончились. Константа EOF • EOF является индикатором операционной системы, означающим, что данные в источнике закончились. Источниками данных обычно являются файлы и потоки. • EOF (аббревиатура от end of file — конец файла) — целая константа, определенная в . Какое значение имеет эта константа — неважно, лишь бы оно отличалось от любого из возможных значений типа char. • Для указания терминалу в UNIX и LINUX «EOF» следует воспользоваться комбинацией клавиш Ctrl+D. В Windows — Ctrl+Z.

Копирование ввода на вывод 1 #include <stdio. h> int main() { int c; c Копирование ввода на вывод 1 #include int main() { int c; c = getchar(); while (c != EOF) { putchar (c); c = getchar(); } return 0; }

Копирование ввода на вывод 2 #include <stdio. h> int main() { int c; while Копирование ввода на вывод 2 #include int main() { int c; while ((c = getchar()) != EOF) putchar (c); return 0; }

Подсчёт символов 1 #include <stdio. h> int main() { long int nc = 0; Подсчёт символов 1 #include int main() { long int nc = 0; while (getchar() != EOF) nc++; printf ("%ldn", nc); return 0; }

Подсчёт символов 2 #include <stdio. h> int main() { int nc; for (nc = Подсчёт символов 2 #include int main() { int nc; for (nc = 0; getchar() != EOF; nc++) ; printf ("%dn", nc); return 0; }

Часть 2 Часть 2

Таблица ASCII • ASCII ( от англ. American Standard Code for Information Interchange) — Таблица ASCII • ASCII ( от англ. American Standard Code for Information Interchange) — американский стандартный код для обмена информацией. ASCII представлена в виде таблицы печатных символов и некоторых специальных управляющих символов, каждому символу соответствует уникальный код в диапазоне от [0; 255]. ASCII представляет собой кодировку для представления десятичных цифр, латиницы и кириллицы, знаков препинания и управляющих символов (см. далее).

Таблица ASCII Таблица ASCII

Таблица ASCII Таблица ASCII

Массивы • Массив – набор данных, связанных одним именем, расположенных последовательно в памяти. • Массивы • Массив – набор данных, связанных одним именем, расположенных последовательно в памяти. • Каждому элементу массива присвоен номер – индекс. • Доступ к элементам массива происходит по индексу. • Индексация элементов начинается от нуля.

Массивы #include <stdio. h> int main() { int a[5] = {5, 4, 3, 2, Массивы #include int main() { int a[5] = {5, 4, 3, 2, 1}; printf ("%d %d %d n", a[0], a[1], a[2], a[3], a[4]); return 0; } #include int main() { int mas[5], i; for(i = 0; i < 5; i++){ scanf("%d", &mas[i]); } for(i = 0; i < 5; i++){ printf("%d", mas[i]); } return 0; }

Символьный массив и символьная строка Символьный массив и символьная строка

Символьный массив и символьная строка сhar mas[17] = Символьный массив и символьная строка сhar mas[17] = "Hello world"; char str[17] = "Hello world"; printf("%sn", mas); printf("%sn", str);

Часть 3 Часть 3

Пузырьковая сортировка • Принцип действий: обходим массив от начала до конца, попутно меняя местами Пузырьковая сортировка • Принцип действий: обходим массив от начала до конца, попутно меняя местами неотсортированные соседние элементы. В результате первого прохода на последнее место «всплывёт» максимальный элемент. Теперь снова обходим неотсортированную часть массива (от первого элемента до предпоследнего) и меняем по пути неотсортированных соседей. Второй по величине элемент окажется на предпоследнем месте. Продолжая, будем обходить всё уменьшающуюся неотсортированную часть массива, запихивая найденные максимумы в конец.

Пузырьковая сортировка #include <stdio. h> int main() { int i, j, tmp, mas[5]={5, 3, Пузырьковая сортировка #include int main() { int i, j, tmp, mas[5]={5, 3, 7, 9, 0}; for (i = 0; i < 5; i++){ for (j = 0; j < 5 – i - 1; j++){ if(mas[j] > mas[j+1]){ tmp = mas[j]; mas[j] = mas[j+1]; mas[j+1] = tmp; } } } for (i = 0; i < 5; i++) printf ("%d", mas[i]); return 0; }

Лабораторные работы Лабораторные работы

Среднемесячные температуры • Программа получает последовательность из 12 вещественных значений. Средняя температура каждого месяца Среднемесячные температуры • Программа получает последовательность из 12 вещественных значений. Средняя температура каждого месяца года. • Программа должна вывести: • Самую низкую из вошедших температур; • Самую высокую из вошедших температур; • Среднюю температуру в этом году; • Месяц, когда средняя температура была максимальной;

Объединение массивов • Даны два массива(по 10 элементов) заполненных и один пустой(20 элементов). Напишите Объединение массивов • Даны два массива(по 10 элементов) заполненных и один пустой(20 элементов). Напишите программу, которая перепишет заполненные массивы, в пустой.

Сортировка массива • Массив содержит 8 элементов. Напишите программу, которая сортирует первую половину массива Сортировка массива • Массив содержит 8 элементов. Напишите программу, которая сортирует первую половину массива по возрастанию, а вторую – по убыванию. • Каждый элемент должен оставаться в “своей” половине. • Пример: Исходный массив: 5 3 4 2 1 6 3 2 Массив после сортировки: 2 3 4 5 6 3 2 1 • Примечание: 1. Использовать циклы 2. Массив заполнять с клавиатуры