Основы алгоритмизации и построение структурных схем программ. Лекция 1

Содержание

Слайд 2

Цели и задачи лекции

Цель леции – изучить основные термины и понятия, используемые

Цели и задачи лекции Цель леции – изучить основные термины и понятия,
в процесссе изучения курса.

Слайд 3

Определения

Существует несколько определений понятия алгоритма. Приведем два самых распространенных.
Алгоритм – последовательность чётко

Определения Существует несколько определений понятия алгоритма. Приведем два самых распространенных. Алгоритм –
определенных действий, выполнение которых ведёт к решению задачи. Алгоритм, записанный на языке машины, есть программа решения задачи.
Алгоритм – это совокупность действий, приводящих к достижению результата за конечное число шагов.
Вообще говоря, первое определение не передает полноты смысла понятия алгоритм. Используемое слово "последовательность" сужает данное понятие, т.к. действия не обязательно должны следовать друг за другом – они могут повторяться или содержать условие.

Слайд 4

Определения

Свойства алгоритмов:
Дискретность (от лат. discretus — разделенный, прерывистый) – это разбиение алгоритма

Определения Свойства алгоритмов: Дискретность (от лат. discretus — разделенный, прерывистый) – это
на ряд отдельных законченных действий (шагов).
Детерминированность (от лат. determinate — определенность, точность) - любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае. Например, алгоритм проезда к другу, если к остановке подходят автобусы разных маршрутов, то в алгоритме должен быть указан конкретный номер маршрута 5. Кроме того, необходимо указать точное количество остановок, которое надо проехать, скажем, три.

Слайд 5

Определения

Свойства алгоритмов:
Конечность – каждое действие в отдельности и алгоритм в целом должны

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

Слайд 6

Переменные и константы, типы данных

Фундаментальные объекты данных, с которыми работает программа, –

Переменные и константы, типы данных Фундаментальные объекты данных, с которыми работает программа,
это переменные и константы. Используемые в программе переменные перечисляются в объявлениях или декларациях, в которых указывается их тип, а также иногда их начальные значения.
С именами переменных связывается тип данных, который контролируется компилятором и для которого выделяется определенное количество байтов памяти

Слайд 7

Переменные и константы

Имена переменных должны начинаться с буквы (латинского алфавита) или символа

Переменные и константы Имена переменных должны начинаться с буквы (латинского алфавита) или
подчеркивания (например, _aza ), за которым могут следовать любые комбинации букв в любом регистре (заглавные или строчные), символы подчеркивания или цифры 0–9.
В языке С имеется различие между заглавными и строчными буквами. Поэтому переменная World будет отличаться от переменной world и т.п. При этом в определении переменной не разрешается символ пробела (пробелов) и некоторые другие символы, например, $.

Слайд 8

Типы данных

Стандарт С89 определяет пять базовых типов данных:
int – целочисленный тип, целое

Типы данных Стандарт С89 определяет пять базовых типов данных: int – целочисленный
число;
float – вещественное число одинарной точности с плавающей точкой;
double – вещественное число двойной точности с плавающей точкой;
char – символьный тип для определения одного символа;
void – тип без значения.

Слайд 9

Типы данных

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

Типы данных Кроме того, существуют модификаторы, которые могут применяться к этим базовым
Ряд компиляторов может поддерживать еще и логический тип _Bool. Тип void служит для объявления функции, не возвращающей значения, или для создания универсального указателя (pointer).
Объект типа char всегда занимает 1 байт памяти. Размеры объектов других типов, как правило, зависят от среды программирования и операционной системы.
Приведем модификаторы базовых типов данных. К ним относятся следующие спецификаторы, предшествующие им в тексте программы:
signed, unsigned, long, short

Слайд 10

Типы данных

Базовый тип int может быть модифицирован каждым из перечисленных спецификаторов. Тип

Типы данных Базовый тип int может быть модифицирован каждым из перечисленных спецификаторов.
char модифицируется с помощью unsigned и signed, тип double – с помощью long.

Слайд 11

Типы данных

Базовый тип int может быть модифицирован каждым из перечисленных спецификаторов. Тип

Типы данных Базовый тип int может быть модифицирован каждым из перечисленных спецификаторов.
char модифицируется с помощью unsigned и signed, тип double – с помощью long.

Слайд 12

Типы данных

Типы данных

Слайд 13

Типы данных

Типы данных

Слайд 14

Типы данных

Типы данных

Слайд 15

Типы данных

Типы данных

Слайд 16

Пример программы

Пример. Напишите программу ввода символа, строки, действительных и целых чисел. Действительные

