- •Ф.Ф. Павлов языки программирования
- •Санкт-Петербург
- •230201 - Информационные системы и технологии
- •Тема 2 посвящена изучению жизненного цикла программы и основным этапам решения задач на эвм.
- •Тема 4 изучает типы пользовательских интерфейсов, классификацию диалогов и основные компоненты графических пользовательских интерфейсов.
- •Тема 8 посвящена структурам данных фиксированного размера (массивы), а также типам данных, определяемых пользователем (структуры, объединения, перечисления).
- •Тема 10 изучает динамические структуры данных: виды и способы реализации списков, динамическое выделение памяти.
- •Тема 12 затрагивает вопросы обработки файлов данных: понятия записи, файла данных и способы доступа, операции и средства обработки файлов, контроль операций обработки файлов.
- •Тема 14 вводит в технологию объектно-ориентированного программирования.
- •Раздел I Принципы программирования на языках высокого уровня
- •Тема 1. Эволюция языков программирования
- •1.1. Неструктурированное, «стихийное» программирование
- •1.2. Процедурное (модульное) программирование
- •1.3. Объектно-ориентированное программирование
- •1.4. Компонентные технологии программирования
- •Тема 2. Жизненный цикл программы и основные
- •2.1. Дружественность, жизненный цикл программы
- •2.2. Постановка задачи и спецификация программы
- •2.3. Проектирование и реализация программы
- •2.4. Способы записи алгоритма
- •2.5. Критерии качества программы
- •3.1. Классификация программных продуктов
- •3.3. Модели программирования в ms-dos и Windows
- •Тема 4. Диалоговые программы
- •4.1. Типы пользовательских интерфейсов
- •4.2. Классификация диалогов и их реализация
- •4.3. Основные компоненты графических
- •Тема 5. Программа на языке высокого уровня
- •5.1. Структура программы и функции
- •5.2. Стандартные типы данных и операции над ними
- •5.3. Адресные типы данных: указатели и ссылки
- •5.4. Стандартные библиотеки языка
- •5.5. Классы памяти
- •Раздел 2 Управляющие структуры и структуры данных
- •Тема 6. Представление управляющих структур
- •6.1. Структура следования
- •6.2. Структуры ветвления
- •6.3. Структуры повторения
- •Int kol, //счетчик введенных оценок
- •Int god; //число лет
- •Тема 7. Адресные типы данных
- •7.1. Указатели
- •7.2. Ссылки
- •Тема 8. Структуры данных фиксированного размера
- •8.1. Массивы
- •8.2. Типы данных, определяемые пользователем
- •Тема 9. Функции (процедуры)
- •9.1. Определение, прототип и вызов функции
- •9.2. Передача параметров
- •9.3. Программирование рекурсивных алгоритмов
- •Тема 10. Динамические структуры данных
- •10.1. Списки: основные виды и способы реализации
- •10.2. Динамическое выделение памяти
- •Раздел 3 Процедурное программирование
- •Тема 11. Ввод/вывод данных
- •11.1. Видеофункции библиотеки conio.H
- •11.2. Функции библиотеки потокового ввода/вывода
- •Тема 12. Обработка файлов данных
- •12.1. Записи и файлы данных
- •12.2. Операции и средства обработки файлов
- •12.3. Контроль операций обработки файлов
- •Тема 13 Технология процедурного программирования
- •13.1. Способы конструирования программ
- •13.2. Проектирование программы: методы декомпозиции и и модульного программирования
- •13.3. Реализация программы: методы структурного
- •Тема 14. Введение в технологию объектно-
- •14.1. Основные понятия объектно-ориентированного
- •14.2. Проектирование программы
- •14.3. Реализация программы
- •Утверждаю
- •Рабочая программа
- •Технология программирования
- •Санкт-Петербург
- •Тема 1. Технология программирования и этапы ее
- •Тема 2. Жизненный цикл программы и основные этапы
6.3. Структуры повторения
Структура повторения служит для программирования циклических вычислительных процессов и реализована в языке C++ в виде трех типов структур:
структура повторения for (цикл) реализует цикл с заранее известным числом повторений, задается переменная цикла с ее начальным значением, условие повторения действий с конечным значением и приращение переменной цикла; действия повторяются пока условие повторения цикла истинно;
Синтаксис for (цикл):
for (op_init; expr1; expr2)//op_init–инициализ цикла,нач.знач.перем
{op1;...}//цикла; expr1-условие повторения цикла, конеч. значение;
//expr2- приращение переменной цикла
структура повторения while (пока) реализует цикл с предусловием и повторяет действие, пока условие остается истинным, причем с первой итерации;
Синтаксис с предусловием while:
while (expr) //если expr истинно, то выполняется
{op1;…} //тело цикла {op1;...}
//если expr ложно, то выход из цикла
структура повторения do/while (цикл - пока) реализует цикл с постусловием и повторяет действие, пока условие остается истинным, причем при первой итерации условие не проверяется;
Синтаксис с постусловием do/while:
do //если expr истинно, то выполняется тело цикла {op1;…}
{op1;...} //если – ложно, то выход из цикла
while(expr); //при первой итерации условие не проверяется
Оператор break осуществляет выход из структуры switch и структур for, while, do/while.
Оператор continue передает управление на конец цикла структур for, while, do-while, пропуская нижележащий фрагмент тела цикла.
Итак, в C++ имеется только семь управляющих структур: следования, три структуры выбора и три структуры повторения. с помощью которых можно описать алгоритм любой программы.
while структура do/while структура for структура
Рис. 6.3. Структуры повторения
Пример 3. «Структура повторения с предусловием
while, управляемая меткой»
Условие задачи: подсчитать среднюю оценку для произвольного количества оценок.
Создать проект консольного приложения и вести имя проекта TPlab1_4. Создается исходный файл TPlab1_4.cpp, который будет содержать одну пустую функцию main():
int t_main(int args, _TCHAR* argv[])
{return 0;}.
Проект должен содержать файл заголовков TPlab1_4.h и файл кодов TPlab1_4.cpp.
Создать файл TPlab1_4.h, ввести текст файла и сохранить его:
//файл заголовков TPlab1_4.h
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <iomanip>
using std::setprecision;;
Добавить в файл кодов TPlab1_4.cpp подключение файла заголовков и текст функции main:
//файл кодов TPlab1_4.cpp
#include "stdafx.h"
#include "TPlab1_4.h"
int _tmain(int argc, _TCHAR* argv[])
{
//блок объявлений и инициализации переменных
Int kol, //счетчик введенных оценок
oc; //оценка
float sum, //сумма оценок
sr; //средняя оценка
sum=0; //установка суммы в исходное положение
kol=0; //инициализация переменной цикла
//блок обработки
cout<<"Vvedite <ocenky> ili <-1> end: ";
cin>>oc;
while (oc!=-1)
{
sum+=oc;
kol++;
cout<<"Vvedite <ocenky> ili <-1> end: ";
cin>>oc;
}
sr=sum/kol;
//блок выода результатов
if (kol!=0)
cout<<"Srednjaja ocenka: "<<setprecision(4)<<sr<<endl;
else cout<<"Net ocenok"<<endl;
return 0; //признак успешнего завершения
}
Пример 4. «Структура повторения for»
Условие задачи: некто внес заданный вклад под заданный процент годовых; рассчитать сумму на счете в конце каждого года на протяжении заданного количества лет.
Создать проект консольного приложения и ввести имя проекта TPlab1_5. Создается исходный файл TPlab1_5.cpp, который будет содержать одну пустую функцию main():
int t_main(int args, _TCHAR* argv[])
{return 0;}.
Проект должен содержать файл заголовков TPlab1_5.h и файл кодов TPlab1_5.cpp.
Создать файл TPlab1_5.h, ввести текст файла и сохранить его:
//файл заголовков TPlab1_5
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
using std::ios;
#include <iomanip>
using std::setw;
using std::setiosflags;
using std::setprecision;
#include <cmath>
Добавить в файл кодов TPlab1_5.cpp подключение файла заголовков и текст функции main():
//файл кодов TPlab1_5.cpp
#include "stdafx.h"
#include "TPlab1_5.h"
int _tmain(int argc, _TCHAR* argv[])
{
//блок объяления переменных и ввода данных
double vclad, //первоначальный вклад
stavka, //ставка годового дохода (дробь)
depozit; //сумма на депозите в конце i-го года