Средства программирования алгоритмов линейной структуры и функции ввода и вывода
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Последовательными называются такие алгоритмические структуры внутри методов, в которых функциональные элементарные блоки выполняются в том порядке, в котором они записаны или изображены на схеме алгоритма. Такая структура может быть составлена из совокупности блоков «Пуск/останов», «Ввод/вывод», а также блоков «Процесс», используемых для проведения вычислений (рис. 4.B.2-1).

Для ввода информациив Windows-проектах пользователь может использовать объект текстового поля и его свойство Text.

Для вывода информации в Windows-проектах пользователь может использовать объект текстового поля и его свойство Text, а также методMessageBox..::.Show( ).

Пример 4.3.7-1. Вывод сообщения с помощью метода M essage Box. Show ( ).

1. Загрузить новый Windows-проект.

В результате загрузке появиться пустая форма.

2.  Перетащить на форму элементы управления botton1, label1 и textBox1.

3.  Перейти в окно Редактора кода.

В этом окне сгенерируется программный код, изображенный на рис. 4.3.7-1.

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;   namespace WindowsFormsApplication1 { publicpartialclassForm1 : Form { public Form1()    {        InitializeComponent();    }   privatevoid Form1_Load(object sender, EventArgs e)    {      }   privatevoid button1_Click(object sender, EventArgs e) {      } } }

Рис. 4.3.7-1

 

4. Дополнить программный код (рис. 4.3.7-2).

Метод MessageBox..::.Show(), отображает в диалоговом окне содержимое переменной FullNameипомещает в его строку заголовка слова Введено имя.

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { publicpartialclassForm1 : Form { public Form1()    { InitializeComponent();    }   privatevoid button1_Click(object sender, EventArgs e)    {string FullName;     FullName = textBox1.Text; MessageBox.Show(FullName,"Введеноимя");    }   privatevoid Form1_Load(object sender, EventArgs e) {      label1.Text = "Введите имя";    } }}

Рис. 4.3.7-2

 

5.  Щелкнуть на кнопкеНачать отладку ( StartDebugging) на стандартной панели инструментов.

6.  Ввести в поле ввода имя и щелкнуть на кнопке Button1 формы.

C# сохранит введенное значение в переменной FullName, а затем отобразит его в окне сообщения. Экран будет выглядеть, как на рис. 4.3.7-3.

Рис. 4.3.7-3

7. Чтобы закрыть окно сообщения, щелкнуть на ОК.

Для ввода/вывода информациив консольных проектах пользователь может использовать методами классаConsole, определенными в пространстве имен System.

 

Пример 4.3.4-2. Вывод сообщения консольного приложения.

Текст программного кода представлен нарис. 4.3.7-4.

