Лабораторная работа 7. подпрограммы

Цель работы:получение навыков работы с подпрограммами.

Задачи:построить алгоритм в виде блок-схемы, написать программу на алгоритмическом языке Си++ в режиме WindowsForms, проанализировать полученный результат, составить отчет.

Пример.Найти произведение положительных элементов каждого столбца матрицы.

На рис. 19показан алгоритм подпрограммы (вычисление произведения положительных элементов массива) в виде блок-схемы.

начало
n, b[n]
P=1

Р – произведение

i=0, n-1  

bi>0

+ -

лабораторная работа 7. подпрограммы - student2.ru
P
конец

Рис. 19. Алгоритм вычисления произведения положительных элементов массива в виде блок-схемы (подпрограмма)

На рис. 20показан алгоритм решения задачи в виде блок-схемы. Из каждого столбца матрицы формируется массив, который передается в подпрограмму, где и вычисляется произведение положительных элементов каждого столбца матрицы.

начало

n, m
n – количество строк

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 показана форма с входными и выходными данными.

лабораторная работа 7. подпрограммы - student2.ru

Рис. 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

Наши рекомендации