Пример программы Пример. Напишите программу ввода символа, строки, действительных и целых чисел.
числа сложите, целые числа перемножьте. Для действительных чисел использовать типы float и double.
#include
#include
int main (void) {
// Объявления
char ch, str[79+1];// С учетом одного места для символа '\0'
int x, y, z;
float a, b, c;
double A, B, C;

Слайд 17

Пример программы

// Выполнение программы
printf("\n\t Enter a symbol: ");
ch = getchar();
printf("\t The symbol

Пример программы // Выполнение программы printf("\n\t Enter a symbol: "); ch =
is: %c\n", ch);
_flushall();
printf("\n\t Enter a string: ");
gets_s(str, 79);
printf("\t The string is: %s\n", str);
a = 2.42F; b = 3.58F;
c = a + b;
printf("\n\t The sum %1.2f and %1.2f (as float) is equal: %1.4f\n", a, b, c);

Слайд 18

Пример программы

A = 12.1234567796602;
B = 2.7182818284509;
C = A + B;
printf("\n\t The sum

Пример программы A = 12.1234567796602; B = 2.7182818284509; C = A +
%1.13f and %1.13f \n\t is equal (as double): %1.13f\n", A, B,C);
x = 2; y = 7;
z = x*y;
printf("\n\t Multiplication %d on %i (as an integer) is equal: %d\n", x, y, z);

Слайд 19

Пример программы

printf("\n\n Press any key: ");
_getch();
return 0;
}

Пример программы printf("\n\n Press any key: "); _getch(); return 0; }

Слайд 20

Результаты работы программы


Результаты работы программы

Слайд 21

Описание функции printf()

Прототип функции printf() имеет вид:
int printf(const char *format, ?);
Функция printf() записывает в стандартный поток stdout (стандартный

Описание функции printf() Прототип функции printf() имеет вид: int printf(const char *format,
выходной поток данных) значения аргументов из заданного списка аргументов в соответствии со строкой форматирования, адресуемой параметром format. Строка форматирования состоит из элементов двух типов. К элементам первого типа относятся символы, которые выводятся на экран. Элементы второго типа содержат спецификации формата, определяющий способ отображения аргументов. Спецификация формата начинается символом процента, за которым следует код формата.

Слайд 22

Спецификаторы формата функции printf()

Спецификаторы формата функции printf()

Слайд 23

Спецификаторы формата функции printf()

Спецификаторы формата функции printf()

Слайд 24

Спецификаторы формата функции printf()

Спецификаторы формата функции printf()

Слайд 25

Спецификаторы формата функции printf()

Спецификаторы формата функции printf()

Слайд 26

Описание функции getchar ()

Прототип функции getchar() имеет следующий вид:
int getchar(void);
Функция getchar() возвращает из стандартного потока stdin (входного потока

Описание функции getchar () Прототип функции getchar() имеет следующий вид: int getchar(void);
данных) следующий символ. При чтении символа предполагается, что символ имеет тип unsigned char, который потом преобразуется в целый. При достижении конца файла, как и при обнаружении ошибки, функция getchar() возвращает значение EOF (End Of File – конец файла).

Слайд 27

Описание функции gets ()

Прототип функции gets имеет следующий вид:
char *gets(char *str);
Функция gets()

Описание функции gets () Прототип функции gets имеет следующий вид: char *gets(char
читает символы (включая пробелы) из стандартного потока stdin и помещает их в массив символов, адресуемый указателем *str (далее это массив символов). Символы читаются до тех пор, пока не встретится разделитель строк или значение EOF. Для реализации EOF на клавиатуре следует набрать одновременно Ctrl+Z. Вместо разделителя строк в конец строки вставляется нулевой символ, свидетельствующий о ее завершении. Следует учесть, что нет способа ограничить количество символов, которое прочитает функция gets(). Поэтому массив, адресуемый указателем *str, может переполниться, и тогда программа выдаст непредсказуемые результаты.

Слайд 28

Описание функции scanf()

Прототип функции scanf() имеет следующий вид:
int scanf(const char *format, ?);
Функция scanf() представляет собой функцию

Описание функции scanf() Прототип функции scanf() имеет следующий вид: int scanf(const char
для ввода данных общего назначения, которая читает поток stdin и сохраняет информацию в переменных, перечисленных в списке аргументов. Если в строке форматирования встретится разделитель, то функция scanf() пропустит один или несколько разделителей во входном потоке. Под разделителем, или пробельным символом, подразумевают пробел, символ табуляции \t или разделитель строк \n. Все переменные должны передаваться посредством своих адресов, например, с помощью символа &. Управляющая строка, задаваемая параметром format, состоит из символов трех категорий: спецификаторов формата, пробельных символов, символов, отличных от пробельных

Слайд 29

Описание функции scanf()

Пример использования функции:
printf("\t Enter a real number a: ");
scanf_s("%f", &a);
printf("\t

Описание функции scanf() Пример использования функции: printf("\t Enter a real number a:
Enter a real number b: ");
scanf_s("%f", &b);
c = a + b

Слайд 30

Спецификаторы формата функции scanf()

Спецификаторы формата функции scanf()

Слайд 31

Спецификаторы формата функции scanf()

Спецификаторы формата функции scanf()

Слайд 32

Спецификаторы формата функции scanf()

Спецификаторы формата функции scanf()
Имя файла: Основы-алгоритмизации-и-построение-структурных-схем-программ.-Лекция-1.pptx
Количество просмотров: 36
Количество скачиваний: 0