using System;   namespace ConsoleApplication1 { class Class1 { static void Main()    {        int i = 3;        double y = 4.12;        decimal d = 600m;        string s = "Вася";        Console.WriteLine( "i = " + i );              // 1        Console.WriteLine( "s = " + s );              // 2        Console.WriteLine( "y = {0} \nd = {1}", y, d ); // 3 } } }

Рис. 4.3.7-4. Методы вывода консольного приложения

 

Результат работы программы:

i = 3

s = Вася

y = 4,12

d = 600

Как нам уже известно, методы вывода в классе Console перегружены для всех встроенных типовданных, кроме того, предусмотрены варианты форматного вывода. Рис. 4.3.7-4 содержит два наиболее употребительных варианта вызова методов вывода. Если метод WriteLine вызван с одним параметром, он может быть любого встроенного типа. В строке, помеченной комментариями "1" и "2", нам требуется вывести в каждой строке не одну, а две величины, поэтому прежде чем передавать их для вывода, их требуется "склеить" в одну строку.

Перед объединением строки с числом надо преобразовать число из его внутренней формы представления в последовательность символов, то есть в строку. Преобразование в строку определено во всех стандартных классах C# – для этого служит методToString(). В данном случае он выполняется неявно.

Оператор 3 иллюстрирует форматный вывод. В этом случае используется другой вариант метода WriteLine(). Первым параметром методу передается строковый литерал, содержащий, помимо обычных символов, предназначенных для вывода на консоль, параметры в фигурных скобках, а также управляющие последовательности. Параметры нумеруются с нуля, перед выводом они заменяются значениями соответствующих переменных в списке вывода.

Из управляющих последовательностей чаще всего используются символы перевода строки (\n) и горизонтальной табуляции (\t).

Рассмотрим простейшие способы ввода с клавиатуры. В классе Console определены методы ввода строки и отдельного символа, но нет методов, которые позволяют непосредственно считывать с клавиатуры числа. Ввод числовых данных выполняется в два этапа:

1. Символы, представляющие собой число, вводятся с клавиатуры в строковую переменную.

2. Выполняется преобразование из строки в переменную соответствующего типа.

 

Преобразование можно выполнить либо с помощью специального класса Convert, определенного в пространстве имен System, либо с помощью метода Parse, имеющегося в каждом стандартном арифметическом классе. На рис. 4.3.7-5 приведена программа.

using System; namespace ConsoleApplication1 { class Class1 { static void Main()    { Console.WriteLine( "Введитестроку" );        string s = Console.ReadLine();             // 1        Console.WriteLine( "s = " + s );          Console.WriteLine( "Введитесимвол" );        char c = (char)Console.Read();             // 2        Console.ReadLine();                        // 3        Console.WriteLine( "c = " + c ); stringbuf;   // строка – буфер для ввода чисел        Console.WriteLine( "Введите целое число" ); buf = Console.ReadLine();        int i = Convert.ToInt32( buf );            // 4        Console.WriteLine( i );          Console.WriteLine( "Введитевещественноечисло" );        buf = Console.ReadLine();        double x = Convert.ToDouble( buf );        // 5        Console.WriteLine( x );          Console.WriteLine( "Введитевещественноечисло" );        buf = Console.ReadLine();        double y = double.Parse( buf );            // 6        Console.WriteLine( y );          Console.WriteLine( "Введитевещественноечисло" );        buf = Console.ReadLine();        decimal z = decimal.Parse( buf );          // 7        Console.WriteLine( z );     }}}

Рис. 4.3.7-5. Вводи вывод в консольном приложении

Ввод строки выполняется в операторе 1. Длина строки не ограничена, ввод выполняется до символа перевода строки.

Ввод символа выполняется с помощью метода Read, который считывает один символ из входного потока (оператор 2). Метод возвращает значение типа int, представляющее собой код символа, или –1, если символов во входном потоке нет (например, пользователь нажал клавишу Enter). Поскольку нам требуется не int, а char, а неявного преобразования от int к char не существует, приходится применить операцию явного преобразования типа.

Оператор 3 считывает остаток строки и никуда его не передает. Это необходимо потому, что ввод данных выполняется через буфер — специальную область оперативной памяти. Фактически данные сначала заносятся в буфер, а затем считываются оттуда процедурами ввода. Занесение в буфер выполняется по нажатию клавиши Enter вместе с ее кодом. Метод Read, в отличие от ReadLine, не очищает буфер, поэтому следующий после него ввод будет выполняться с того места, на котором закончился предыдущий.

В операторах 4 и 5 используются методы класса Convert, в операторах 6 и 7 – методы Parse классов Double и Decimal библиотеки .NET, которые используются здесь через имена типовС# double и decimal.

Обратите внимание, чтопри вводе вещественных чисел дробная часть отделяется от целой с помощью запятой, а не точки.

Если вводимые с клавиатуры символы нельзя интерпретировать как вещественное число, генерируется исключение.

Часто бывает удобно заранее подготовить исходные данные в текстовом файле и считывать их в программе. Вывод из программы тоже бывает полезно выполнить не на экран, а в текстовый файл. Работа с файлами подробно рассматривается позже, а сейчас приведем лишь образцы для использования в программах. На
рис. 4.3.7-6 приведена версия программы рис. 4.3.7-5, выполняющая вывод не на экран, а в текстовый файл с именем output.txt. Файл создается в том же каталоге, что и исполняемый файл программы, по умолчанию –...\ConsoleApplication1\bin\Debug.

using System; using System.IO;                                             // 1 namespace ConsoleApplication1 { class Class1 { static void Main()    {        StreamWriter f = new StreamWriter( "output.txt" );    // 2        int i = 3;        double y = 4.12;        decimal d = 600m;        string s = "Вася";          f.WriteLine( "i = " + i );                       // 3        f.WriteLine( "s = " + s );                       // 4        f.WriteLine( "y = {0} \nd = {1}", y, d );        // 5   f.Close();                                       // 6    } } }

Рис. 4.3.7-6. Вывод в текстовый файл

 

Для того чтобы использовать в программе файлы, необходимо:

1. Подключить пространство имен, в котором описываются стандартные классы для работы с файлами (1).

2. Объявить файловую переменную и связать ее с файлом на диске (2).

3. Выполнить операции ввода-вывода (3–5).

4. Закрыть файл (6).

Ввод данных из файла выполняется аналогично. В рис. 4.3.7-7 приведена программа, аналогичная рис. 4.3.7-6, но ввод выполняется из файла с именем input.txt, расположенного в каталоге D:\C#. Текстовый файл можно создать с помощью любого текстового редактора, удобно использовать Visual Studio.NET.

using System; using System.IO; namespace ConsoleApplication1 { class Class1 { static void Main()    {        StreamReader f = new StreamReader( "d:\\C#\\input.txt" );        string s = f.ReadLine();        Console.WriteLine( "s = " + s );          char c = (char)f.Read();       f.ReadLine();        Console.WriteLine( "c = " + c );          string buf;        buf = f.ReadLine();        int i = Convert.ToInt32( buf );        Console.WriteLine( i );          buf = f.ReadLine();        double x = Convert.ToDouble( buf );        Console.WriteLine( x );          buf = f.ReadLine();        double y = double.Parse( buf );        Console.WriteLine( y );          buf = f.ReadLine();        decimal z = decimal.Parse( buf );        Console.WriteLine( z );        f.Close();    } } }

Рис. 4.3.7-7. Вводизтекстовогофайла

 




Список литературы

1. Программа «ИНФОРМАТИКА»

2. ИНФОРМАТИКА: Лабораторный практикум для студентов МТУСИ: Раздел 4. Программирование на языке высокого уровня VisualBasic в среде VisualStudio .NET 2008/ МТУСИ.-М., 2008.- 150 с.

3. ИНФОРМАТИКА: Задачи, выносимые на контрольные работы и зачеты для студентов МТУСИ: Раздел 4. Программирование на языке высокого уровня VisualBasic в среде VisualStudio .NET 2008/ МТУСИ.-М., 2008.- 150 с.

4. Электронное пособие и практикум По дисциплине «ИНФОРМАТИКА» для студентов МТУСИ.

5. Гусева О.В. Практикум по VisualBasic. – М.: Финансы и статистика, 2007.- 544с.

6. Лукин С.Н. Понятно о VisualBasic .NET. Самоучитель.-М.: 2003.-”Диалог-Мифи”, 2005.-736с.

7. Шевякова Д.Ф., Степанов А.М., Карпов Р.Г. Самоучитель VisualBasic 2005.-СПб.: БХВ-Петербург, 2007,-576с.

8. Хальворсон Майкл. MicrosoftVisualBasic 2005. серия «Шаг за шагом». - М.: ЭКОМ Паблишерз, 2007.-640с.

9. Патрик Т. Рецепты программирования. – СПб.: БХВ-Петербург, 2008.- 752с.

10. Балена Франческо Программирование на MicrosoftVisualBasic 2005. Серия «Справочник профессионала».- М.: ЭКОМ Паблишерз, 2008.-1072с.

11. Шевякова Д.А. Самоучитель Visual Basic 2008/ Д.А. Шевякова, А.М. Степанов, А.Н. Дукин [Под ред. А.Ф. Тихонова]. – СПб.: БХВ-Петербург, 2008.- 592 с.

12.  Дейтел П. Просто о Visial Basic 2008. – СПб.: БХВ-Петербург, 2009.- 12322 с.

 

Содержание Тема 4.1. Интегрированная среда разработки Visual Studio .NET и             основные понятия.................................................................................. 4.1.1. Технология визуального программирования и основные понятия............... 4.1.2. Главное окно VS и создание проекта........................................................... 4.1.3. Главное меню VS.NET......................................................................................... 4.1.4. Стандартная панель инструментов....................................................................   Тема 4.2. Основные средства языка программирования C#............... 4.2.1. Синтаксис, семантика, алфавит и лексемы языка C#.................................. 4.2.2. Типы данных.................................................................................................... 4.2.3. Переменные, выраженияи основные операции C#...................................... 4.2.4. Математические функции класса Math и функции класса Random……….. 4.2.5. Преобразование типови проверяемые выражения………………………….   Тема 4.3. Структура VB-программ и процедуры. Средства             программирования алгоритмов линейной структуры.............................. 4.3.1. Две роли класса……………………………………………………………….. 4.3.2. Структура простейших C# – программ.......................................................... 4.3.3. Методы и конструкции класса......................................................................... 4.3.4. Класс как модуль и класс со статическими полями и методами................. 4.3.5. Создание и использования методов…………………………………………. 4.3.6. Перегрузка методов…………………………………………………………… 4.3.6. Средства программирования алгоритмов линейной структуры и функции ввода и вывода данных....................................................................   Список литературы................................................................................................   44 10 21  22   26 26 32 35 42 45     56 56 57 60 62 71 75   76   83  
 

 

 

Дата: 2019-11-01, просмотров: 242.