
- •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 Методы тестирования программных продуктов
- •Список литературы
6.2 Одномерные массивы
Пример 6.3. Ввод элементов одномерного массива
Напишем фрагмент программы, предусматривающей ввод числа посетителей Интернет-кафе в течение недели в соответствии с таблицей 19.
Таблица 19 – Фрагменты программ
Линейная программа |
Использование цикла |
Использование массива |
int n1,n2,n3,n4,n5, n6, n7; printf("введите число посетителей за семь дней "); scanf("%d %d %d %d %d %d %d",&n1, &n2, &n3, &n4, &n5, &n6, &n7, );
|
int i,n; for (i=1;i<=7;i++) { printf("введите число посетителей, %d день ", i); scanf("%d\n",&n); }
|
int n[7],i; for (i=1;i<=7;i++) { printf("введите число посетителей, %d день ", i); scanf("%d",&n[i]); } |
Задание 6.3.
Определите достоинства и недостатки каждого способа ввода информации.
Пример 6.4. Нахождение суммы и среднего значения элементов массива.
Напишем программу, определяющую общую и среднюю посещаемость Интернет-кафе за неделю:
#include "stdafx.h"
#include<stdio.h>
#include<conio.h>
using namespace System;
int main(array<System::String ^> ^args)
{
int n[7],i,S;
float Sr;
for (i=1;i<=7;i++)
{
printf("Введите число посетителей за %d день ", i);
scanf("%d",&n[i]);
}
S=0;
for (i=1;i<=7;i++) S=S+n[i];
Sr=S/7;
printf("Общая посещаемость = %d\nСреднее значение посещаемости = %f\n ",S, Sr);
getch();
return 0;
}
Вычисление суммы элементов массива представлено в таблице 20.
Таблица 20 – Вычисление суммы элементов массива
Исходные данные: 13, 12, 9, 7, 10, 6, 10 |
||||||||
i |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
n[i] |
|
36 |
31 |
45 |
48 |
57 |
71 |
70 |
S |
0 |
36 |
67 |
112 |
160 |
217 |
288 |
358 |
Задание 6.4.
Выполните программу примера 6.4.
Пример 6.5. Нахождение наибольшего элемента массива и его номера.
Напишем программу, определяющую наибольшее число посетителей Интернет-кафе за неделю.
Чтобы лучше представить себе, как последовательно просматривать и сравнивать между собой числа, записанные в памяти, вообразим, что каждое число написано на отдельной карточке и карточки сложены стопкой. В таком случае мы первое число запомним сразу как наибольшее и перевернем карточку. Теперь в нашем распоряжении два числа: одно видим, другое — помним. Сравнивая их между собой, запомним большее, т. е. если первое было больше, то запоминать новое не придется и надо смотреть следующую карточку. Если второе больше первого, то первое в дальнейшем помнить нет смысла и мы запомним второе. Таким образом, на каждом этапе сравнения мы будем помнить большее из просмотренных чисел и в конце решим поставленную задачу. Записав приведенные рассуждения в виде операторов, получим программу нахождения наибольшего значения. Промежуточные значения и ответ содержит переменная max. Переменная k содержит номер (индекс) максимального элемента.
Код поиска максимального элемента массива и его номера (максимального числа посетителей):
k=1;
max=n[1];
for (i=2;i<=7;i++)
if (max<n[i])
{
k=i;
max=n[i];
}
printf("Максимальное число посетителей %d на %d день",max,k);
Задание 6.5
Дополните программу примера 6.4 кодом поиска максимального элемента массива и его номера. Определите количество дней, когда число посетителей было больше 50.