
- •Алгоритм, свойства и способы его описания;
- •Основные алгоритмические структуры;
- •Порядок подготовки и решения задач с использованием пк;
- •Типы операций, приоритет операций;
- •Стандартные типы данных, их описание в программе: константы, переменные, выражения;
- •Преобразование типов;
- •Манипуляторы;
- •Область видимости переменных, локальные и глобальные переменные;
- •Структурированные типы данных: массивы и их обработка;
Алгоритмизация и программирование
Алгоритм, свойства и способы его описания;
Алгоритм – строга определенная последовательность действий, приводящая от исходных данных к искомому результату.
Свойства алгоритмов:
Массовость – наборы исходных данных, с которыми работает алгоритм. Понимается как допустимость ВСЕХ объектов соответствующего типа, а не только их конкретного количества. Проще говоря, алгоритм работает с любыми исх данными, а не конкретно с какими-то
Алгоритм должен завершаться за конечное число шагов. Не должно быть ситуации, когда алгоритм начнет бесконечный цикл.
Алгоритм обладает свойством детерминированности – однозначности, когда каждому шагу соответствует конкретное действие
Алгоритм считается потенциально осуществимым, если он завершается за конечное число шагов без учета времени и затрачиваемых ресурсов.
Корректность – алгоритм выдает верные результаты при всех допустимых исходных данных. Данное свойство проверяется экспериментально.
Определенность – запись алгоритма выполняется на некотором языке настолько точно, что однозначно выполняется любым исполнителем
Применение алгоритма к одним и тем же исходным данным должно возвращать одни и те же результаты. Это называется однозначностью алгоритма.
Способы описания алгоритма:
Словесное описание
Таблица
Блок-схема
Граф-схема
Алгоритмический язык (язык программирования)
Основные алгоритмические структуры;
Линейный алгоритм – алгоритм, в котором действия выполняются последовательно он начала и до конца.
Разветвляющийся алгоритм содержит блок проверки условия. В зависимости от результата проверки условия выполняется та или иная последовательность операций, называемая ветвью. При этом форма разветвления может быть полной (с веткой ИНАЧЕ) или сокращенной (без ветки ИНАЧЕ, если условие не выполняется – происходит НИЧЕГО).
Циклический алгоритм включает в себя часть кода, который выполняется более одного раза. Выделяют следующие виды циклов:
С известным числом итераций (FOR)
C предпроверкой условия (While do)
C постпроверкой условия (do while)
Порядок подготовки и решения задач с использованием пк;
Постановка задачи – составление ТЗ (технического задания), в котором указывается объект исследования, цель, исходные данные, желаемый результат
Формализация задачи – математическое описание физической системы, разработка физической модели системы. Проще говоря прикинуть в голове как должна работать программа, основные ее модули
Выбор метода решения задачи – любую задачу можно решить ресколькими способами. На этом этапе нужно выбрать конкретный
Подготовка алгоритма решения задачи – необходимо расписать полных ход работы программы в виде блок схемы или в виде тезисов, соблюдая свойства алгоритвом (см выше)
Запись алгоритма – реализация программы в виде исходного кода, который хотя бы запускается, не говоря уже про верные результаты
Отладка программы – поиск и устранение ошибок, а также проверка различных исходных данных на предмет того, что программа выдает верные результаты. Ошибки бывают синтаксические – не там запятая, не та буква, а так же логические – ошибка в алгоритме. Первые часто легки в нахождении – подсвечиваются компилятором, а вторые появляются в момент сравнения результатов с ожидаемыми.
Решение задачи (хотя я бы назвал этот этап тестированием) – прогон нескольких различных наборов исходных данных, чтобы убедиться, что программа обрабатывает их адекватно.
основные определения языка С++: алфавит, структура программы, директивы препроцессора; алфавит - присущий языку набор символов, формирующий все конструкции. В него входят: прописная латиница, строчная латиница, арабские цифры, знаки препинания, непечатаемые символы
#include "stdafx.h"
//здесь подключаем все необходимые препроцессорные директивы
void main() { // начало главной функции с именем main
//здесь будет находится ваш программный код
}
Необходимо уметь рассказать, что делает препроцессорная директива include (включает текст файла в «»/<> в основной файл программы во время компиляции), define – заменяет последовательность символов (макрос) на другую. Суметь рассказать, что описывается в библиотеках (в них описываются прототипы и тела различных функций). Суметь рассказать, чем отличается void от int(или любого другого типа данных) в описании функции (не обязательно main).