- •1.Практические задания для работы с текстовым редактором word. Задание 1. Таблицы, колонки, назначение клавиш символами Определение задуманного числа по трем таблицам
- •Задание 2. Формулы, таблицы, нижние индексы Сложение и вычитание вместо умножения
- •Задание 3. Рисование, сноски Фигуры из кусочков квадрата
- •Задание 4. Создание титульного листа
- •4. Написание, компиляция и отладка простейшей программы.
- •4.1. Программирование вычислительных процессов линейной структуры. Задание 5. Составить программу и вычислить три значения функции z.
- •4.2. Вычисление функций Задание 6. Составить программу для вычисления функции y
- •4.3. Программирование вычислительных процессов разветвляющейся структуры Задание 7. Составить программу и вычислить шесть значений функции y
- •4.4. Циклы, управляемые числом вычислений (циклы со счетчиком) Задание 8. Составить программу и вычислить шесть значений функции при различных значениях аргумента X
- •4.5. Вычисление суммы и произведения Задание 9. Составить программу и вычислить три значений функции y
- •4.6. Сложные (вложенные) циклы Задание 10. Составить программу и вычислить три значений функции y
- •4.7. Циклы, управляемые монотонно изменяющейся величиной Задание 11. Составить программу и вычислить значения функции z
- •4.8. Итерационные циклы Задание 12. Составить программу вычисления y с использованием рекуррентного выражения
- •4.9. Циклы с несколькими одновременно изменяющимися параметрами Задание 13. Составить программу и вычислить значения функции z, если переменные X, Yи z изменяются одновременно
- •4.10. Нахождение наибольшего и наименьшего значения функции Задание 14. Составить программу и найти наименьшее (наибольшее) значение функции y
Задание 3. Рисование, сноски Фигуры из кусочков квадрата
К числу полезных и увлекательных развлечений относится составление фигур из семи кусочков квадрата, разрезанного в соответствии с рисунком 1, (а), причем при составлении заданных фигур должны быть использованы все семь кусочков, и они не должны налегать, даже частично, друг на друга.
а) Рисунок 1 b)
На рисунке 2 приведены симметричные фигуры. Попробуйте сложить эти фигуры из частей квадрата, изображенного на рисунке 1, (а).
Рисунок 2
Задание 4. Создание титульного листа
А.П.Доморяд
Издательство «Школьник»
Волгоград,2003 год.
2. Введение в С++
Программа, выводящая строку выдачи:
#include
main ()
{
cout << "Hello, world\n"; }
Строка #include сообщает компилятору, чтобы он включил стандартные возможности потока ввода и вывода, находящиеся в файле stream.h. Без этих описаний выражение cout << "Hello, world\n" не имело бы смысла. В строке символ обратной косой \, за которым следует другой символ, обозначает один специальный символ; в данном случае, \n является символом новой строки.Остальная часть программы
main() { ... }
определяет функцию, названную main. Каждая программа должна содержать функцию с именем main, и работа программы начинается с выполнения этой функции.
Первая строка функции main() описывает целую переменную inch. Ее значение считывается с помощью операции >> ("взять из") над стандартным потоком ввода cin. После ее запуска ваш терминал может выглядеть примерно так:
$ a.out
inches=12
12 in = 30.48 cm
$
Часто бывает полезно вставлять в программу текст, который предназначается в качестве комментария только для читающего программу человека и игнорируется компилятором в программе.
Символы /* начинают комментарий, заканчивающийся символами */. Символы // начинают комментарий, который заканчивается в конце строки, на которой они появились.
Каждое имя и каждое выражение имеет тип, определяющий операции, которые могут над ними производиться. Например, описание int inch; определяет, что inch имеет тип int, то есть, inch является целой переменной. Описание - это оператор, который вводит имя в программе. Тип определяет правильное использование имени или выражения.
Основные типы, наиболее непосредственно отвечающие средствам аппаратного обеспечения, такие:
char short int long float double
Первые четыре типа используются для представления целых, последние
два - для представления чисел с плавающей точкой.
К основному типу можно применять прилагательное const. Это дает тип, имеющий те же свойства, что и исходный тип, за исключением того, что значение переменных типа const не может изменяться после инициализации.
const float pi = 3.14;
const char plus = '+';
К любой комбинации этих типов могут применяться арифметические
операции:
+ |
(плюс, унарный и бинарный) |
- |
(минус, унарный и бинарный) |
* |
(умножение) |
/ |
(деление) |
А также операции сравнения:
== |
(равно) |
!= |
(не равно) |
< |
(меньше) |
> |
(больше) |
<= |
(меньше или равно) |
>= |
(больше или равно) |
При присваивании и арифметических операциях C++ выполняет все
осмысленные преобразования между основными типами, чтобы их можно
было сочетать без ограничений:
double d = 1;
int i = 1;
d = d + i;
i = d + i;
Поток управления в программе задается с помощью операторов , а описания используются для введения в программе имен переменных, констант и т.д. Заметьте, что описания являются операторами, поэтому они свободно могут сочетаться с другими операторами.
В C++ имеется большое число операций, и они будут объясняться там, где (и если) это потребуется. Следует учесть, что операции
~ |
(дополнение) |
& |
(И) |
^ |
(исключающее ИЛИ) |
| |
(включающее ИЛИ) |
<< |
(логический сдвиг влево) |
>> |
(логический сдвиг вправо) |
Смысл операции зависит от числа операндов; унарное & является
операцией взятия адреса, а бинарное & - это операция логического И.
В C++ есть операция присваивания =, а не оператор присваивания,
как в некоторых языках. Таким образом, присваивание может
встречаться в неожиданном контексте; например, x=sqrt(a=3*x).
Например,
x[i+3]*=4 означает x[i+3]=x[i+3]*4, за исключением того факта, что
выражение x[i+3] вычисляется только один раз.
В большинстве программ на C++ широко применяются указатели.
Самый обычный вид оператора - оператор выражение. Он состоит из выражения, за которым следует точка с запятой.
Простейшей формой оператора является пустой оператор: ;
Заметьте, что условие в операторе if должно быть заключено в круглые скобки.
Оператор switch производит сопоставление значения с множеством констант.
Операторы break применяются для выхода из оператора switch.
Следующее после while условие должно быть заключено в круглые
скобки.
for (int i=0; i<10; i++) q[i]="p[i];"
Описание - это оператор, вводящий имя в программе. Оно может также инициализировать объект с этим именем. Выполнение описания означает, что когда поток управления доходит до описания, вычисляется инициализирующее выражение (инициализатор) и производится инициализация.
3. Краткое знакомство со средой Visual С++
Компилятор VisualC++ содержит много новых инструментальных средств и улучшенных возможностей. Файлы рабочего пространства теперь имеют расширение DSW(раньше использовалось расширение MDP). Создаваемые проекты записываются в файлы двух типов: внутренние (DSP) и внешние (МАК). Файлы с расширением DSP создаются при выборе нового проекта или при открытии файла проекта, созданного в ранней версии программы. Программистам приходится изучать сотни различных API-функций. Чтобы облегчить их труд, специалисты Microsoft разработали библиотеку MicrosoftFoundationClasses— MFC . Используя готовые классы C++, можно гораздо быстрее и проще решать многие задачи. Библиотека MFC существенно облегчает программирование в среде Windows. Классы библиотеки MFC используются как для управления объектами Windows, так и для решения определенных общесистемных задач. По сути, в MFC представлены практически все функции WindowsAPI. В библиотеке имеются средства обработки сообщений, диагностики ошибок и другие средства, обычные для приложений Windows. MFC обладает следующими преимуществами. MicrosoftVisualC++ представляет собой интегрированную среду разработки, в которой вы можете легко создавать, открывать, просматривать, редактировать, сохранять, компилировать и отлаживать все свои приложения, написанные на С или C++. Преимуществом этой среды является относительная простота и легкость в изучении.
Запуск Visual C++
Меню File.
New
По команде New... открывается окно для выбора типа создаваемого файла, проекта или рабочего пространства. Именно с этой команды обычно начинается работа над новым приложением. VisualC++ автоматически присваивает название и номер каждому создаваемому файлу (но не проекту), если только вы не сделали этого самостоятельно. Нумерация файлов начинается с 1. Таким образом, первый файл всегда будет иметь имя xxxl, второй — ххх2 и т.д.
Open
В отличие от команды New..., предназначенной для создания нового файла, команда Open...
открывает диалоговое окно, с помощью которого вы можете выбрать любой ранее
сохраненный файл. Окно OpenFile имеет стандартный вид для всех приложений Windows. В
случае попытки открыть уже открытый файл будет подан звуковой сигнал и показано
предупреждающее сообщение.
Close
Команда Close предназначена для закрытия ранее открытого файла. Если у вас в настоящий момент открыто несколько файлов, данная команда закроет активное, т.е. текущее окно. Если вы по ошибке попытаетесь закрыть несохраненный файл, программа предупредит о том, что вы рискуете потерять информацию, и предложит сохранить ее прямо сейчас.
Save
Команда Saveсохраняет содержимое текущего окна в соответствующем файле. По строке заголовка окна можно определить, соответствует ли активному окну какой-нибудь файл на жестком диске. Если вы открыли новое окно и еще не сохраняли его, то в строке заголовка будет показано стандартное имя вида xxxl. При попытке сохранить информацию из окна, которому не соответствует ни один файл, автоматически будет открыто диалоговое окно
Save As
Команда SaveAs... позволяет сохранить содержимое окна в файле под новым именем. Предположим, вы только что закончили работу над проектом и, имея вполне работоспособную программу, хотите попытаться внести некоторые изменения. В целях безопасности текущую версию программы нужно сохранить. Для этого вы выбираете команду SaveAs и сохраняете проект под новым именем, после чего можете спокойно экспериментировать с дубликатом. Если эксперименты приведут к повреждению программы, вы всегда сможете вернуться к исходной версии.
Save All
Если вам никогда ранее не приходилось заниматься программированием на C/C++ в Windows95,98 или NT, то поначалу вы будете ошеломлены обилием файлов, вовлеченных в проект. Неудобство команды Save состоит в том, что она сохраняет содержимое только одного, текущего окна. С помощью команды SaveAll можно сохранить все открытые на данный момент файлы. Если содержимое каких-то окон ранее не сохранялось в файлах, то для них автоматически будет открываться окно SaveAs, где вы сможете вводить имена новых файлов.
Page Setup
Данную команду обычно используют перед выводом файла на печать. В открывающемся при этом диалоговом окне PageSetup вы можете задать верхний и нижний колонтитулы для каждой печатной страницы, а также размеры, верхнего, нижнего, правого и левого полей страницы.
Чтобы вывести на печать содержимое активного окна, нужно выбрать из меню File команду Print.... Откроется диалоговое окно Print, в котором вы сможете установить требуемые параметры печати. Прежде всего необходимо решить, хотите вы вывести на печать все
содержимое файла или только предварительно выделенную часть. Если в активном окне был выделен блок, то в окне Print станет доступной опция Selection группы PrintRange (в противном случае переключатель окажется недоступным). Если к компьютеру подключено несколько устройств вывода, вы можете выбрать нужный принтер и произвести настройку параметров печати, щелкнув на кнопке Setup.
Recent Files и Recent Workspaces
Под командой Print... находятся списки недавно открывавшихся файлов и проектов. Удобная особенность таких списков состоит в том, что они обновляются автоматически. Когда вы в первый раз запускаете VisualC++, оба списка пусты.
Exit
Команда Exit закрывает окно VisualC++. Не беспокойтесь, если вы забыли сохранить содержимое какого-нибудь файла. Программа автоматически выдаст предупреждающие сообщения для каждого несохраненного файла.
Меню Edit.
Undo
Команда Undo позволяет отменять последние выполненные операции редактирования. Данная возможность доступна также и через соответствующую кнопку стандартной панели инструментов (восьмая слева).
Redo
После того как вы отменили последнее действие с помощью команды Undo, вы можете повторить операцию, воспользовавшись командой Redo. Этой команде соответствует девятая слева кнопка стандартной панели инструментов.
Cut
Команда Cut копирует выделенный блок текста из активного окна в буфер обмена, после чего удаляет этот блок из окна. Команду Cut обычно используют в сочетании с командой Paste для перемещения блока текста из одного места в другое. На стандартной панели инструментов ей соответствует пятая кнопка слева.
Copy
Как и команда Cut, команда Сору копирует и помещает выделенный блок текста в буфер обмена, но этот блок сохраняется в активном окне. Команду Сору обычно используют в сочетании с командой Paste при необходимости скопировать блок текста из одного места в другое. Ей соответствует шестая слева кнопка стандартной панели инструментов.
Paste
Команда Paste предназначена для вставки информации из буфера обмена в текущий документ (в месторасположение текстового курсора). На стандартной панели инструментов ей соответствует седьмая слева кнопка.
Delete
Чтобы удалить выделенный блок текста, не копируя его в буфер обмена, можно воспользоваться командой Delete. Хотя удаленный текст и не будет скопирован в буфер обмена, вы все равно сможете восстановить его, если сразу после удаления выберете в меню Edit команду Undo.
Select All
Команда SelectAll используется для выделения всего содержимого активного окна с целью последующего вырезания, копирования или удаления.
Find
Модуль поиска, запускаемый командой Find..., работает примерно так же, как и аналогичное средство поиска в большинстве текстовых редакторов. Поскольку языки C/C++ чувствительны к регистру символов, опции диалогового окна Findпозволят вам организовать поиск как с учетом, так и без учета регистра, а также поиск слова целиком. Можно задать и направление поиска - вверх или вниз от текущего положения курсора.
Find in Files
При выборе команды Find in Files... вы получаете в свое распоряжение все средства команды Find... и возможность проводить поиск ключевых слов сразу в нескольких файлах. Вы можете спросить: "С какой стати я стану искать что-нибудь сразу в нескольких файлах?" Чтобы ответить на этот вопрос, вспомним, что проект, написанный на C/C++, состоит из множества взаимосвязанных файлов. Предположим, в процессе программирования вы поймете, что какую-то часто используемую в приложении конструкцию лучше заменить более компактной. В таком случае, выполнив команду Find in Files..., вы будете уверены, что произвели замену во всех файлах проекта. Если над каким-то большим проектом работает группа людей, то с помощью команды FindinFiles... вы сможете отобрать файлы, автором которых является определенный сотрудник. Кроме того, помните, что возможности команды FindinFiles... не ограничены одной папкой или даже одним диском. С помощью этой команды вы можете вести поиск в локальной сети, в интранет и даже в Internet, отыскивая заданные имена, строки, ключевые слова, методы и многое другое.
Replace
При выборе команды Replace... открывается диалоговое окно, с помощью которого можно менять строки текста. Для этого нужно ввести в соответствующие поля текст для поиска и текст для замены, после чего установить критерии поиска. Вы можете проводить поиск с учетом или без учета регистра символов, искать слова целиком и использовать регулярные выражения, которые мы рассмотрели выше, при знакомстве с командой Find...
Go To
С помощью команды GoTo... можно быстро переместить курсор к определенному месту текущего документа. После выбора этой команды откроется диалоговое окно, в котором можно задать номер строки программы, куда следует перейти. Если вы введете значение, превышающее число строк программы, то курсор будет перемещен в конец файла.
Меню Build.
StartDebug
Данное подменю содержит команды, предназначенные для выполнение программы в режиме отладки: до курсора или до заданной точки останова.
Debugger Remote Connection...
Благодаря наличию этой команды можно осуществлять отладку проекта, выполняющегося на удаленном компьютере.
Меню Project.
Set Active Project
Активирует базу данных для последующих запросов. Если необходимо использовать внешнюю базу данных в проекте, эта функция может быть использоваться для смены используемой базы данных.