- •Т.Э. Шульга программирование.
- •Глава 1. Основы программирования на языке высокого уровня 6
- •Глава 2. Динамические структуры данных 40
- •Глава 3. Основы объектно-ориентированного программирования 53
- •Введение
- •Глава 1. Основы программирования на языке высокого уровня
- •Void main()
- •Задания
- •1.2. Переменные. Основные типы данных
- •Ввод – вывод значений переменных
- •Форматирование данных при обменах с потоками ввода-вывода
- •Void main()
- •Void main()
- •Преобразование типов
- •Задание 1. Описание переменных и преобразование типов
- •Задание 2. Форматирование вывода
- •1.3. Основные операции
- •Void main ()
- •Задания
- •1.4. Конструкции выбора
- •Void main()
- •Void main()
- •Void main()
- •Задание 1. Обработка введенного символа
- •Задание 2. Вычисление значения функции
- •Задание 3. Применение разветвляющихся алгоритмов при решении простейших задач
- •Задание 4. Mультиветвление
- •1.5. Конструкции цикла и передачи управления
- •Void main()
- •Задание 1. Детерминированные циклы. Простейшие задачи
- •Void main()
- •Задание 2. Итерационные циклы. Простейшие задачи
- •Void main()
- •Int last;
- •Задание 3. Одномерные массивы
- •Void main ()
- •Int a[100],n,max,imax;
- •Задание 4. Вложенные циклы
- •Void main ()
- •Задание 5. Двумерные массивы
- •Void main ()
- •Задание 6. Посимвольная обработка строк
- •Void main()
- •Задание 7. Сортировка массива
- •Void main ()
- •1.6.Функции
- •Int oct (int a)// определение функции
- •Void main()
- •Void main()
- •Int strcmp(const char *str1, const char* str2);
- •Int fclose (file * stream);
- •Int feof(file *stream);
- •Int fseek ( file* stream, long offset, int origin);
- •Задание 1. Определение и вызов функций
- •Задание 2. Рекурсивные функции
- •Задание 3. Использование библиотечных функций string.H
- •Void main()
- •Задание 4. Использование библиотечных функций stdio.H
- •Void main ()
- •Глава 2. Динамические структуры данных
- •Int year;
- •Int children;
- •Задание 1. Структуры
- •Int year;
- •Int month;
- •Int visokos(int year)
- •Vivod (date d)
- •Int day_number(date d)
- •Vivod(mas[I]);
- •Vivod (min(mas,n));
- •Задание 2. Динамический список
- •Int mark;
- •Void vvod ()
- •Void vivod()
- •If (begin)
- •Void vivod_f()
- •If (begin)
- •Void add()
- •Void udol () //
- •If (begin)
- •Void del()
- •Void main ()
- •Задание 3. Использование стеков и очередей
- •Глава 3. Основы объектно-ориентированного программирования
- •Void empty();
- •If (len) delete []s;
- •Void cStr::empty()
- •Задание 1 . Описание простейшего класса
- •Задание 2 . Класс string
- •Void main()
- •Void main ()
- •Задание 3. Класс fstream
- •Задание 4. Наследование
- •Список литературы
Void main()
{
int x,y,z, max;
cout << "Enter x,y,z: ";
cin >>x>>y>>z;
if (x<y)
if (y<z) max=z;
else max=y;
else
if (x<z) max=z;
else max=x;
cout <<"Max= "<< max;
}
В тексте соответствие if и else показано с помощью отступов.
Переключатель является наиболее удобным средством для организации мультиветвления. Синтаксис переключателя:
switch (перключающее_выражение)
{case константное_выражение1: оператор1;
case константное_выражение2: оператор2;
. . .
case константное_выражениеn: операторn;
default:оператор;
}
Управляющая конструкция switch передает управление к тому из помеченных с помощью case операторов, для которого значение константного выражения совпадает со значением переключающего выражения. Переключающее_выражение должно быть целочисленным или его значение должно приводится к целочисленному. В одном переключателе все константные_выражения должны иметь различные значения, но быть одного типа. Любой из операторов может быть помечен одной или несколькими метками вида case константное_выражение: , например, может использовать конструкция вида
case константное_выражение1: case константное_выражение2: оператор;
Если значение переключающего_выражения не совпадает ни с одним из константных_выражений, то выполняется переход к оператору, отмеченному меткой default, которая может и отсутствовать (при этом не выполняются никакие действия). Если не предусмотрены переходы и выходы из переключателя, то в нем последовательно выполняются все операторы, начиная с той метки, на которую передано управление. Для выхода из переключателя обычно используют оператор break.
Пример 3. Напишите программу, запрашивающую ввод с клавиатуры любой десятичной цифры и выводящую на экран названия нечетных десятичных цифр, не меньше заданной. Если была введена не цифра, то выдается сообщение об ошибке.
#include <iostream.h>
Void main()
{
char i;
cout<< "Enter number: ";
cin>>i;
cout<<'\n';
switch (i)
{
case '0': case '1': cout<<"one, ";
case '2': case '3': cout <<"three, ";
case '4': case '5': cout <<"five, ";
case '6': case '7': cout <<"seven, ";
case '8': case '9': cout <<"nine, "; break;//производим выход
// из переключателя
default: cout <<"It's not number";
}
}
Если, например, на клавиатуре будет введена цифра 4, то в результате выполнения программы на экран выведется: five, seven, nine.
Каждому студенту рекомендуется выполнить хотя бы одно из упражнений 1–12 заданий 1,2,3,4.
Задание 1. Обработка введенного символа
-
Считать символ и определить, является ли он цифрой.
-
Считать символ и определить, является ли он латинской буквой.
-
Считать символ и определить, является ли он русской буквой.
-
Считать символ и определить, является ли он прописной буквой русского или латинского алфавита.
-
Считать символ и определить, является ли он строчной буквой русского или латинского алфавита.
-
Считать символ и определить, является ли он гласной буквой русского алфавита.
-
Считать символ и определить, является ли он гласной буквой латинского алфавита.
-
Считать символ и определить, является его ASCII-код четным.
-
Считать два символа и выдавать на экран сообщение, код какого из них больше.
-
Считать два символа строчных латинских букв и определить, расположены ли они по алфавиту.
-
Считать два символа цифр и определить какая из них больше.
-
Считать скобку и определить, открывающая она или закрывающая. Возможны скобки (), {}, [], <>.