Лабораторная работа 7. подпрограммы
Цель работы:получение навыков работы с подпрограммами.
Задачи:построить алгоритм в виде блок-схемы, написать программу на алгоритмическом языке Си++ в режиме WindowsForms, проанализировать полученный результат, составить отчет.
Пример.Найти произведение положительных элементов каждого столбца матрицы.
На рис. 19показан алгоритм подпрограммы (вычисление произведения положительных элементов массива) в виде блок-схемы.
начало |
n, b[n] |
P=1 |
Р – произведение
i=0, n-1 |
bi>0 |
+ -
P |
конец |
Рис. 19. Алгоритм вычисления произведения положительных элементов массива в виде блок-схемы (подпрограмма)
На рис. 20показан алгоритм решения задачи в виде блок-схемы. Из каждого столбца матрицы формируется массив, который передается в подпрограмму, где и вычисляется произведение положительных элементов каждого столбца матрицы.
начало |
n, m |
m – количество столбцов
a[n][m] |
ввод матрицы
j=0, m-1 |
i=0, n-1 |
bi=aij |
pp(n, b) |
конец |
Рис. 20. Алгоритм основной программы
Программа:
#pragmaendregion
voidpp(constintn, intb[4])
{ intp=1;
for (inti=0;i<n;i++)
if(b[i]>0) p*=b[i];
textBox1->Text+=Convert::ToString(p)+" ";}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
constint n=4,m=3;
int a[n][m], c[n];
Random^ rrrr =gcnew Random;
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
a[i][j]=rrrr->Next(-50,50);
for (int i=0;i<n;i++)
{ for (int j=0;j<m;j++)
richTextBox1->Text+=Convert::ToString(a[i][j])+" ";
richTextBox1->Text+=Environment::NewLine;}
for (int j=0;j<m;j++)
{ for (int i=0;i<n;i++)
c[i]=a[i][j];
pp(n,c);}
}}}
На рис. 21 показана форма с входными и выходными данными.
Рис. 21. Форма с входными и выходными данными
ЗАКЛЮЧЕНИЕ
Алгоритмический язык Си++ является преемником языка Си. Эти считаются языками системного программирования, хотя они удобны и для написания прикладных программ. Поскольку системное программное обеспечение часто бывает написано на языке Си или Си++, то и программные интерфейсы к подсистемам ОС тоже часто пишут на Си++. Соответственно, те программы, даже и прикладные, которые взаимодействуют с операционными системами, написаны на языке Си++.
Язык Си++ становится все более популярным. Си++ поддерживает объектно-ориентированное программирование. Объектно-ориентированное программирование научит организовывать код таким образом, чтобы можно было создавать и поддерживать крупные проекты.
Знания языков Си и Си++ помогут быстро изучить языки JAVA, PYTHONи др.
Методические указания содержат основные теоретические сведения по алгоритмическим языкам Си и Си++, среде программирования VisualStudioC++ 2008Express, а также варианты заданий к 7 лабораторным работам с указаниями по их выполнению.
Предлагаемое издание предназначено для студентов направления подготовки бакалавров 09.03.03 «Прикладная информатика» очной формы обучения, оно может быть полезно для всех, кто занимается самообразованием в области программирования на языках Си и Си++.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Павловская, Т.А. C/C++, Программирование на языке высокого уровня/ Т.А. Павловская. – СПб.: Питер, 2005. – 253 с.
2. Пахомов, Б.И. С/С++ и MsVisualC++ 2008 для начинающих / Б.И. Пахомов. – СПб.: БХВ-Петербург, 2008. – 784 с.
3. Подбельский, В.В., Фомин, С.С. Программирование на языке Си : Учеб.пособие / В.В. Подбельский, С.С. Фомин. – М.: Финансы и статистика, 2004. – 600 с.
Учебное издание
Валентина Иосифовна Кокова
Алгоритмический язык Си++
Методические указания
Подп. в печать . Формат 60х84/16. Бумага тип № 1
Усл. печ. л. . Уч.-изд. л. Тираж экз. Заказ С
Редакционно-издательский сектор Хакасского технического института – филиала ФГАОУ ВПО «Сибирский федеральный университет»
Отпечатано в полиграфической лаборатории ХТИ – филиала СФУ
655017, Абакан, ул. Щетинкина, 27