Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
StartModul_CPP_Charp_VB_New.docx
Скачиваний:
19
Добавлен:
27.05.2015
Размер:
942.2 Кб
Скачать

Заголовок

Блок

Рис. 3.2.4. Структура подпрограммы

Заголовок подпрограммы – обязательная структурная составляющая, которая определяет имя подпрограммы, её тип (процедура или функция), тип возвращаемого результата (только для функции), класс памяти и список параметров. Каждый язык программирования может иметь собственные правила оформления заголовка подпрограммы.

Например, для VB в определении

Module thisModule

Sub Main()

Dim userName As String = InputBox("Введите имя пользователя")

MsgBox("Пользователь имеет имя " & userName)

End Sub

End Module

строка Sub Main() является заголовком подпрограммы, которая не возвращает итог в точку вызова, а End Sub является признаком конца данной подпрограммы. Если перед именем подпрограммы записать слово Sub, то это будет означать отсутствие возвращаемого в точку вызова результата. В таком случае подпрограмма называется процедурой. Если же подпрограмму описать по схеме

Function <имя функции> (<Список определений параметров>) As <Тип итога>

<Операторы кодирования алгоритма функции>

Return <Значение, возвращаемое в точку вызова>

End Function

то будем иметь подпрограмму-функцию.

В приложении среды C++ ISO/ANSI

// Вывод текста в консольное окно в режиме отладки

// Программист Автор А. Ф.

#include "stdafx.h"

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[]) {

setlocale(LC_CTYPE, "Russian");

cout<<"Иллюстрация вывода текста в режиме отладки\n";

cin.get( ); // Пауза для просмотра итога.

return 0;

}

строка int _tmain(int argc, _TCHAR* argv[]) является заголовком главной функции, а для приложения C#

// Простейшеё консольное приложение C#

// Программист Автор А.Ф.

using System;

namespace ConsoleApp_1_6_3 {

class MyString {

static int Main(string[ ] args) {

Console.Title = "Вывод простейшего текста";

Console.WriteLine("C# - это очень просто!");

Console.ReadKey();

return 0;

}

}

}

строка static int Main(string[ ] args) является заголовком главного метода класса приложения class MyString.

Блок – это последовательность комментариев, объявлений и определений объектов, принадлежащих только данной функции, а также операторов, кодирующих требуемый алгоритм.

Для VB пространство блока начинается сразу же после заголовка подпрограммы и завершается конструкцией End Sub (для процедуры) или End Function (для функции).

Для C++ и C# блок начинается сразу же после заголовка функции (или метода) открывающей фигурной скобкой и завершается закрывающей фигурной скобкой, после которой точка с запятой не указывается.

3.3. Главная подпрограмма и правила кодирования

Язык VB. Каждое приложение Visual Basic должно содержать подпрограмму с именем Main. Эта подпрограмма служит начальной точкой программы и осуществляет общее управление работой приложения. Платформа .NET Framework вызывает подпрограмму Main при загрузке приложения и готовности передачи управления.

При создании приложения Windows Forms для приложений, которые выполняются самостоятельно, необходимо явно создавать подпрограмму Main.

Подпрограмма Main содержит код, который будет выполняться в первую очередь. В ней пользователь может определить, какая форма загружается первой при активизации программы, установить, работают ли в системе копии данного приложения, определить набор переменных для приложения или открыть необходимую для приложения базу данных.

Подобно другим подпрограммам, эта функция может иметь список параметров или указываться с пустым списком параметров. Если в заголовке подпрограммы имеется список параметров, то вы можете через них передавать в активизируемую программу нужную вам информацию.

Существуют четыре способа объявления подпрограммы Main. Её заголовок может содержать список параметров или не иметь его. Подпрограмма Main может также возвращать значение в точку вызова или не возвращать значение. Таким образом, заголовок подпрограммы Main может иметь один из следующих видов:

  • Sub Main()

  • Sub Main(ByVal cmdArgs() As String)

  • Function Main() As Integer

  • Function Main(ByVal cmdArgs() As String) As Integer

Наиболее распространённый вид данной подпрограммы — Sub Main().

Рассмотрим варианты определения подпрограммы Main более подробно.

  1. Подпрограмма не имеет параметров и не возвращает итог в точку вызова, т.е. подпрограмма трактуется как процедура без параметров. Вид такого описания подпрограммы представлен в листинге 3.3.1.

Листинг 3.3.1.

Module myModule

Sub Main()

