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




Скачать 68.63 Kb.
НазваниеПрограмма на алгоритмическом языке совокупность описаний и действий, представляющая единый алгоритм. Программирование Процесс решения задачи «алгоритм»
Дата28.10.2012
Размер68.63 Kb.
ТипПрограмма
ПиАЯ

1-й семестр


Вводная лекция


Литература.

ПиАЯ – программирование и алгоритмические языки.

Язык. Основной элемент абстрактного языка – алфавит – конечное множество символов (неделимых знаков). Конечная последовательность символов – слово.

Лексема – минимальная единица языка, имеющая самостоятельный смысл.

Выражение - задает правило вычисления некоторого значения.

Оператор задает законченное описание некоторого действия.

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

Алгоритм Евклида нахождения наибольшего общего делителя. Описание алгоритма (словесное, пошаговое, блок-схема).

Последовательность операторов, описывающих сложное действие и объединяемых в составной оператор, - блок ( begin … end; {…}). Исполняемые операторы – выполняют действия над данными, неисполняемые операторы – описания данных. Синтаксис, семантика.

Для описания языка используются формулы Бэкуса-Наура:

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

  2. в квадратных скобках – необязательные элементы

  3. вертикальная черта – выбор из нескольких элементов

  4. фигурные скобки – группировка элементов, из которых выбирается только один

  5. ::= - «это»

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

Программирование Процесс решения задачи («алгоритм») : понимание (примеры, ввод/вывод) ↔ мат. Модель (сложность решения задачи) ↔ алгоритм (детализация, ориентация на язык программирования) ↔ программа (отладка, тестирование, верификация).

