Основы алгоритмизации 1 курс Бизнес-информатика Теоретические основы информатики
Основы алгоритмизации 1 курс Бизнес-информатика Теоретические основы информатики 1 семестр, семинар 2
Проверим домашнее задание Домашнее задание 1-1. В комнате общежития шириной A и высотой B нужно поклеить обои. Окно и дверь с размерами C на D и M на N соответственно. Вычислите площадь стен для оклеивания их обоями. Запишите исходные данные, математическую модель и составьте блок-схему алгоритма решения поставленной задачи.
Проверим домашнее задание Домашнее задание 1-2. Дана величина A, выражающая объем информации в байтах. Перевести А в более крупные единицы измерения информации. Блок-схема алгоритма решения
ПОВТОРЕНИЕ: Линейный алгоритм Алгоритм называется линейным, если все его действия выполняются последовательно друг за другом от начала и до конца.
Домашнее задание 2-1. Определить объем и площадь боковой поверхности цилиндра с заданными радиусом основания r и высотой Н. Запишите исходные данные, математическую модель и составьте блок-схему алгоритма решения задачи.
ПОВТОРЕНИЕ: Разветвляющийся алгоритм Разветвляющимся называют алгоритм, в котором в зависимости от истинности некоторого условия происходит переход на одну из двух возможных последовательностей действий. Ветвление бывает: полным – каждая из ветвей содержит команды неполным – в случае истинности условия выполняется некоторая команда, в противном случае – команда пропускается 6 Полная конструкция Неполная конструкция
Задание 1. Найти наибольшее из трех заданных чисел А, В, и С. Запишите исходные данные, математическую модель и составьте блок-схему алгоритма решения задачи.
Исходные данные А, В и С – целые числа Найти наибольшее из них. Построение математической модели (метод решения) Если А>B и А>C, то А – наибольшее число. Далее можно сравнить только два числа: если В>C, то В – наибольшее, иначе С – наибольшее. блок-схема алгоритма решения задачи Задание 1. ВАРИАНТ 1 Найти наибольшее из трех заданных чисел А, В, и С.
Использовании дополнительной переменной. Т.е. кроме трех перемененных (а, b, с) используются дополнительная переменная (например с именем max) для хранения наибольшего значения. Задание 1. ВАРИАНТ 2 Найти наибольшее из трех заданных чисел А, В, и С.
Как видно из блок-схемы, использовать дополнительную переменную нет никакой нужды. Отказавшись от полного ветвления при проверке первого условия, удалось уменьшить алгоритм. Обратите внимание, что для использования неполного ветвления надо проверять условие ab. Задание 1. ВАРИАНТ 3 Найти наибольшее из трех заданных чисел А, В, и С.
Домашнее задание 2-2. Специалисты фирмы «Халява» Иванов, Смирнов и Петров получили зарплату. Определите у кого из них самая большая зарплата. Запишите исходные данные, математическую модель и составьте блок-схему алгоритма решения задачи.
Задание 2. Даны целые числа X, Y. Определить, принадлежит ли точка с координатами X, Y кругу радиуса R. Вывести на экран сообщение "Принадлежит" или "Не принадлежит". Запишите исходные данные, математическую модель и составьте блок-схему алгоритма решения задачи.
Задание 2. Даны целые числа X, Y. Определить, принадлежит ли точка с координатами X, Y кругу радиуса R. Вывести на экран сообщение "Принадлежит" или "Не принадлежит". Уравнение окружности: X2 + Y2 = R2. Точка с координатами X,Y принадлежит заданной области (кругу), если выполняется условие: X2 + Y2 <= R2.
Задание 2. Даны целые числа X, Y. Определить, принадлежит ли точка с координатами X, Y кругу радиуса R. Вывести на экран сообщение "Принадлежит" или "Не принадлежит".
Задание 3. Найдите корни квадратного уравнения ах 2 + bx + c = 0. Запишите исходные данные, математическую модель и составьте блок-схему алгоритма решения задачи.
Задание 3. Найдите корни квадратного уравнения ах 2 + bx + c = 0.
Базовые средства языка С++
Приступая к программированию важно знать… Программы представляют собой файлы, содержащие последовательность инструкций, которые компьютер будет выполнять. Программы на C++ в исходных файлах имеют расширение СРР. Компилятор- специальная программа - преобразует операторы программы на C++ в единицы и нули — машинный язык, который понимает компьютер. Если вы нарушаете правила синтаксиса, компилятор выводит сообщение, описывающее ошибку. Вы должны исправить все синтаксические ошибки, прежде чем компилятор создаст выполняемую программу. (После внесения изменений в исходный файл следует заново откомпилировать программу, чтобы изменения вступили в силу.)
Приступая к программированию важно знать… Большинство программ на C++ начинаются с оператора #include, который предписывает компилятору включить содержимое заданного заголовочного файла в программу. #include - это директива (указатель на файл с инструкциями). Исходный файл может состоять из множества операторов; оператор main() указывает начало главной программы, которая содержит первый выполняемый оператор программы. Тело оператора записывается с помощью правой и левой фигурных скобок { }. Вывод информации на экран осуществляется объектом cout и оператором << (такой оператор обозначает взять из потока) В C++ можно использовать с cout специальные символы для вывода табуляции (/t) или новой строки (/n). Ввод информации с клавиатуры осуществляется объектом cin и оператором >> (такой оператор обозначает отправить в поток) Для работы с cout и cin используется директива #include
Состав языка Естестевенные языки Символы Слова Словосочетания Предложения Алгоритмический язык Символы Лексема (элементарная конструкция) Выражения Операторы символы лексема выражение операторы
Лексемы в языке Си++ Из символов алфавита формируются лексемы языка: § идентификаторы; § ключевые (зарезервированные) слова; § знаки операций; § константы; § разделители. Границы лексем определяются другими лексемами, такими, как разделители или знаки операций.
Алфавит и комментарии в языке Си++ Алфавит буквы: A, B, C, …, Z, a, b, c, …, z цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 специальные символы: + – / % . ? ! " < > | ' _ & ~ ^ знаки пунктуации языка: [ ] ( ) { } , ; : … * = # пробельные символы: ˽ (пробел), ↳ (символ табуляции), ↲ (символ перевода строки) прочие символы — только в комментариях к тексту программы и строковых литералах Комментарии многострочные комментарии: /* [<произвольный текст>] */ однострочные комментарии (правый ограничитель — символ конца строки): // [<произвольный текст>]
Правила выбора идентификаторов Идентификатор — любая последовательность букв A, B, C, …, Z, a, b, c, …, z, цифр 0, 1, …, 9 и символов подчеркивания _ , не начинающаяся с цифры, ограничения на длину которой накладываются каждым из компиляторов. Строчные и прописные буквы в идентификаторах различаются
Разделители Разделитель — парный или одиночный знак пунктуации, входящий в следующий список: [ ] ( ) { } , ; : … * = # &
Основные типы данных В любом алгоритмическом языке каждая константа, переменная, результат вычисления выражения или функции должны иметь определенный тип. Тип данных определяет: § внутреннее представление данных в памяти компьютера; § множество значений, которые могут принимать величины этого типа; § операции и функции, которые можно применять к величинам этого типа. Для описания основных типов определены следующие ключевые слова: 1. int (целый); 2. char (символьный); 3. wchar_t (расширенный символьный); 4. bool (логический); 5. float (вещественный); 6. double (вещественный с двойной точностью). Спецификаторы типа - уточняют внутреннее представление и диапазон значений стандартных типов: § short (короткий); § long (длинный); § signed (знаковый); § unsigned (беззнаковый).
Тип void Кроме перечисленных, к основным типам языка относится тип void, но множество значений этого типа пусто. Он используется для определения функций, которые не возвращают значения, для указания пустого списка аргументов функции, как базовый тип для указателей и в операции приведения типов.
Структура программы Программа на языке C++ состоит из функций, описаний директив препроцессора. Одна из функций должна иметь имя main. Выполнение программы начинается с первого оператора этой функции. Простейшее определение функции имеет следующий формат: тип_возвращаемого_значения имя ([ параметры ]) { операторы, составляющие тело функции } Как правило, функция используется для вычисления какого-либо значения, поэтому перед именем функции указывается его тип. Ниже приведены лишь самые необходимые сведения: § если функция не должна возвращать значение, указывается тип void: § тело функции является блоком и, следовательно, заключается в фигурные скобки; § функции не могут быть вложенными; § каждый оператор заканчивается точкой с запятой (кроме составного оператора).
Пример самой простой программы int main () { return 0; }
Пример структуры программы, содержащей функции main, fl и f2: директивы препроцессора описания int main() {операторы главной функции } int f1() {операторы функции f1 } int f2() {операторы функции f2 }
Директивы препроцессора - подключение библиотек В самом начале программы пишем # incude < название библиотеки > Библиотеки: consol.h – Консольный ввод-вывод инфо (consol-input-output) Iostream.h – ввод-вывод на поток (input-output stream)
Модифицируем программу # include
Домашнее задание к семинару 3 Домашнее задание 2-2. Специалисты фирмы «Халява» Иванов, Смирнов и Петров получили зарплату. Определите у кого из них самая большая зарплата. Запишите исходные данные, математическую модель и составьте блок-схему алгоритма решения задачи. Домашнее задание 2-1. Определить объем и площадь боковой поверхности цилиндра с заданными радиусом основания r и высотой Н. Запишите исходные данные, математическую модель и составьте блок-схему алгоритма решения задачи. Павловская Т.А. С/С++. Программирование на языке высокого уровня – Спб.: Питер, 2004. – 461с.: ил. ISBN 5-94723-568-4 Выучить стр. 1-17 (до типов данных)
seminar_1-2_bi.ppt
- Количество слайдов: 32