Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен по информатике.docx
Скачиваний:
25
Добавлен:
22.09.2019
Размер:
1.18 Mб
Скачать

Сравнение примеров

  • Первый пример написан на более высоком уровне, чем второй.

  • Первый отражает намерения, а второй реализацию.

  1. Способы записи алгоритма. Сравнение различных подходов. Выгоды использования блок-схем и псевдокода

  • Псевдокод упрощает пересмотр конструкции – вам не потребуется вникать в исходный код.

  • Псевдокод поддерживает идею итеративного усовершенствования (подхода). Вы начинаете с высокоуровневой конструкции, уточняете её до псевдокода, который в свою очередь преобразуете в исходный код. Такое последовательное усовершенствование позволяет проверять проектные решения шаг за шагом, по мере перехода на более низкие уровни. Проектные ошибки обнаруживаются в самом начале; алгоритмические ошибки обнаруживаются на этапе кодирования.

  • Псевдокод упрощает внесение изменений. Что проще: исправить линию на чертеже или снести стену и сдвинуть её на метр в сторону? В программировании эффект не столь драматичен в плане физических усилий, но идея та же: несколько строк псевдокода исправить легче, чем страницу кода.

Одна из основ успешного программирования – отловить ошибку как можно раньше, когда для её исправления потребуется меньше усилий.

Только псевдокод

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

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

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

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

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

Любая программа на C++ может содержать следующие блоки:

Рассмотрим назначение каждой секции:

  • Подключение библиотек. Очень часто программы делают одни и те же операции. Например, вычисления значений квадратного корня, ввод данных из файла и так далее. Эти операции группируются по назначению в различные модули, которые называются библиотеками. Используя библиотеки можно сократить и упростить исходный текст программы.

  • Описание функций. Однако не все функции созданы заранее. Программисту для упрощения вычислений приходится писать свои функции. Эти функции располагаются в этой секции программы.

  • Главная функция main(). Выполнение любой программы на C++ начинается с этой функции. Эта функция вызывается операционной системой. После завершения вычислений функция main() передаёт управление обратно операционной системе.

    • Объявление переменных. Переменные хранят информацию. Прежде чем использовать переменные их нужно описать или как говорят объявить. Объявление переменных происходит в этой части программы.

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

    • Вычисление результата. Любая программа пишется для чего-то. У каждой программы есть цель. Достижение этой цели или вычисление результата производится в этой части программы.

    • Вывод результата. Когда результат вычислен, его нужно представить пользователю. Это может быть вывод на экран, а может и запись в файл. В данной секции производится представление результата в нужной для пользователя форме.

Простая программа на C++

В C++ используются формы записи, которые непрограммисту могут показаться странными. Мы начинаем с рассмотрения простой программы, печатающей две строки текста.

// Простой вывод сообщения

#include <iostream>

using namespace std;

int main()

{

// Вывод приветствия

cout << «Привет!» << endl;

cout << «Это - твоя первая программа на C++.» << endl;

// Завершение программы

return 0;

}

Эта программа иллюстрирует несколько важных особенностей программ на C++. Рассмотрим каждую строку программы (пустые строки игнорируются).

// Простой вывод сообщения

Это однострочный комментарий. Однострочный комментарий начинается с символов «//» и заканчивается в конце строки. Программисты вставляют комментарии, чтобы документировать программу и облегчить её чтение. Комментарии помогают другим людям читать и понимать вашу программу. Комментарии не вызывают никаких действий компьютера при выполнении программы. Они игнорируются компилятором.

Комментарий «Простой вывод сообщения» просто описывает цель программы. Такой комментарий располагается в самом начале программы.

Хороший стиль программирования 1: Каждая программа должна начинаться с комментария, описывающего цель программы.

#include <iostream>

using namespace std;

Эти строки позволяют подключить библиотеку ввода-вывода iostream. С её помощью можно выводить данные на экран и читать данные с клавиатуры. Позже мы рассмотрим подключение других библиотек.

Типичная ошибка программирования 1: Забывают включить библиотеку iostream в программу, которая вводит данные с клавиатуры или выводит данные на экран.

int main()

{

}

Эти строки являются частью любой программы на C++. Они описывают функцию main. Программы на C++ содержат одну или более функций, одна из которых должна быть main. Эта программа содержит только одну функцию. Программа на C++ всегда начинается с выполнения функции main, даже если main – не первая функция программы.

Каждая функция содержит операторы, которые располагаются между символами { и }.

cout << «Привет!» << endl;

cout << «Это - твоя первая программа на C++.» << endl;

Программы состоят из операторов. В C++ операторы разделяются через ;.

Строки, которые начинаются с символа cout, называют операторами вывода. cout читается как «си-аут». Справа от cout через << находится выводимая на экран информация. В данном случае это строка «Привет!» и символ перевода курсора на новую строку.

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

Хороший стиль программирования 2: Последний символ выводимого текста должен быть endl, который переводит курсор на новую строку. Вывод программы становится более воспринимаемым для человека.

return 0;

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

Хороший стиль программирования 3: Делайте одинаковые отступы для всех операторов внутри функции. Каждый оператор располагайте на новой строке. Структура программы получается более понятной и легкой для чтения.

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

Привет!

Это - твоя первая программа на C++.

Это сообщение можно напечатать разными способами. Например, так:

cout << «Привет!» << endl << «Это - твоя первая программа на C++.» << endl;

Или так:

cout << «Привет!» << endl;

cout << «Это – твоя »;

cout << «первая программа на C++.» << endl;

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