Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Алгоритмы упорядочения массивов.






    Постановка задачи.

    Условие: упорядочить по возрастанию массив вещественных чисел, в массиве N элементов.

    1.1 Исходные данные

    N: целое (количество элементов)

    A: массив[1..N] вещественных

    1.2 Ограничения

    1.3 Результаты

    A: массив[1..N] вещественных;

    1.4 Связь

    Упорядочить массив методом ”пузырька”.

    i N

                     

     

    i

    Метод перебора

    пр: =a[i] при

    a[i]: =a[j] a[j]< a[i] для j=i+1, N для i=1, N-1

    a[j]: =пр

     

    Метод пузырька

    r: =a[imin]

    a[imin]: =a[i]

    a[i]: =r

               
       
       
     


    min: =a[j] a[j]< min для j= i+1, N

    imin: =j для i=1, N-1

     

    min: =a[i]

    imin: =i

     


    6 КОДИРОВАНИЕ АЛГОРИТМОВ НА ЯЗЫКЕ СИ

     

     

    6.1 Принцип виртуальной Си-машины

     

     

    Рисунок 6.1- Виртуальная Си-машина

     

    Работа с Си программой выполняется следующим образом (в два этапа):

    1-й этап:

    Исходная программа Компилятор
    Данные Программа пользователя
    Результаты Исполнимая программа

     

    2-й этап:

    Исходная программа Исполнимая программа
    Данные Данные для программы
    Результаты Результат работы программы

     

    Различают следующие виды ошибок:

    1) Ошибки этапа компиляции:

    - Лексические;

    -Синтаксические;

    - Семантические;

    2) Ошибки этапа выполнения:

    - Деление на нуль;

    - Переполнение;

    3) Ошибки, не идентифицируемые Си машиной.

     

           
       

     
     

     


    Рисунок 6.2 – Работа виртуальной Си-машины на двух этапах

     


    6.2 Язык Си

     

    Характеристики языка Си:

    1) язык процедурного типа;

    2) язык со статической проверкой типов (в каждой точке программы на этапе компиляции, известно с какими данными выполняется операция).

    Достоинства языка Си:

    1) язык Си современный, т.е. поддерживает основные принципы:

    - нисходящее проектирование,

    - структурное программирование,

    - пошаговая разработка программ;

    2) язык эффективный;

    3) мобильность (переносимость), т.е. программы, написанные на Си, переносятся в другую операционную систему (на другую платформу) либо без изменений, либо с минимальными изменениями;

    4) мощный и гибкий одновременно. Мощный, т.к. на нём написано программное обеспечение любого уровня. Гибкий, т.к. имеются конструкции управления и структурирования данных, которые позволяют создавать программы для любых предметных областей;

    5) язык системного программирования (в Си есть все конструкции позволяющие работать на уровне Ассемблера);

    6) язык стандартизован - стандарт языка Си – ANSI-C;

    стандарт наложен на:

    - сам язык;

    - препроцессор;

    - библиотеки.

    Язык поддерживается всеми фирмами, которые разрабатывали операционную систему UNIX и ей подобные:

    UNIX: AT& T, SUN;

    UNIX-V: IBM, DEC, HP, SIMENS.


    6.3 Описание синтаксиса языка программирования

     

    Синтаксис может быть описан двумя способами:

    - БНФ (формулы Бэкуса-Наура);

    - синтаксические диаграммы (разработаны Н.Виртом).

     

     

    БНФ

     

     

    В ломаных скобках записываются имена семантических переменных, соответствующих конструкций языка. Без ломаных скобок записываются зарезервированные слова и символы языка.

    Каждая БНФ состоит из двух частей разделённых специальным символом:: =

    В левой части БНФ записывают семантическую переменную для определяемой конструкции языка. В правой части БНФ записываются последовательность зарезервированных слов и семантических переменных.

    В квадратных скобках записывают не обязательные элементы. Если в правой части БНФ выбирается одна из возможных конструкций, то эти альтернативы разделяются вертикальной чертой.

    Пример 6.1:

    < программа>:: = < последовательность директив препроцессора>

    < заголовок программы> < тело программы>

    < последовательность директив препроцессора>:: = < директива> [< директива> ]

    < директива>:: =#< тело директивы>

    < заголовок программы>:: = main([список аргументов])

    < список аргументов >:: = < имя аргумента> [, < имя аргумента> ]

    < имя аргумента>:: = < имя>

    < имя>:: = < буква> | < имя> < буква> | < имя> < цифра>


    6.3.2 Синтаксические диаграммы

     

     

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

     

    Пример 6.2:

    оператор
    Имя аргумента
    Тело директивы
    ПРОГРАММА

           
       
     
     

     

     


    ИМЯ

     

     

     
     

     

    6.4 Типы, операторы и выражения в языке Си

     

     

    Основные объекты программы – переменные и константы. В Си требуется, чтобы все переменные были объявлены оператором описания (декларирования) до первого их использования.

    Объект программы:

    -константы

    -переменные

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

    Тип данных переменной определяет:

    1. Множество допустимых значений

    2. Множество операций (функций), допустимых для этого типа

     

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.