КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Оператор выбора Case
Оператор If ВОПРОС 12 Операторы условного перехода (If, Case) Операторы условного перехода позволяют выбрать для исполнения один из нескольких операторов-компонентов в зависимости от условия. Его синтаксис: If A then ST1 else ST2; где: 1) A - булевское выражение (возвращающее TRUE или FALSE); 2) ST1, ST2 - операторы (возможно пустые или составные). Если значение выражения A равно TRUE, то выполняется оператор ST1; если значение выражения A - FALSE, то выполняется оператор ST2. Затем (в обоих случаях) управление передается следующему оператору программы. Допускается краткая форма условного оператора: If A then ST; где: 1) A - булевское выражение; 2) ST - оператор (возможно составной). Если значение A равно TRUE, то выполняется оператор ST. Если значение A - FALSE, то управление передается оператору, следующему за оператором IF. Обычно при написании программы не рекомендуется использовать многократно вложенные друг в друга условные операторы - программа становится громоздкой и трудно понимаемой. Считается, что число уровней вложения не должно превышать двух-трех. Но как быть, если необходимо проверять достаточно много условий и в зависимости от них выполнять те или иные действия? Для этих целей в языке Pascal существует специальный оператор выбора Case. Его синтаксис: где: 1) Case ("случай") - служебное слово; 2) N - переменная, называемая селектором или переключателем; 3) Mi,Ki,... - метки (i=1,2,...), которые отличаются по смыслу от меток, описываемых в разделе Label; 4) ST1, ST2, STi - операторы. Отметим, что переключатель и метки должны быть одного и того же скалярного типа (но не тип Real). Оператор Case передает управление тому оператору STi, с одной из меток которого совпало значение селектора N, а затем - на следующий за end оператор. Если значение селектора N не совпало ни с одной из меток, то исполняется оператор, следующий за зарезервированным словом end. goto (от англ. go to — «перейти к») — оператор безусловного перехода (перехода к определённой точке программы, обозначенной номером строки либо меткой) в некоторых языках программирования. В некоторых языках оператор безусловного перехода может иметь другое имя (например, jump в языках ассемблера). Как правило, оператор goto состоит из двух частей: собственно оператора и метки, указывающей целевую точку перехода в программе: goto метка. Метка, в зависимости от правил языка, может быть либо числом (как, например, в классическом Бейсике), либо идентификатором используемого языка программирования. Для меток-идентификаторов метка, как правило, ставится перед оператором, на который должен осуществляться переход, и отделяется от него двоеточием (метка:). Действие оператора перехода состоит в том, что после его исполнения следующими будут исполняться операторы программы, идущие в тексте непосредственно после метки (до следующего оператора перехода, ветвления или цикла). ВОПРОС 13 (здесь v — счётчик, b — начальное значение счётчика, e — граничное значение счётчика, s — шаг). Неоднозначен вопрос о значении переменной по завершении цикла, в котором эта переменная использовалась как счётчик. Например, если в программе на языке Паскаль встретится конструкция вида: i:= 100;for i:= 0 to 9 dobegin... тело циклаend;k:= i;возникает вопрос: какое значение будет в итоге присвоено переменной k: 9, 10, 100, может быть, какое-то другое? А если цикл завершится досрочно? Ответы зависят от того, увеличивается ли значение счётчика после последней итерации и не изменяет ли транслятор это значение дополнительно. Ещё один вопрос: что будет, если внутри цикла счётчику будет явно присвоено новое значение? Различные языки программирования решают данные вопросы по-разному. В некоторых поведение счётчика чётко регламентировано. В других, например, в том же Паскале, стандарт языка не определяет ни конечного значения счётчика, ни последствий его явного изменения в цикле, но не рекомендует изменять счётчик явно и использовать его по завершении цикла без повторной инициализации. Программа на Паскале, игнорирующая эту рекомендацию, может давать разные результаты при выполнении на разных системах и использовании разных трансляторов. Радикально решён вопрос в языке Ада: счётчик считается описанным в заголовке цикла, и вне его просто не существует. Даже если имя счётчика в программе уже используется, внутри цикла в качестве счётчика используется отдельная переменная. Счётчику запрещено явно присваивать какие бы то ни было значения, он может меняться только внутренним механизмом оператора цикла. В результате конструкция i:= 100;for i in (0..9) loop... тело циклаend loop;k:= i;внешне аналогичная вышеприведённому циклу на Паскале, трактуется однозначно: переменной k будет присвоено значение 100, поскольку переменная i, используемая вне данного цикла, не имеет никакого отношения к счётчику i, который создаётся и изменяется внутри цикла. Подобное обособление счётчика удобно и безопасно: не требуется отдельное описание для него и минимальна вероятность случайных ошибок, связанных со случайным разрушением внешних по отношению к циклу переменных. Если программисту требуется включить в готовый код цикл со счётчиком, то он может не проверять, существует ли переменная с именем, которое он выбрал в качестве счётчика, не добавлять описание нового счётчика в заголовок соответствующей процедуры, не пытаться использовать один из имеющихся, но в данный момент «свободных» счётчиков. Он просто пишет цикл с переменной-счётчиком, имя которой ему удобно, и может быть уверен, что никакой коллизии имён не произойдёт. Цикл со счётчиком всегда можно записать как условный цикл, перед началом которого счётчику присваивается начальное значение, а условием выхода является достижение счётчиком конечного значения; к телу цикла при этом добавляется оператор изменения счётчика на заданный шаг. Однако специальные операторы цикла со счётчиком могут эффективнее транслироваться, так как формализованный вид такого цикла позволяет использовать специальные процессорные команды организации циклов. В некоторых языках, например, Си и других, произошедших от него, цикл for, несмотря на синтаксическую форму цикла со счётчиком, в действительности является циклом с предусловием. То есть в Си конструкция цикла: for (i = 0; i < 10; ++i){... тело цикла }фактически представляет собой другую форму записи конструкции[1]: i = 0;while (i < 10){... тело цикла ++i;}То есть в конструкции for сначала пишется произвольное предложение инициализации цикла, затем — условие продолжения и, наконец, выполняемая после каждого тела цикла некоторая операция (это не обязательно должно быть изменение счётчика; это может быть правка указателя или какая-нибудь совершенно посторонняя операция). Для языков такого вида вышеописанная проблема решается очень просто: переменная-счётчик ведёт себя совершенно предсказуемо и по завершении цикла сохраняет своё последнее значение. Формат оператора цикла for: for (выражение1; выражение2; выражение3)оператор; Выполнение оператора цикла for начинается с вычисления "выражения1". Это своего рода инициализация цикла, которая выполняется только один раз и предшествует последующим действиям. После этого вычисляется "выражение2". Если оно истинно, то выполняется "оператор". Далее вычисляется "выражение3". Первая итерация цикла закончена. Вторая итерация начинается опять с вычисления "выражения2". Если оно истинно, то выполняется "оператор". Далее опять вычисляется "выражение3" и так продолжается до тех пор, пока "выражение2" будет истинным. Если же уже на первой итерации "выражение2" будет ложным, то цикл не исполнится ни разу. Если вникнуть в логику работы оператора цикла for, то можно заметить, что она полностью соответствует следующему фрагменту кода с использование оператора цикла while: выражение1;while (выражение2) { оператор; выражение3; } В прошлом выпуске мы рассмотрели пример использования оператора цикла while: int i = 0;while (i < 9) { Print(i); i++; } Print ("Done"); Этот пример можно переписать с использованием оператора цикла for: int i;for (i = 0; i < 9; i++) Print(i); Print ("Done"); Не будет ошибкой, если любое из трех или все три выражения в операторе цикла for будут отсутствовать, однако разделяющие их точки с запятыми (;) опускать нельзя. Если отсутствует "выражение2", то принимается, что оно всегда равно true. "Выражение1" и "выражение3" могут состоять из нескольких выражений, объединенных запятой. В этом случае вычисляется каждое из выражение, причем порядок вычисления будет слева направо: Print ("i = ", i, " j= ", j); ВОПРОС 14 Операторы цикла while и repeat. Порядок выполнения: Пример. ВОПРОС 15 Ваш друг задумал целое число от одного до десяти включительно. Он честно отвечает на ваши вопросы «да» или «нет». Какое минимальное число вопросов вам потребуется, чтобы гарантированно отгадать задуманное число? Под фразой «гарантированно отгадать» следует понимать, что какое бы число из диапазона ни было загадано, задавая вопросы в соответствии с некоторым правилом, вам заведомо хватит вопросов, где — искомый минимум. Строго говоря, предлагается не только ответить на вопрос задачи, но и составить алгоритм отгадывания задуманного числа за минимальное число вопросов. В данном случае в ответ закрадываются степени двойки. Для того, чтобы передать один из двух возможных вариантов, требуется один бит. Два бита могут передать один из вариантов. Три бита — один из вариантов. С помощью бит можно передать один из вариантов. В какую минимальную степень необходимо возвести двойку, чтобы она стала больше десяти? В четвёртую, . Из предыдущего абзаца следует, что четырёх вопросов будет достаточно для отгадывания. Первая часть задачи решена. А как следует задавать вопросы, чтобы уложиться в дозволенные четыре вопроса? Уж точно не отгадывать число по порядку, начиная с единицы — это ведёт в худшем случае к девяти вопросам. Общее правило одно — нужно каждым вопросом уменьшать неопределённость в два раза. Если число вариантов не является степенью двойки, то в некоторых вопросах количество вариантов в «половинах» может различаться, но не более, чем на единицу. Итак, перед первым вопросом мы имеем десять различных вариантов. Десять пополам — пять. Спросим: «Задуманное число больше пяти?» Теперь самое главное не ошибиться нигде на единицу, не сказать не подумав «больше» вместо «больше либо равно» и наоборот. После ответа на первый вопрос вариантов осталось пять. Нам нужно разбить их на группы, состоящие из двух и трёх элементов. Например, если выяснилось, что задуманное число больше пяти, корректно будет спросить: «Верно ли, что задуманное число больше либо равно восьми?» Третьим вопросом мы снижаем число вариантов с двух до одного, либо с трёх до двух. Если после второго вопроса осталось всего два варианта (например, на вопрос: «Число больше либо равно восьми?» последовал отрицательный ответ), то потребуется всего три, а не четыре вопроса. В любом случае, последним вопросом мы выбираем между двумя оставшимися числами и узнаём ответ. Описанный метод называется методом деления пополам или, по-научному, дихотомией.
ВОПРОС 16 Метод бисекции или метод деления отрезка пополам — простейший численный метод для решения нелинейных уравнений вида f (x)=0. Предполагается только непрерывность функции f (x). Поиск основывается на теореме о промежуточных значениях Алгоритм основан на следующем следствии из теоремы Больцано — Коши:
Таким образом, если мы ищем ноль, то на концах отрезка функция должна быть противоположных знаков. Разделим отрезок пополам и возьмём ту из половинок, на концах которой функция по-прежнему принимает значения противоположных знаков. Если значение функции в серединной точке оказалось искомым нулём, то процесс завершается. Точность вычислений задаётся одним из двух способов: 1. по оси , что ближе к условию из описания алгоритма; или 2. , по оси , что может оказаться удобным в некоторых случаях. Процедуру следует продолжать до достижения заданной точности. Для поиска произвольного значения достаточно вычесть из значения функции искомое значение и искать ноль получившейся функции. Псевдокод · xn – начало отрезка по х; · xk – конец отрезка по х; · xi – середина отрезка по х; · epsy – требуемая точность вычислений по y (заданное приближение |F(xi)| к нулю). Тогда алгоритм метода бисекции можно записать в псевдокоде следующим образом: 1. Начало. 2. Ввод xn, xk, epsy. 3. Если F(xn) = 0, то Вывод (корень уравнения – xn). 4. Если F(xk) = 0, то Вывод (корень уравнения – xk). 5. Пока |F(xi)| > epsy повторять: 6. dx:= (xk + xn) / 2; 7. xi:= xn + dx; 8. если sign(F(xn)) ≠ sign(F(xi)), то xk:= xi; 9. иначе xn:= xi. 10. конец повторять 11. Вывод (Найден корень уравнения – xi с точностью по y - epsy). 12. Конец. ВОПРОС 17 (ДЛЯ ВОПРОСА 17 и 18) Если у нас есть определенное множество элементов одного типа, то удобнее будет их объединить в одну структуру, которая и является массивом.(При этом замечу, что сейчас говорилось об одномерных массивах). Одномерный массив - это вектор. (Многомерные массивы - массивы, содержащие одномерные массивы). Нахождение суммы или количества элементов массива, удовлетворяющих некоторым условиям - наиболее распространённые алгоритмы обработки одномерных массивов. ВОПРОС 18 ---ВОПРОС 19 1. Понятие табличного процессора Табличный процессор обеспечивает работу с большими таблицами чисел. При работе с табличным процессором на экран выводится прямоугольная таблица, в клетках которой могут находиться числа, пояснительные тексты и формулы для расчета значений в клетке по имеющимся данным/ Табличный процессор - программное средство для проектирования электронных таблиц. Они позволяют не только создавать таблицы, но и автоматизировать обработку табличных данных. С помощью электронных таблиц можно выполнять различные экономические, бухгалтерские и инженерные расчеты, а также строить разного рода диаграммы, проводить сложный экономический анализ, моделировать и оптимизировать решение различных хозяйственных ситуаций и т. д. Функции табличных процессоров весьма разнообразны: · создание и редактирование электронных таблиц; · создание многотабличных документов; · оформление и печать электронных таблиц; · построение диаграмм, их модификация и решение экономических задач графическими методами; · создание многотабличных документов, объединенных формулами; · работа с электронными таблицами как с базами данных: сортировка таблиц, выборка данных по запросам; · создание итоговых и сводных таблиц; · использование при построении таблиц информации из внешних баз данных; · создание слайд-шоу; · решение оптимизационных задач; · решение экономических задач типа “что – если” путем подбора параметров; · разработка макрокоманд, настройка среды под потребности пользователя и т. д. Наиболее популярными электронными таблицами для персональных компьютеров являются табличные процессоры Microsoft Excel, Lotus 1-2-3, Quattro Pro и SuperCalc. И если после своего появления в 1982 году Lotus 1-2-3 был фактически эталоном для разработчиков электронных таблиц, то в настоящее время он утратил свои лидирующие позиции. Результаты тестирования продемонстрировали явное преимущество Excel по многим параметрам [1]. Ценной возможностью Excel есть возможность писать код на основе Visual Basic для приложений (VBA). Этот код пишется с использованием отдельного от таблиц редактора. Управление электронной таблицей осуществляется с помощью объектно-ориентированной модели кода и данных. С помощью этого кода данные входных таблиц будут мгновенно обделываться и отображаться в таблицах и диаграммах (графиках). Таблица становится интерфейсом кода, разрешая легко работать изменять его и руководить расчетами. С помощью Excel можно анализировать большие массивы данных. В Excel можно использовать больше 400 математических, статистических, финансовых и других специализированных функций, связывать разные таблицы между собой, выбирать произвольные форматы представления данных, создавать иерархические структуры. Воистину безграничные методы графического представления данных: кроме нескольких десятков встроенных типов диаграмм, можно создавать свои, что настраиваются типы, помогают наглядно отобразить тематику диаграммы. Те, кто только осваивает работу по Excel, по достоинству оценят помощь "мастеров" - вспомогательных программ, которые помогают при создании диаграмм. Они, как добрые волшебники, задавая наводящие вопросы о предвиденных дальнейших шагах и показывая, в зависимости от планированного ответа, результат, проведут пользователя "за руку" за всеми этапами построения диаграммы кратчайшим путем. Работа с таблицей не ограничивается простым занесением к ней данных и построением диаграмм. Тяжело вообразить себе область, где бы не требовался анализ этих данных. В Excel включенный мощный инструмент анализа - Сводная таблица. С ее помощью можно анализировать широкоформатные таблицы, содержат большое количество несистематизированных данных, и лишь несколькими клацаньями кнопкой мыши приводить их в удобный и читается вид. Освоение этого инструмента упрощается наличием соответствующей программ-мастера [2]. В Microsoft Excel есть два основных типа объектов: книга и письмо. Книга в Microsoft Excel представляет собой файл, который используется для обработки и хранение данных. Каждая книга может состоять из нескольких листов, поэтому в одном файле можно поместить разнообразные сведения и установить между ними необходимые связи. Письма служат для организации и анализа данных, которые можно вводить и редактировать одновременно на нескольких листах, а также выполнять вычисление на основе данных с нескольких листов. После создания диаграммы можно поместить на письмо с соответствующими данными или на отдельное письмо диаграммы [2]. Имена листов отображаются на ярлычках в нижней части окна книги. Для перехода с одного письма на другого нужно указать соответствующий ярлык. Название активный лист выделен жирным шрифтом [1]. В Microsoft Excel очень много разнообразных функций, среди которых такие [2]: 1. Финансовые, среди множество специальных функций, вычисляющих проценты по депозиту или кредиту, амортизационные отчисления, норму прибыли и разнообразнейший обратные и родственные величины. Форма написания относительной ссылки совпадает с обычной записью. Особенность копирования формул в Excel – программа копирует формулы таким образом, чтобы они сохранили свой смысл и в новой копии, т.е. что она правильно будет работать и в новой ячейке. Функция ЕСЛИ | И, ИЛИ, НЕ | Вложенные ЕСЛИ| ИСТИНА/ЛОЖЬ | ЕПУСТО
Результатом логического выражения является логическое значение ИСТИНА (1) или логическое значение ЛОЖЬ (0). Функция ЕСЛИ
Следующая формула возвращает значение 10, если значение в ячейке А1 больше 3, а в противном случае – 20:
В качестве аргументов функции ЕСЛИ можно использовать другие функции. В функции ЕСЛИ можно использовать текстовые аргументы. Например:
Можно использовать текстовые аргументы в функции ЕСЛИ, чтобы при невыполнении условия она возвращала пустую строку вместо 0.
Аргумент логическое_выражение функции ЕСЛИ может содержать текстовое значение. Например:
Эта формула возвращает значение 10, если ячейка А1 содержит строку «Динамо», и 290, если в ней находится любое другое значение. Совпадение между сравниваемыми текстовыми значениями должно быть точным, но без учета регистра. Функции И, ИЛИ, НЕ
Функция НЕ имеет только один аргумент и следующий синтаксис:
Аргументы функций И, ИЛИ, НЕ могут быть логическими выражениями, массивами или ссылками на ячейки, содержащие логические значения. Приведем пример. Пусть Excel возвращает текст «Прошел», если ученик имеет средний балл более 4 (ячейка А2), и пропуск занятий меньше 3 (ячейка А3). Формула примет вид:
Не смотря на то, что функция ИЛИ имеет те же аргументы, что и И, результаты получаются совершенно различными. Так, если в предыдущей формуле заменить функцию И на ИЛИ, то ученик будет проходить, если выполняется хотя бы одно из условий (средний балл более 4 или пропуски занятий менее 3). Таким образом, функция ИЛИ возвращает логическое значение ИСТИНА, если хотя бы одно из логических выражений истинно, а функция И возвращает логическое значение ИСТИНА, только если все логические выражения истинны. Функция НЕ меняет значение своего аргумента на противоположное логическое значение и обычно используется в сочетании с другими функциями. Эта функция возвращает логическое значение ИСТИНА, если аргумент имеет значение ЛОЖЬ, и логическое значение ЛОЖЬ, если аргумент имеет значение ИСТИНА. Вложенные функции ЕСЛИ Иногда бывает очень трудно решить логическую задачу только с помощью операторов сравнения и функций И, ИЛИ, НЕ. В этих случаях можно использовать вложенные функции ЕСЛИ.
Если значение в ячейке А1 является целым числом, формула читается следующим образом: «Если значение в ячейке А1 равно 100, возвратить строку «Всегда». В противном случае, если значение в ячейке А1 находится между 80 и 100, возвратить «Обычно». В противном случае, если значение в ячейке А1 находится между 60 и 80, возвратить строку «Иногда». И, если ни одно из этих условий не выполняется, возвратить строку «Никогда». Всего допускается до 7 уровней вложения функций ЕСЛИ. Функции ИСТИНА и ЛОЖЬ
Например, ячейка А1 содержит логическое выражение. Тогда следующая функция возвратить значение «Проходите», если выражение в ячейке А1 имеет значение ИСТИНА:
В противном случае формула возвратит «Стоп». Функция ЕПУСТО
Аргумент значение может быть ссылкой на ячейку или диапазон. Если значение ссылается на пустую ячейку или диапазон, функция возвращает логическое значение ИСТИНА, в противном случае ЛОЖЬ. ВОПРОС 20Ба́за да́нных — представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ) Реляционная база данных — база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение[1]). Для работы с реляционными БД применяют реляционные СУБД. Как и сетевая, иерархическая модель данных базируется на графовой форме построения данных, и на концептуальном уровне она является просто частным случаем сетевой модели данных. В иерархической модели данных вершине графа соответствует тип сегмента или просто сегмент, а дугам — типы связей предок — потомок. В иерархических структуpax сегмент — потомок должен иметь в точности одного предка. Иерархическая модель представляет собой связный неориентированный граф древовидной структуры, объединяющий сегменты. Иерархическая БД состоит из упорядоченного набора деревьев.
Дата добавления: 2015-04-24; Просмотров: 705; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |