Системы счисления

Автор работы: Пользователь скрыл имя, 21 Марта 2013 в 15:13, курс лекций

Краткое описание

Система счисления — это совокупность приемов и правил, по которым числа записываются и читаются.
Существуют позиционные и непозиционные системы счисления.
В непозиционных системах счисления вес цифры (т. е. тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа.

Вложенные файлы: 1 файл

Информатика. Лекции 1 курс.doc

— 920.00 Кб (Скачать файл)

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

3. Разработка  алгоритма:

    • выбор метода проектирования алгоритма;
    • выбор формы записи алгоритма (блок-схемы, псевдокод и др.);
    • выбор тестов и метода тестирования;
    • проектирование алгоритма.

4. Программирование:

    • выбор языка программирования;
    • уточнение способов организации данных;
    • запись алгоритма на выбранном языке программирования.

5. Тестирование  и отладка:

    • синтаксическая отладка;
    • отладка семантики и логической структуры;
    • тестовые расчеты и анализ результатов тестирования;
    • совершенствование программы.

6. Анализ результатов  решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2 — 5.

7. Сопровождение  программы:

доработка программы  для решения конкретных задач;

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

                Список литературы

Информатика. Под редакцией  П.П. Беленького;  Ростов-на-Дону Феликс 2002 г.

Информатика. Базовый курс. Под редакцией С.В. Симановича; Санкт-Петербург 2000 г.

Информатика. В.А. Острейковский; Москва, Высшая школа, 1999 г.   

Левин А. Самоучитель работы на компьютере. - М.: Международное агентство A.D. Т., 1997.

Петраков А.В. Введение в электронную почту. - М.: Финансы и статистика, 1996.           

Фигурнов В.Э. IBM PC для пользователя. Изд. 7-е перераб. и доп.-М.: ИНФРА-М,1996.

Лекция 2.2. Понятие  алгоритма. Способы записи алгоритмов.

План

  1. Определение алгоритма.
  2. Свойства алгоритмов.
  3. Различные способы записи алгоритмов.

 

1. Происхождение слова  «алгоритм» связано с математикой.  Это слово происходит от  algorithm- латинского написания имени Мухамеда Аль Хоруми  (787-850) выдающего математика средневекового века.

В12 веке был выполнен латинский перевод его математического Трактата, из которого европейцы узнали о десятичной системе счисления и правилах арифметики многочисленных чисел.

Именно это правило  в последнее время называли алгоритмами.

Сложение, вычитание, умножение  столбиком, деление уголком - это алгоритмы.

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

Алгоритм – это  строго определенная, четкая и ясная  и однозначная последовательность действия, необходимых для решения данной задачи.

Примеры—правила перехода улицы, рецепт пирога, и т.д.

2. Свойства алгоритмов:

  • Результативность алгоритма - выполнение алгоритмов должно приводить к результату за конечное число шагов.
  • Дискретность алгоритма - алгоритм разбивается  на электронные шаги, которые могут быть исполнены при помощи системы  команд исполнителя.
  • Однозначность – каждый шаг исполнителя может и должен быть, истолкован  одним и только одним  способом (кондитерский рецепт)
  • Понятность – алгоритм должен быть составлен только из команд входящих в систему команд исполнителя.
  • Массовость – алгоритм должен решать однотипные задачи с различными исходными данными, т. Е. Алгоритм, разработанный для некоторой задачи, должен быть применим для решения задач этого же типа при всех допустимых значениях исходных данных.
  • Переносимость (совместимость) – алгоритм не должен зависеть от типа используемой вычислительной техники или выбранного языка программирования.

Способы описания алгоритмов:

  1. Словесно формульное – т.е. Описание с помощью слов и формул.
  2. Графическое описание с помощью блок-схем, т.е. С помощью специальных блоков.

Блок-схема – система связанных геометрических фигур.

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

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

Название символа

 Обозначение и пример  заполнения  

Пояснение

Процесс

Вычислительное действие или  
последовательность действий

Решение

Проверка условий

Модификация

Начало цикла

Предопределенный процесс

Вычисления по подпро- грамме, стандартной подпрограмме

Ввод-вывод

Ввод-вывод в общем  виде

Пуск-останов

Начало, конец алгоритма,  
вход и выход в подпрограмму

Документ

Вывод результатов на печать


 

  1. Способ – псевдокоды.

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

  1. Запись алгоритма на одном из языков программирования.(Pascal, Basic)

Лекция 2.3. Основные алгоритмические конструкции.

План

  1. Линейные алгоритмы,
  2. Разветвляющиеся алгоритмы,
  3. Циклические алгоритмы.

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

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

Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.

1. Базовая структура   "следование". Образуется последовательностью действий, следующих одно за другим:

Школьный алгоритмический  язык

Язык блок-схем

действие 1 
действие 2 
. . . . . . . . . 
действие n


2. Базовая структура   "ветвление".

   Школьный алгоритмический язык    

Язык блок-схем

1. если—то

 если условие

   то действия

 все

2. если—то—иначе

 если условие

   то действия 1

   иначе действия 2

 все

3. выбор

 выбор

   при условие 1: действия 1

   при условие 2: действия 2

   . . . . . . . . . . . .

   при условие N: действия N

 все

4. выбор—иначе

 выбор

   при условие 1: действия 1

   при условие 2: действия 2

   . . . . . . . . . . . .

   при условие N: действия N

   иначе действия N+1

 все


 

3. Базовая структура   "цикл". Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Основные разновидности циклов представлены в таблице:

Школьный алгоритмический  язык

Язык блок-схем

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

 нц пока условие

   тело цикла

   (последовательность действий)

 кц

Цикл типа для.  
Предписывает выполнять тело цикла для всех значений  
      некоторой переменной (параметра цикла) в заданном диапазоне.     

 нц для i от i1 до i2

   тело цикла

   (последовательность действий)

 кц


Лекция 2.4. Различные технологии программирования.

 

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

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

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

2. Связи между модулями  организуются сверху вниз.

3. Если следует организовать обращение к одному модулю несколько раз, то его надо нарисовать на схеме столько раз, сколько раз он необходим.

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

Структурное кодирование  – это процесс программирования на алгоритмическом языке с использованием определенных конструкций. Рассмотрим основные положения структурного кодирования.

  1. Любая программа составляется на базе основных алгоритмических структур трех видов: линейной, разветвляющейся и циклической.
  2. Между этими структурами производится передача управления только вперед, что соответствует в блок схеме направлению линий сверху вниз.

Недопустимо пользоваться в программе специальной командой безусловного перехода из одного места программы в другое GOTO.

Список литературы

Информатика. Под редакцией  П.П. Беленького;  Ростов-на-Дону Феликс 2002 г.

Информатика. Базовый  курс. Под редакцией С.В. Симановича; Санкт-Петербург 2000 г.

Лесничая И.Г. Информатика  и информационные технологии. Конспект лекций: учебное пособие /И.Г.Лесничая,  Ю.Д.Романова. – М.: Эксмо, 2006. – 304 с. – (Полный курс за три дня).

Информатика. В.А. Острейковский; Москва, Высшая школа, 1999 г.   

 

Лекция 2.5. Уровни языков программирования.

 

В настоящее время  в мире существует несколько сотен  реально используемых языков программирования. Для каждого есть своя область  применения.

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

По этому критерию можно выделить следующие уровни языков программирования:

    • машинные;
    • машинно-ориентированные (ассемблеры);
    • машинно-независимые (языки высокого уровня).

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

Языки высокого уровня делятся  на:

  • процедурные (алгоритмические) (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения;
  • логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;
  • объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над нами. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути, описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.

Информация о работе Системы счисления