- •1) Обзор языка . Структура профессиональной среды разработки программ
- •2) Написать выражение на языке :
- •1. Обзор языков программирования, структура профессиональной среды разработки программ :
- •1) Понятие и подключение библиотеки
- •2) Задача. Найти сумму двух целых чисел a и b.
- •1) Интегрированная среда тр
- •2) Задача. Укажите значение переменной z, после выполнения программы,
- •1) Основные команды главного меню
- •1) Набор символов.Главная функция
- •2) Задача. Написать программу, которая вычисляет при заданном х.
- •1. Символьные данные
- •1) Лексемы: специальные символы, зарезервированные слова.
- •1) Идентификаторы
- •1) Правило записи идентификаторов
- •1) Арифметические операции
- •2) Задача. Написать выражение на языке , .
- •1) Типы данных
- •2) 1. Задача. Дана программа: Var st: string; Begin
- •1) Операторы присвоения
- •2) Задача. Результатом решения задачи будет:
- •1) Форматный ввода
- •2) Задача. Написать выражение на языке
- •1) Форматный вывода
- •1) Цикл с предусловием
- •1) Цикл с постусловием.
- •2) Задача. Даны два числа. Найти их среднее арифметическое и среднее геометрическое.
1) Арифметические операции
2) Задача. Написать выражение на языке , .
Ответ:
1.
+ - сложение;
- - вычитание;
* - умножение;
/ - деление;
% - остаток от деления.
Ниже представлен программный код использующий арифметические операции в C++.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
// arithmetic.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h" #include <iostream> using namespace std;
int _tmain(int argc, char* argv[]) { double sum, razn, pow, div; // объявление переменных через запятую double a1; // отдельное объявление переменной a1 double a2; // отдельное объявление переменной a2 cout << "Vvedite pervoe chislo: "; cin >> a1; cout << "Vvedite vtoroe chislo: "; cin >> a2; sum = a1 + a2; // операция сложения razn = a1 - a2; // операция вычитания pow = a1 * a2; // операция умножения div = a1 / a2; // операция деления cout << a1 << "+" << a2 << "=" << sum << endl; cout << a1 << "-" << a2 << "=" << razn << endl; cout << a1 << "*" << a2 << "=" << pow << endl; cout << a1 << "/" << a2 << "=" << div << endl; system ("pause"); return 0; } |
В строке 9 объявляются переменные с именами sum, razn, pow, div тип данных у которых double – вещественный тип данных (то есть эти переменные могут хранить такие числа: 0.99; 3.0; 21.6; — 43.15; 345.342).
Любые переменные можно использовать только после объявления. Переменные можно также и инициализировать при объявлении, пример:
1 |
double sum = 10; |
Это значит, что мы объявили переменную с именем sum типа double и присвоили ей значение 10. Переменные можно инициализировать и объявлять как через запятую так и по отдельности каждую (строки 10 и 11).
1 |
cin >> a1; // прочитать первое число в переменную а1. |
1 |
cin >> a2; // прочитать второе число в переменную а2. |
Символы >> называются операцией извлечения из потока. Данные символы используются вместе с оператором ввода cin.
1 2 3 4 |
sum = a1 + a2; // сложить два числа и записать их сумму в переменную sum razn = a1 - a2; // вычесть из первого числа второе и записать их разность в переменную razn pow = a1 * a2; // умножить два числа и записать их произведение в переменную pow div = a1 / a2; // разделить первое число на второе и записать их частное в переменную div |
C 20-й по 23-ю строки мы выводим результаты наших арифметических операций. Также как и в математике в языке программирования С++ с помощью скобочек формируется порядок вычислений в сложных выражениях, например: ((a+b)*c)-d Первое действие: a+b; Второе действие: умножение на с; Третье действие: вычитание d;
Результат работы программы, выполняющей четыре арифметические операции +, -, *, /, над двумя введенными числами, показан ниже (см.Рисунок 1).
CppStudio.com
Vvedite pervoe chislo: 10
Vvedite vtoroe chislo: 5
10+5=15
10-5=5
10*5=50
10/5=2
Для продолжения нажмите любую клавишу . . .
Рисунок 1 — Арифметические операции C++
Рассмотрим еще одну арифметическую операцию % - остаток от деления, для этого изучим подробно следующий код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// ost_division.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h" #include <iostream> using namespace std;
int _tmain(int argc, char* argv[]) { cout << "8 % 4 = " << 8 % 4 << endl; // выполнение операции "остаток от деления" cout << "7 % 4 = " << 7 % 4 << endl; cout << "2 % 4 = " << 2 % 4 << endl; cout << "43 % 10 = " << 43 % 10 << endl; system("pause"); return 0; } |
2.
№11. Билет
1) Линейные программы.
2) Задача. Написать и отладить программы.
Дана программа: Var st: string; Begin St:='abcdef; St:=copy(st, 3,2); Writeln(st); End.
После выполнения программы на экран будет выведено:
Ответ:
1. Линейный алгоритм – описание действий, которые выполняются однократно в заданном порядке. Исполнитель выполняет действия последовательно, одно за другим в том порядке в котором они следуют.
2.
№12. Билет
1) Работа со стандартными функциями
2) Задача.
Дана программа:
Var st: string; Begin St:='abcdef; delete(st, 3,2); Writeln(st); End.
На экран будет выведено:
Ответ:
1. Стандартные функции для работы со строками (Сoncat, Сopy, Length, Pos, UpCase)
Функция Length
Встроенная функция Length (длина) позволяет определить фактическую длину текстовой строки, хранящейся в указанной переменной (а не величину предельного размера строки, установленную при декларации):
Program DemoFunctionLength; Var Word : string; Begin write ('Введите слово :'); readln(Word); writeln('Это слово состоит из ',Length (Word),' букв'); End. |
Примечание. При подсчете фактической длины строки учитываются все входящие в нее символы, в том числе и пробелы.
Функция Upcase
Функция Upcase позволяет преобразовывать символ любой литеры из строчного в прописной. Эта функция рассчитана на обработку отдельного символа, поэтому для обработки строки символов с помощью этой функции приходится организовывать цикл.
Program DemoFunctionUpcase; Var Word : string; i : Byte; Begin Word := 'фирма Microsoft'; for i := 1 to Length (Word) do Word[i] := UpCase (Word[i]); writeln(Word); {выводится текст 'фирма MICROSOFT'} End. |
В результате работы программы на терминал выдается строка, содержащая большие английские буквы и маленькие русские.
Примечание. Русские литеры не могут обрабатываться этой функцией.
Для того, чтобы преобразовать в заглавные строчные буквы русского алфавита, применяют оператор выбора Case:
. . . case Word[i] of 'a' : Word[i] := 'A'; 'б' : Word[i] := 'Б'; 'в' : Word[i] := 'В'; . . . end; . . . |
Функция Copy
Функция Copy позволяет копировать фрагмент некоторой строки из одной переменной в другую. Вызывая эту функцию, нужно указать следующие параметры:
имя строки, из которой должен извлекаться копируемый фрагмент,
позицию в строке, начиная с которой будет копироваться фрагмент,
число копируемых символов.
Program DemoFunctionCopy; Var Word : string; Word1 : string[20]; Begin Word := 'фирма Microsoft'; writeln(Word); {выводится текст 'фирма Microsoft'} Word1 := Copy (Word,1,5); writeln(Word1); {выводится текст 'фирма'} End. |
Примечание. Если начальная или конечная позиции копируемого текста находятся вне пределов исходной строки символов, то сообщение об ошибке не выдается. Результатом выполнения операции в первом случае будет строка нулевой длины, во втором - фрагмент от начальной позиции копирования до конца исходной строки.
Функция Pos
C помощью функции Pos Вы можете осуществить поиск некоторого фрагмента в строке. Если заданный фрагмент в строке присутствует, то функция возвращает номер позиции, с которой он начинается. Если фрагмент не найден, то функция возвращает нуль.
Program DemoFunctionPos; Var Word : string; SearchWord : string[20]; Position : Byte; Begin Word := 'фирма Microsoft'; writeln(Word); {выводится текст 'фирма Microsoft'} writeln ('Введите искомый текст '); readln (SearchWord); Position := Pos(SearchWord, Word); if Position <> 0 then begin write ('Фрагмент <',SearchWord,'> содержится в строке <',Word); writeln ('>, начиная с позиции ',Position ); end else writeln('Фрагмент <',SearchWord,'> не содержится в строке <',Word, '>'); End. |
Примечание. Функция Pos требует полного совпадения искомого фрагмента и фрагмента строки, в которой производится поиск, причем большие и маленькие буквы считаются различными символами.
Функция Concat
Функция Concat (Str1, Str2, ..., StrN) выполняет конкатенацию (или сцепление) строк Str1, Str2, ..., StrN в том порядке, в каком они указаны в списке параметров. Общее количество символов всех сцепленных строк не должно превышать 255.
Program DemoFunctionConcat; Var Word : string; Word1, Word2 : string[20]; Begin Word1 := 'фирмы '; Word2 := 'Microsoft'; Word := Concat('Компьютеры ',Word1,Word2); writeln(Word); {выводится текст 'Компьютеры фирмы Microsoft'} End. |
2.
№13. Билет
