Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Vopros_51-62__88_89

.docx
Скачиваний:
33
Добавлен:
02.04.2015
Размер:
72.75 Кб
Скачать

Вопрос 51. Что представляет собой структура «цикл с предусловием», как реализуется она на языках программирования?

В цикле с предусловием сначала проверяется условие, затем, в зависимости от того, истинно оно или ложно, либо выполняется тело цикла, либо следует переход к оператору, следующему за телом цикла. После завершения тела цикла управление вновь передается на проверку условия. Естественно, предполагается, что в теле цикла было обеспечено некоторое изменение входящих в условие переменных -- в противном случае произойдет зацикливание и программа "зависнет".

Р- логическое выражение (условие), S – оператор (тело цикла).

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

Работу цикла можно описать словами: "пока логическое выражение истинно, повторяется тело цикла".

В языке Паскаль: while<условие>do<оператор>;

Бейсик:

DO WHILE<условие><оператор>LOOP

Си: while(<условие>)<оператор>;

Вопрос 52. Что представляет собой структура «цикл с постусловием», как реализуется она на языках программирования?

Для цикла с постусловием сначала выполняется тело цикла, затем управление передается на проверку условия. В зависимости от истинности или ложности условия, тело цикла выполняется повторно или же происходит переход к оператору, следующему за телом цикла. Всё, сказанное о возможном зацикливании для цикла с предусловием, справедливо и для цикла с постусловием.

Цикл с постусловием гарантированно выполняется хотя бы раз.

Работает цикл с постусловием следующим образом: "тело цикла повторяется до тех пор, пока логическое выражение не станет истинным". 

Р- логическое выражение (условие), S – оператор (тело цикла).

Бейсик: DO<оператор>LOOP UNTIL<выражение>

Паскаль:

repeat<оператор>until<выражение>;

Вопрос 53. Что представляет собой структура «цикл с постусловием», как реализуется она на языках программирования?

Иногда заранее известно, сколько раз должен выполняться цикл.

М – заголовок цикла, S – оператор.

В заголовке – параметр цикла, ему присваивается начальное значение, указывается конечное значение, до достижения которого тело цикла будет повторяться, и шаг, который показывает, на сколько изменится параметр цикла после каждого выполнения тела цикла.

Бейсик: FOR<параметр цикла> = <начальное значение параметра цикла> TO <конечное значение параметра цикла> [STEP <шаг>] <оператор>

NEXT [<параметр цикла>]

ПАСКАЛЬ: for <параметр цикла>; = < начальное значение параметра цикла > to < конечное значение параметра цикла >

do <оператор>;

или for <параметр цикла>; = << начальное значение параметра цикла> downto <конечное значение параметра цикла>

do <оператор>;

СИ: for(<параметр цикла> = <начальное значение параметра цикла>; <условие выполнения цикла>; [<параметр цикла> = <параметр цикла> + <шаг>])

<оператор>;

Вопрос 54. Как формулируется задача поиска? Сортировки?

Задача поиска – одна из наиболее встречающихся в информатике. Поиск производится в последовательности однотипных данных и заключается в выявлении одного или нескольких данных, обладающих некоторым свойством К. Задача поиска ставится так: пусть имеется набор элементов а123……….аn и пусть имеется некоторое значение К.

  1. требуется определить по крайней мере один элемент, имеющий К своим свойством.

  2. требуется определить все элементы, имеющие К своим свойством.

К – аргумент поиска или запрос (может быть безрезультативным).

Иногда поиск организуется по выполнению некоторых условий (по интервалу значений).

СОРТИРОВКА – процесс упорядочивания данных одного типа по возрастанию или убыванию значений какого-либо признака.

Вопрос 55. Перечислите методы сортировки.

  1. Метод сортировки «пузырьком» - на каждом шаге самый «легкий» элемент поднимается до своего места («всплывает»).

  2. Сортировка прямым выбором – будем выбирать минимальный элемент в оставшейся части массива и приписывать его к уже отсортированной части. Повторив эти действия N раз , мы получим отсортированный массив.

  3. Пирамидальная сортировка – выбираем самый большой элемент и записываем его в начало уже отсортированной части массива (отсортировка в обратном порядке), т.е. отсортированный массив будет строиться от конца к началу.

  4. Быстрая сортировка – выбираем опорный момент, все числа меньше его перемещаем в лево, больше - в право. Затем применяем функции сортировки для каждой части.

  5. Сортировка слияниями – разобьем элементы на пары, упорядочим их. Затем из двух пар создадим четверки и т.д.

  6. Сортировка подсчетом – (только для дискретных данных).

  7. Поразрядная сортировка .

