- •1 Введение в теорию алгоритмизации 6
- •Введение
- •1 Введение в теорию алгоритмизации
- •1.1 Понятие алгоритма
- •1.2 Свойства алгоритмов
- •1.3 Формы представления алгоритма
- •1.4 Основные алгоритмические структуры
- •1.5 Алгоритмический язык
- •2.3 Инструменты программирования Microsoft Visual Studio
- •2.5 Консольные и оконные приложения
- •2.6 Компилирование программы
- •3.2 Простые типы данных
- •3.3 Операции над числовыми данными
- •3.4 Объявление переменных
- •3.7 Директива #define
- •3.9 Библиотека математических функций
- •4 Условный оператор
- •4.1 Условный оператор if
- •4.2 Составной оператор
- •4.3 Вложенный оператор
- •4.4 Оператор выбора switch
- •5 Операторы циклов
- •5.1 Определение цикла
- •5.2 Оператор цикла for
- •5.3 Оператор цикла while
- •5.4 Оператор цикла do while
- •5.5 Табулирование функций
- •5.6 Вычисление конечных сумм и произведений
- •5.7 Управляющие конструкции break, continue, return, goto
- •6 Массивы
- •6.1 Понятие и описание массивов
- •6.2 Одномерные массивы
- •6.3 Двумерные массивы (матрицы)
- •7 Символьные массивы
- •7.1 Описание символьного массива
- •7.2 Стандартные библиотечные функции над строками
- •8 Указатели и операции над указателями
- •8.1 Описание указателей
- •8.2 Операции над указателями
- •8.3 Сравнение указателей
- •8.4 Связь между массивом и указателем
- •9 Функции
- •9.1 Модульное программирование
- •9.2 Объявление функции
- •9.3 Формальные и фактические параметры функции
- •9.4 Локальные и глобальные переменные
- •10 Элементы объектно-ориентированного программирования
- •10.1 Инструментальное программное обеспечение
- •10.2 Технологии программирования
- •10.3 Создание класса
- •11 Полиморфизм
- •12 Этапы разработки программного обеспечения
- •12.1 Идея и цель объектно-ориентированного программирования
- •12.2 Основные понятия объектно-ориентированного программирования
- •12.3 Методы тестирования программных продуктов
- •Список литературы
5.6 Вычисление конечных сумм и произведений
Другим наглядным примером цикла с известным числом повторений (циклом с параметром) о вычислении сумм и произведений.
Пример 5.4 Вычисление суммы
Напишем программу вычисления суммы
где х изменяется с шагом 1.
Реализация в С++:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
using namespace System;
int main(array<System::String ^> ^args)
{
float x,s;
int i;
printf("x="),scanf("%f",&x);
s=0;
for (i=1; i<=10; i++) s=s+(x+i);
printf("s=%f\n",s);
getch();
return 0;
}
Задание 5.4
Выполните программу примера 5.4 и на ее основе напишите программу вычисления суммы:
Пример 5.5 Вычисление произведения
Напишем программу вычисления произведения
#include "stdafx.h"
#include <stdio.h>
#include<conio.h>
using namespace System;
int main(array<System::String ^> ^args)
{
float x,p;
int i;
printf("x="),scanf("%f",&x);
p=1;
for (i=1; i<=10; i++) p=p*(x+i);
printf("p=%f\n",p);
getch();
return 0;
}
Задание 5.5
Выполните программу примера 5.4 и на ее основе напишите программы вычисления факториала числа (факториал числа n – это произведение n!=1*2*…*n)и произведения p=2*4*8*…*(2n).
5.7 Управляющие конструкции break, continue, return, goto
Для выхода из цикла можно использовать оператор break.
Если выполнение очередного шага цикла требуется завершить до того, как будет достигнут конец тела цикла, то можно использовать оператор continue. Оператор continue, как и оператор break, используется только внутри операторов цикла, но в отличие от него выполнение программы продолжается не с оператора, следующего за прерванным оператором, а с начала прерванного оператора.
Формат оператора:
continue;
Оператор return завершает выполнение функции, в которой он задан, и возвращает управление в вызывающую функцию, в точку, непосредственно следующую за вызовом.
Формат оператора:
return [(выражение)];
Использование оператора безусловного перехода goto в практике программирования на языке С/C++ настоятельно не рекомендуется, так как он затрудняет понимание программ и возможность их модификаций.
Формат оператора:
goto имя-метки;
Оператор goto передает управление на оператор, помеченный меткой имя-метки (имя-метки – это идентификатор).
Вопросы для самоконтроля:
В чем преимущества использования операторов цикла в программах?
Какие виды циклов существуют?
Какова общая структура цикла с параметром?
Каким образом оформить тело цикла с параметром для нескольких операторов?
Какие значения может принимать шаг изменения параметра цикла в операторе for?
В чем отличие алгоритма вычисления суммы от алгоритма вычисления произведения?
6 Массивы
Цель работы: изучить определение, назначение, виды и описание массивов и указателей, приобрести навыки в решении задач с помощью массивов и указателей.
6.1 Понятие и описание массивов
Массивы являются важнейшим средством языка, применяемым во многих программах. Их использование позволяет удобным образом разместить в памяти большое количество необходимой информации.
Массив — именованный набор с фиксированным количеством однотипных данных (double, float, int и т.п.).
Из объявления массива компилятор должен получить информацию о типе элементов массива и их количестве. Порядковый номер элемента в массиве называется индексом.
В массивы объединены результаты экспериментов, списки фамилий и т.п.
Объявление массива имеет формат:
Тип имя_массива [количество_элементов];
Тип задает тип элементов объявляемого массива.
Каждые квадратные скобки определяют число элементов по данному измерению массива (одномерный, двумерный, …).
Количество_элементов определяет число элементов в массиве и может быть опущено если при объявлении массив инициализируется:
int a[]={0,1,2,3,4,5};
Индекс (номер) – числа, определяющие место элемента в массива.
Пример 6.1 Объявление одномерного массива
Объявление одномерного целочисленного массива может иметь вид:
int a[20];
Объявляется, что a – массив, состоящий из двадцати членов, или элементов.
Первый элемент массива a с индексом 0 называется a[0];
второй с индексом 1– a[1] и т.д. до a[19].
Задание 6.1
Объявите вещественный одномерный массив b, состоящий из 10 элементов.
Примечание: В современных языках программирования (PHP, C++, C#) нумерацию элементов массива принято начинать с нуля. Однако, программы с нумерацией элементов массива с единицы, также работоспособны. По этому поводу автор многочисленных книг по Unix Стен Келли-Бутл шутил: «Элементы массива должны нумероваться с 0 или с 1? Моё компромиссное предложение начинать нумерацию с 0.5 было отвергнуто без, как мне кажется, должного внимания».
Пример 6.2. Объявление двумерного массива
Объявление двумерного целочисленного массива, содержащего 2 строки и 3 столбца имеет вид:
int a[2][3];
a[0][0] |
a[0][1] |
a[0][2] |
a[1][0] |
a[1][1] |
a[1][2] |
Задание 6.2
Объявите квадратную матрицу b, состоящую из 25 вещественных элементов.
