Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Spisok_voprosov (1).docx
Скачиваний:
6
Добавлен:
22.09.2019
Размер:
3.9 Mб
Скачать
  1. Способы записи алгоритма. Блок-схемы.

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

Элемент блок-схемы

Наименование

Содержание

Блок вычислений (вычислительный блок)

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

Логический блок (блок условия)

Выбор направления выполнения алгоритма в зависимости от некоторого условия

Блок ввода-вывода данных

Общее обозначения ввода (вывода) данных (вне зависимости от физического носителя)

Начало (конец)

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

Процесс пользователя (подпрограмма)

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

Блок модификации

Функция выполняет действия, изменяющие пункты (например, заголовок цикла) алгоритма

Соединитель

Указание связи прерванными линиями между потоками информации в пределах одного листа

Межстраничные соединения

Указание связи между информацией на разных листах

  1. Способы записи алгоритма. Псевдокод.

Псевдокод позволяет формально изображать логику алгоритма, используя стандартизированные конструкции естественного языка для изображения управления и сохраняя возможности языка для описания действий по обработке информации. Данный способ тесно связан со структурным подходом к программированию. Псевдокод занимает промежуточное положение между естественным языком и языком программирования. Его применяют преимущественно для того, чтобы подробнее объяснить работу программы, что облегчает проверку правильности программы. Кроме того, псевдокод дает программисту большую свободу в изображении алгоритма. Требуется только употреблять стандартные управляющие конструкции и правила записи.

  1. Способы записи алгоритма. Сравнение различных подходов. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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

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

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

  1. Язык C++. Общие сведения и характеристика языка.

Язык C++ --это дальнейшее развитие языка программирования C. Программа на C++ состоит из переменных и описаний функций. Как правило, программы создают по модульному принципу и состоят из модулей. Этот принцип важен для написания надежных и легко модифицируемых программ. При соблюдений этих принципов модульности и скрытия информации позволяет модуля проводить модификации, не затрагивая остальных модулей и главную программу. Текст модуля разделяют на заголовочный файл интерфейса, который имеет объявления классов и функций, и файл реализаций, в котором есть описание функции. Расширение файлов реализации -- .cpp. Расширение заголовочных файлов -- .h. Как приложение написано, должен быть создан модуль (выполняемый файл). Рассмотрим процесс в несколько этапов. Чтобы преобразовать исходный файл надо препроцессор. Он осуществляет преобразования в соответствии с директивами препроцессора, которые размещаются в исходном тексте. В соответствии с этим директивами, включать отдельных тексты файлов в тексты других, развертывать макросы – сокращенные обозначения выражений и выполнять преобразования. После окончания роботы препроцессора начинает работать компилятор Задача компилятора --- перевести тексты в объектный код. В результате этого, создается вместо исходного кода .cрр создается файл с расширением .obj. После компилятора работает компоновщик, который группирует объектные файлы и загрузочный выполняемый модуль, имеющий расширение .exe. Этот модуль можно запускать на выполнение.

Язык С++ появился в начале 80-х годов. Созданный Бьерном Страуструпом с первоначальной целью избавить себя И своих друзей от программирования на ассемблере, Си или различных других языках высокого уровня. Очевидно, что больше всего С++ позаимствовал из языка Си, а таюке из непосредственного его предшественника языка ВСРЬ. Эти заимствования обеспечили С++ мощными средствами низкого уровня, позволяющие решать сложные задачи системного программирования. Но что в первую очередь отличает С++ от Си - это разная степень внимания к типам и структурам данных. Это связанно с появлением понятий класса, производного класса и виртуальной функции, перенятых в свою очередь из языка Симупа 67. Это дает в С++ более эффективные возможности для контроля типов и обеспечивает модульность программы. По мнению автора языка, различие между идеологией Си и С++ заключается примерно в следующем: программа на Си отражает "способ мышления” процессора, а | С++ - способ мышления программиста. Отвечая требованиям современного программирования, С++ делает акцент на разработке новых типов данных наиболее полно соответствующих концепциям выбранной области знаний и задачам приложения. Класс является ключевым понятием С++. Описание класса содержит описание данных, требующихся для представления объектов этого типа и набор операций для работы с подобными объектами. В отличие от традиционных структур Си и Паскаля, членами класса являются не только данные, но и функции. Функции - члены класса имеют привилегированный доступ к данным внутри объектов этого класса и обеспечивают интерфейс между этими объектами и остальной программой. При дальнейшей работе совершенно не обязательно помнить о внутренней структуре класса и механизме работы встроенных функций. В этом смысле класс подобен электрическому прибору — мало кто знает о его устройстве, но все знают, как им пользоваться. Язык С++ является средством объектного программирования, новейшей методики проектирования и реализации программ, которая в текущем десятилетии, скорее всего, заменит традиционное процедурное программирование. Главной целью создателя языка доктора Бьерна Страустрапа было оснащение языка С++ конструкциями, позволяющими увеличить производительность труда программистов и облегчить процесс овладения большими программными продуктами. Абстракция, реализация, наследование и полиморфизм являются необходимыми свойствами которыми обладает язык С++, благодаря чему он не только универсален, как и язык Си, но и является объектным языком.

  1. Структура программы на языке C++. Пример простой программы.

  • Программы представлены в виде иерархических блоков, последовательно соединённых между собой

  • Повторяющиеся блоки программ, оформляются в виде подпрограмм

  • Разработка программ ведётся сверху вниз

#include <iostream>

Int main ()

{

Cout <<hello world!\n”;

Return 0;

}

В строке 1 выполняется включение файла iostream в текущий файл.

# - служит сигналом для препроцессора. При каждом запуске компилятора запускается и препроцессор. (читает строки начинаюшиеся с символа #)

Include – это команда препроцессору, которую можно расшифровать «за именем команды следует имя файла. Нужно найти этот файл и вставить его содержимое прямо в место программы»

Основной код программы начинается в 3-ей строке с вызова функции main(). В этой программа функция main() возвращает значение типа int, а это значит, что по окончанию работы эта функция возратит операционной системе целочисленное значение

  1. Концепция памяти. Классификация архитектур памяти по требованиям к ним выглядит следующим образом:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]