Вопрос 56. В чем заключается линейный поиск? каковы условия его окончания?

Линейный поиск – это простой последовательный поиск элементов массыва с проверкой условия К . Условием окончания поиска является:

  1. элемент аi, обладающий свойством К, найден.

  2. весь массив просмотрен, но элемент, обладающий свойством К, не найден.

Вопрос 57. Что такое язык программирования?

Язык программирования – это искусственный язык. Служит для представления алгоритмов в такой форме, что бы они могли быть выполнены на ЭВМ. Языки программирования имеют сходство с естественными языками и с математическими формулами. С помощью языка программирования устанавливается способ записи программ.

Вопрос 58. Что такое алфавит, синтаксис, семантика языка программирования?

Любой язык – (в том числе и язык программирования) имеет 3 составляющих: алфавит, синтаксис, семантику.

Алфавит – это упорядоченное конечное множество взаимно различных символов (букв, цифр, специальных и служебных символов), допускаемых для составления текста программы на этом языке.

Синтаксис – это система правил, определяющих допустимые конструкции языка программирования из символов алфавита.

Семантика – это система правил однозначного истолкования конструкций языка, позволяющих воспроизвести процесс обработки данных.

Вопрос 59. Что такое транслятор? Какие функции он выполняет?.

Для представления программы на машинном языке для таких языков требуется программа – переводчик (транслятор). Функции:

  1. анализирует транслируемую (исходную) программу, определяет, правильна ли она.

  2. генерирует выходную программу (ее часто называют объективной), на язык команд ЭВМ.

Вопрос 60. Какие технологии программирования существуют?

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

Принципиально новые подходы к созданию программ:

  1. структурное программирование – использование блок – схем (в языках Паскаль).

  2. декларативное программирование – описывается свойства, которыми должен обладать результат, а не алгоритм для получения результата (не получил широкого распространения).

  3. объектно – ориентированное программирование – использование формул: объект = данные + процедуры, обработки этих данных (на основе Бейсик, Си, Паскаль).

  4. процедурно – ориентированное программирование (так называемое параллельное программирование) – допускает выполнение нескольких операций одновременно (повыш. эффективность).

Вопрос 61. Каковы правила структурного программирования?

Структурное программирование основано на использовании блок-схем (отчетливо выражено в языке Паскаль).

Правила:

  1. Разрешается использовать только три базовые структуры – следование, ветвление, цикл.

  2. Используемые в алгоритме структуры должны располагаться друг за другом, образуя линейную цепочку (выход из предыдущей структуры – вход в следующую).

  3. При написании алгоритмов и программ следует использовать модульный принцип (модуль – отдельная алгоритмическая единица, выполняющая четко определенные функции).

Вопрос 62. Каковы этапы решения задач на ЭВМ?

  1. Постановка задачи (условия и цели).

  2. Построение математической модели (осуществляется перевод словесного описания задачи на математический язык).

  3. Выбор и обоснование метода решения.

  4. Планирование последовательности арифметических, логических и др. действий для реализации выбранного метода (разработка блок-схемы).

  5. Составление программы (язык программирования, организация данных, алгоритм).

  6. Тестирование и отладка программы.

  7. Исполнение программы на компьютере.

  8. Анализ полученных результатов (в случае чего, корректировка с п2-5)

  9. Сопровождение программы (доработка, составление документации)

Вопрос 88. Как классифицируют компьютерные вирусы?

В настоящее время существует несколько тысяч компьютерных вирусов.

Классифицируют:

  1. По среде обитания:

  • Сетевые (используют для своего распространения команды и протоколы телекоммуникационных сетей

  • Файловые (внедряются в файлы)

  • Загрузочные (внедряются в загрузочный сектор дискеты или жесткого диска)

  • Макровирусы (заражают документы)

  1. По способу заражения:

  • Резидентные (продолжают функционировать и после завершения зараженной программы, вплоть до выключения компьютера)

  • Нерезидентные (запускаются и удаляются вместе с программой)

  1. По алгоритмам функционирования:

  • Паразитирующие (изменяют содержимое зараженных файлов)

  • Троянские кони (маскируются по полезные программы)

  • Невидимки (способны прятаться)

  • Мутанты (периодически изменяют свой программный код).

Вопрос 89. Каковы методы защиты от компьютерных вирусов?

Методы защиты:

  1. предотвращение поступления вирусов

  2. предотвращение вирусной атаки (если вирус поступил на компьютер)

  3. предотвращение разрушительных последствий (если атака произошла)

Реализация защиты:

  1. резервное копирование ценных данных

  2. антивирусные программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]