MsgBox("Часто используемый вид процедуры Main.")

' В этой процедуре могут указываться любые операторы,

' кодирующие заданный алгоритм.

End Sub

End Module

В данном случае главная процедура Main( ) не имеет списка параметров и содержит оператор вывода сообщения и комментарии.

  1. Подпрограмма возвращает значение типа Integer и не имеет списка параметров. Возвращаемое значение операционная система использует в качестве кода выхода для данной программы. Другие программы могут сверять этот код путём проверки значения Windows ERRORLEVEL. Чтобы подпрограмма возвращала код завершения, необходимо описать Main() как функцию. Для этого вместо слова Sub записывают Function. Пример такого варианта показан в листинге 3.3.2.

Листинг 3.3.2.

Module myModule

Function Main() As Integer

MsgBox("Подпрограмма Main, трактуемая как функция.")

' Определяется переменная со значением кода возврата.

Dim returnValue As Integer = 0

MsgBox("Приложение завершается возвратом кода " &

CStr(returnValue) & ".")

' Оператор Return возвращает значение переменной returnvalue.

Return returnValue

End Function

End Module

  1. Подпрограмма возвращает значение типа Integer и имеет параметр типа. массив с элементами типа String для приёма аргументов командной строки. В этом массиве каждая строка содержит один из аргументов командной строки, указанных при активизации данной программы. В зависимости от задаваемых ими значений могут быть предприняты различные действия.

Module myModule

Function Main(ByVal cmdArgs() As String) As Integer

MsgBox("Приложение завершается возвратом кода.")

Dim returnValue As Integer = 0

' Просмотр, имеются ли какие-либо параметры командной строки.

If cmdArgs.Length > 0 Then

For argNum As Integer = 0 To UBound(cmdArgs, 1)

' Теперь должна выполняться проверка cmdArgs(argNum)

' и соответствующая обработка аргументов командной строки.

Next argNum

End If

' При выполнении оператора return возвращается returnValue.

' 0 обычно сигнализирует о нормальном завершении программы.

MsgBox("Приложение завершается с уровнем ошибок " &

CStr(returnValue) & ".")

Return returnValue

End Function

End Module

  1. Подпрограмма не возвращает значение типа Integer и имеет параметр типа. массив с элементами типа String для приёма аргументов командной строки:

Module myModule

Sub Main(ByVal cmdArgs() As String)

MsgBox("Приложение завершается без возврата кода.")

Dim returnValue As Integer = 0

' Просмотр, имеются ли какие-либо параметры командной строки.

If cmdArgs.Length > 0 Then

For argNum As Integer = 0 To UBound(cmdArgs, 1)

' Теперь должна выполняться проверка cmdArgs(argNum)

' и соответствующая обработка аргументов командной строки.

Next argNum

End If

MsgBox("Выполнен выход из приложения.")

End Sub

End Module

На заметку! При рассмотрении этих примеров обратите внимание лишь на вид параметра подпрограммы Main() и то, что блок этой подпрограммы может содержать комментарии и последовательность любых операторов. Правила объявления параметра и работа с аргументами командной строки будут рассмотрены в отдельном модуле.

Языки C++ и C#. Каждое приложение С++/CLI должно содержать функцию с именем main(), приложение C++ ISO/ANSI – функцию _tmain(), а приложение C# - статический метод Main(). Подобно VB, эти функции (или метод) служат начальной точкой программы и осуществляют общее управление работой приложения.

Правила кодирования исходного файла

  1. Программа может содержать несколько файлов исходного текста.

  2. Если в среде C++ имеются несколько функций, которые не вызывают друг друга, то их тексты располагаются в желаемом для вас порядке.

  3. Если в среде C++ какая-то функция вызывается другой функцией, и вы не желаете записывать никаких дополнительных объявлений, то текст вызываемой подпрограммы должен располагаться в любой позиции до начала текста вызывающей подпрограммы.

  4. Подпрограмма, исключая Main( ), могут иметь любые угодные для вас имена.

  5. В среде C# кодируемые вами методы класса приложения могут располагаться в любом порядке. Для VB подпрограммы в рамках одного модуля могут располагаться в любом порядке.

  6. Если исходных файлов несколько, то распределять тексты функций по таким файлам вы можете по своему усмотрению. В дальнейшем текст функции будет называться её определением.

  7. Объекты для среды C++ могут определяться в области заголовка функции, как параметры функции или внутри её блока. В среде C# объекты могут определяться как поля класса, как параметры метода или внутри блока метода. Для VB объекты определяются на уровне модуля, как параметры полпрограммы или внутри блока подпрограммы.

  8. Помните, что определение объекта или функции будет значимым только от точки его указания до конца блока (если оно внутри блока) или файла (если определение указано в области заголовка).

  9. Определение, указанное внутри блока или как параметр, называется локальным и принадлежит только этому блоку (т.е. блоку функции или локальному блоку внутри блока функции); в противном случае для C++ и VB определение называется глобальным, а для C# - определением поля класса.