Процесс создания исполняемой программы : исходный текст/ы → препроцессор выполняет директивы (заголовочные файлы (.h)) → полный текст → компилятор (ошибки) → объектный код (.obj) → компоновщик (редактор связей, несколько модулей, функции библиотек (.lib)→ исполняемый файл (.exe).


Язык C++

Алфавит:

  • латинские буквы и _

  • цифры (0..9)

  • спец. Символы:

    1. арифм. Операции (+ - * / %)

    2. сравнения (< > =)

    3. скобки

    4. . , ; : ! ?

    5. | &

    6. ‘ “

    7. \ ^ # ~

  • пробельные символы ( …, tab, Enter)


Лексемы

  • идентификаторы

  • ключевые слова

  • знаки операций

  • константы

  • разделители


Логические выражения (0, 1, true, false, идентификаторы, числа, результаты сравнения, ЛВ && ЛВ, ||, &, |, !, (ЛВ) )

Арифметические выражения (константы, идентификаторы, АВ <знак> AB, (АВ) )


<Оператор присваивания> ::= <иден> = <выражение>

Конец первых 2-х лекций


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

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

Методы структурирования блок-схем.

Конец 4-й лекции



Понятие идентификатор. Виды констант (целые, вещественные, символьные, строковые). Комментарии. Основные типы данных, модификаторы типов.

Вид программы на С. Пример простейшей программы (алгоритм Евклида).

Конец 5-й лекции


Переменная – именованная область памяти, в которой хранятся данные определенного типа. Пример…

[класс памяти] [const] тип имя [инициализатор]


Пример:


.


Константа инициализируется при объявлении.


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

Пример…


int a;

void main()

{

int b;



for (int I=0;…;…)



Нулевое значение при инициализации.


Мнемионика.


Операции.


Список операций из книги кроме ((type),>>,<<,<<=,>>=)

Конец 6-й лекции



Пояснения операций.


Выражения (приоритеты, последовательность

(«присваивание справа налево»»), преобразование типов)


Математические функции


acos , asin, atan , atan2 (x, y) , double ceil , double floor , cos , sin , tan , exp, fabs,

double fmod (double, double) , log, log10, double pow(double x, double y) , sqrt

Основные операторы (примеры)





  • Условный оператор if

  • Оператор ветвления switch , default, break, return

  • Операторы цикла

  1. while…{}

  2. do {} while…

  3. for(…;…;…}{}



goto <метка>;

break;

continue; -следующая итерация цикла (пропуск невыполненных операций )

return; - выход из функции


Массивы


  • Понятие массива

  • Синтаксис, инициализация

  • Многомерные массивы

  • Ввод/вывод



Конец 8-й лекции



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

  • Перевод из одной с.сч. в лругую (целые, дробные)

  • Арифметические операции

  • Представление чисел в памяти компьютера (дополнительный код)



Конец 9-й лекции



Основы алгебры логики


  • Основные операции (отрицание, конъюнкция, дизъюнкция, импликация)

  • Формулы, таблица истинности

  • Основные эквивалентности, сокращение формул

  • Описание высказываний логическими выражениями (принадлежность/непринадлежность точки графическому объекту (отрезок, прямая, круг), параллельность прямых)



Конец 10-й лекции


  • Стандартный строковый тип данных. Ввод/вывод.

  • Схема Горнера вычисления значения многочлена.

  • Рекурентные соотношения (последовательность Фиббоначи).

  • Бесконечные суммы (2 принципа ограничения длины ряда). Мультипликативная и аддитивные зависимости

  • Программы нахождения минимума нескольких переменных, упорядочивания 3-х элементов.

  • Принципы решения основных задач на последовательностях (min, max, sum, произведение, количество).

  • Вложенные циклы.

  • Индекс элемента, как более информативное понятие, чем его значение. Индекс, как выражение.

  • Индекс минимального элемента вектора, матрицы.

  • Объекты, представляемые как массивы (множества, многочлены, большие числа), алгоритмы основных операций с такими объектами.



Конец 12-й лекции


Работа с упорядоченными массивами:

  • упорядочивание (метод пузырька, «поиска максимального», вставки), оценка методов

  • дихотомический поиск

  • слияние.

Матрицы. Формированние.

Перестановки и удаление строк (столбцов), упорядочивание строк (столбцов).

Конец 14-й лекции



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

Описание функций.

Организация информационной связи между вызывающей и вызываемой функцией. Параметры-переменные, параметры-значения.

Ссылки.

Оператор return. Локальные и глобальные объекты. Операциональная семантика оператора функции как модификация тела функции.

Указатели (описание, инициализация, new, delete).

Конец 16-й лекции



Параметр - массив (одномерный, многомерный).

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

Конец 18-й лекции



Строки, функции работы со строками (strlen, strcpy, strncpy, strcmp, strncmp). Символьный тип как универсальный тип данных.

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

Перечисления

Структура - определение типа, переменная - указатель поля.

Инициализация.

Битовые поля.

Объединения (union).

Двоичные файлы.

Средства ввода/вывода (get, getline, read , put, write).

Конец 20-й лекции



Средства ввода/вывода (gcount, eof).

Задача - подсчет количества введенных строк.

Файловый ввод/вывод (open(str), close()).

Задача – распаковка текста (особенности eof).

Ввод/вывод в С.

Пример описания структуры и обработки двоичного файла структур.

Конец 22-й лекции


Инициализация структуры, массива структур. Присваивание структур. Структура в функции.


Типы данных, определяемые пользователем.


typedef unsigned int UINT;

typedef char MSG[100];

typedef struct{…} Worker;



UINT i, j;

MSG str[10];

Worker st[20];


Имена функций, как параметры функции.


typedef void (*pf)(int)



void f(*pf freal ){freal(5);}

void f1(int a){cout << a;}

void f2(int a){ cout << a*a;}

void main()

{ f(f1);

f(f2);

}


Параметры со значениями по умолчанию.


Рекурсивные функции. "Ханойские башни".


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


Шаблоны функций. Инстанцирование.

template <class A, class B, int I … > заголовок {тело функции}


Функция int main(int argc, char* argv[])


Упорядочивание методом Фон-Неймана (простой, и рекурсивный алгоритм). Последняя лекция (обзор тем, пример билета экзамена).

Похожие:

Программа на алгоритмическом языке совокупность описаний и действий, представляющая единый алгоритм. Программирование Процесс решения задачи «алгоритм» iconРешаем задачи по физике ! Алгоритм решения задач по физике. Алгоритм описание последовательности действий (план)
Запиши «Дано» Произведи краткую запись условия задачи с помощью общепринятых буквенных обозначений, используй таблицы физических...
Программа на алгоритмическом языке совокупность описаний и действий, представляющая единый алгоритм. Программирование Процесс решения задачи «алгоритм» iconПрограмма алгоритм, записанный на языке программирования, служащий для выполнения каких-либо действий. Транслятор
Программа алгоритм, записанный на языке программирования, служащий для выполнения каких-либо действий
Программа на алгоритмическом языке совокупность описаний и действий, представляющая единый алгоритм. Программирование Процесс решения задачи «алгоритм» iconУроков информатики по теме: «Программирование на языке Паскаль»
Тема: Правила тб. Этапы решения задач на ЭВМ. Алгоритм. Свойства алгоритма. Исполнитель алгоритма
Программа на алгоритмическом языке совокупность описаний и действий, представляющая единый алгоритм. Программирование Процесс решения задачи «алгоритм» iconЗадача оптимальной упаковки; комбинированный алгоритм; волновой алгоритм; ресурсная эффективность
Комбинированный и волновой алгоритмы решения задачи упаковки: принципы построения и особенности
Программа на алгоритмическом языке совокупность описаний и действий, представляющая единый алгоритм. Программирование Процесс решения задачи «алгоритм» icon©кабинет 21, 2006-2011
Программирование – процесс создания программ. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется програм­мой....
Программа на алгоритмическом языке совокупность описаний и действий, представляющая единый алгоритм. Программирование Процесс решения задачи «алгоритм» iconРешение квадратных уравнений на компьютере
Алгоритм решения данной задачи сначала должен быть представлен в виде словесного описания или графически в виде блок-схемы. Алгоритм...
Программа на алгоритмическом языке совокупность описаний и действий, представляющая единый алгоритм. Программирование Процесс решения задачи «алгоритм» iconАлгоритм решения задач по кинематике
Используя основные формулы кинематики, подберите формулы, которые необходимы для решения данной задачи
Программа на алгоритмическом языке совокупность описаний и действий, представляющая единый алгоритм. Программирование Процесс решения задачи «алгоритм» iconАлгоритм решения задач по кинематике
Произведи краткую запись условия задачи с помощью общепринятых буквенных обозначений (СИ)
Программа на алгоритмическом языке совокупность описаний и действий, представляющая единый алгоритм. Программирование Процесс решения задачи «алгоритм» iconЛитература по курсам "Программирование на языке высокого уровня" и «Программирование и основы алгоритмизации»
Перевезенцева Е. С., Перевезенцев А. А. Технология решения задач с использованием компьютера: Учебное пособие по курсу "Программирование...
Программа на алгоритмическом языке совокупность описаний и действий, представляющая единый алгоритм. Программирование Процесс решения задачи «алгоритм» iconУмение написать короткую простую программу на языке программирования или записать алгоритм на естественном языке 3 3, 5 3). С3
Перечень требований к уровню подготовки, проверяемому на егэ по информатике и икт
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница