Главная страница
Навигация по странице:

  • Результативность (конечность)

  • Линейные алгоритмы

  • Структурная (блок-, граф-) схема алгоритма

  • Интерпретатор

  • лабараторная работа. 1-лаба) (2). Лабораторная работа 1. Составление алгоритмов линейной, ветвящейся и циклической структуры


    Скачать 65.29 Kb.
    НазваниеЛабораторная работа 1. Составление алгоритмов линейной, ветвящейся и циклической структуры
    Анкорлабараторная работа
    Дата27.02.2022
    Размер65.29 Kb.
    Формат файлаpptx
    Имя файла1-лаба) (2).pptx
    ТипЛабораторная работа
    #375366

    Лабораторная работа №1.

    Составление алгоритмов линейной, ветвящейся и циклической структуры

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

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

    Базовые понятия

    Дискретность - алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего

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

    Результативность (конечность) - алгоритм должен приводить к решению задачи за конечное число шагов;

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

    «Свойства» алгоритма

    Виды алгоритмов

    1. Линейные алгоритмы - наборы команд (указаний), выполняемых последовательно во времени друг за другом;

    2. Разветвляющиеся алгоритмы - алгоритмы, содержащие хотя бы одно условие, в результате проверки которого ЭВМ обеспечивает переход на один из двух возможных шагов;

    3. Циклические алгоритмы - алгоритмы, предусматривающие многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов.

    Способы записи алгоритмов
    • словесная (записи на естественном языке);
    • графическая (изображения из графических символов);
    • псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
    • программная (тексты на языках программирования).

    Словесная запись алгоритма

    Рассмотрим пример на алгоритме нахождения максимального из двух значений:
    • определим форматы переменных X, Y, М, где X и Y - значения для сравнения, М - переменная для хранения максимального значения;
    • получим два значения чисел X и Y для сравнения;
    • сравним X и Y;
    • если X меньше Y, значит большее число Y;
    • поместим в переменную М значение Y;
    • если X не меньше (больше) Y, значит большее число X;
    • поместим в переменную М значение X.

    Проблемы:
    • Описание строго не формализуемо
    • Запись многословна
    • Неоднозначное толкование отдельных предписаний алгоритма

    Графическая запись алгоритма

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

    На практике в качестве исполнителей алгоритмов используются компьютеры, поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на «понятном» ему языке. И здесь на первый план выдвигается необходимость точной записи команд, не оставляющей места для произвольного толкования их исполнителем.

    Язык для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке - программой.

    Программное представление алгоритма

    Базовые понятия программирования

    Транслятор - программа, которая конвертирует программу, написанную на одном языке, в программу на другом языке так, чтобы обе давали идентичные результаты вычислений.

    Трансляторы далее классифицируются на ассемблеры, компиляторы и препроцессоры.

    Интерпретатор преобразовывает каждую инструкцию программы непосредственно в машинный код и немедленно выполняет ее перед переходом к следующей инструкции.

    Компилятор - транслятор со сложной структурой, который преобразовывает программу, написанную на языке высокого уровня, в машинный код или, в некоторых случаях, в программу на ассемблере.

    Препроцессор - языковый процессор, который выполняет предварительную трансляцию исходных кодов типа замены алфавитно-цифровых выражений двоичной формой и вставкой определенных файлов, создавая модификацию исходного текста, который должен быть далее обработан транслятором. Препроцессор также удобно использовать, когда новый язык высокого уровня создается путем добавления элементов к существующему языку высокого уровня. Например, программа на C++ может транслироваться в ее эквивалент на С препроцессором.

    Базовые понятия программирования

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

    Базовые понятия программирования


    написать администратору сайта