Некоторые сведения о числах, арифметических операциях, символах и строках символов

Правила записи чисел, символов, строк символов и выражений будут подробно рассмотрены позже.

На данном этапе знакомства с языками программирования вы должны запомнить лишь следующее:

  • целые числа указываются последовательностью десятичных цифр, которой может предшествовать символ минуса или плюса. Например, 345 и 61 – это целые числа;

  • вещественные числа можно указывать как обычные десятичные дроби, в которой разделителем целой и дробной части является точка. Например, 0.349, -12.925, 871.0056 – это вещественные числа в форме, которая допустима для использования в программе;

  • сложение и вычитание указывается символами плюса и минуса (+,-). Например, 56 + 67 + 34 и 78 – 35 – 6 - 21 являются выражениями, в которых использованы символы операций сложения и вычитания, соответственно;

  • умножение обозначается звёздочкой (*). Например, -8*32*9, 45*12 и 13.78*34*5.0123 – это допустимые выражения с целыми и ве5щественными числами, соответственно;

  • деление для всех языков обозначается символом наклонной черты (/) ( а для VB – ещё и символом обратной наклонной черты (\)).

Для VB операция (/) называется вещественным делением, т.е. итог всегда вещественный, а в случае (\) – целочисленным делением, т.е. итог всегда целое число. Например, 456.81/28.3 и 67\5 – это допустимые формы записи операций деления вещественных и целых чисел соответственно. Необходимо иметь ввиду, что операция вещественного деления допускается как для вещественных, так и для целочисленных объектов, а символ обратной наклонной черты можно указывать для деления только целых чисел.

Для языков C++ и C# операция (/) для двух целочисленных операндов трактуется как целочисленное деление. Например, 45/10 равно 4. Если хотя бы один операнд вещественные – вещественным делением. Например, выражения 45.0/10, 45/10.0, 45.0/10.0 дают итог 4.5;

  • степень обозначается символом вставки (^).

Эта операция допустима только для VB.

Языки C++ и C# такого знака операции не имеют. Для них возведение в степень выполняется вызовом стандартной подрограммы:

pow() – для C++ ISO/ANSI,

метода Math.Pow() – для C#,

для C++/CLI – это Math::Pow().

Например, 23^2 – это допустимая форма VB указания 232. Math.Pow(23,2) – для C# или Math::Pow(23.0, 2) – для C++/CLI.

  • символьные значения описываются типом char и в простейших случаях указываются символом, который окаймляется апострофами для C++ и C# или символом в кавычках, после которых указывается буква c – для VB. Например, если записать

‘+’ ‘9’ ‘a’ ‘&’

то в среде C++ или C# это трактуется как символьные значения. Запись этих значений для VB выглядит как

“+”c “9”c “a”c “&”c;

  • строковые значения во всех средах указываются как окаймлённая кавычками последовательность символов. Например,

“Кострома” “Тише, мыши!”.

В C# и VB строки состоят из символов стандарта UNICODE, а в C++ - в стандарте ANSI. Если нужно в среде C++/CLI трактовать строку символов в стандарте UNICODE, то перед первой из кавычек нужно указать букву L. Например,

L“Кострома” L“Тише, мыши!”.

3.4. Проверка достижения целей

3.5. Правильные ответы

Оценка модуля пользователем

Фамилия

Название модуля

Номер группы

Дата

Введение в кодирование на языках программирования C++, C#, Visual Basic

Таблица оценок

Критерий

Оценка

Примечания

--

-

+

++

1

Качество содержания модуля

2

Ясность и полезность целей

3

Степень овладения целями

4

Новизна сведений

5

Условия реализации обучения

6

Помощь педагога

7

Материальная база

8

Иные параметры

(перечислить и дать оценку)

Критерии оценок

Неудовлетворительно

Удовлетворительно

Хорошо

Отлично

Знак двойного минуса

Знак минуса

Знак плюса

Знак двойного плюса

60

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]