Инфоурок Информатика Другие методич. материалыЛабораторная работа "Передача и возврат строк из процедуры"

Лабораторная работа "Передача и возврат строк из процедуры"

Скачать материал

Лабораторная работа № 18.

Передача и  возврат строк из процедуры 

             Цели занятия:           

       Формирование представления о назначении параметров процедур.

       Формирование навыков передачи и возврата строки из процедуры.

 

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

 

Упражнение 1.

В упражнении 1 создается Windows-приложение для проверки правописания  «чаща» в заданном тексте. Для этого создадим метод-функцию логического типа, возвращающую истину, если есть ошибки данного типа. А также создадим методпроцедуру, обновляющий наш текст, исправляя в нем ошибки.  

        Чтобы начать работу над новым проектом, надо:

§   В меню File выбрать команду New Project.

§   В открывшемся окне New Project выбрать тип приложения — Windows Forms Application - Visual С#.

§   В поле Name ввести имя проекта —  и нажать кнопку ОК.

 

В результате описанных действий в папке временных проектов (по умолчанию C:\Users\User\Документы\Visual Studio 2008\Projects) будет создана папка с именем проекта, а в ней — в ней вы найдете сам проект.

 

:  Разработка пользовательского интерфейса проекта.

Настроим стартовую форму нашего приложения согласно рис. 1. 

В компоненте TextBox1 вводится исходный текст. С помощью кнопки Button1 определяется есть ли в тексте ошибки и их количество выводится в компонент ListBox1. С помощью кнопки Button2 исходный текст изменяется, в нем исправляются все ошибки. Результат выводится в компонент ListBox1.  

 Рис. 1. Окно программы

:  Разработка функционала проекта.

1.Процесс разработки функционала проекта начнем с создания кода, определяющего есть ли в тексте ошибки.

Так как результатом вычисления является одно значение (да или нет), то реализуем данный код в виде логической функции. Входным параметром функции будет целый массив типа int[]. Типом результата функции - логический тип данных. Параметры функции: входной – строка, выходной (с ключевым словом out) – целое число, количество ошибок.

 

Синтаксис объявления нашей функции, возвращает истину (true), если в тексте есть ошибки на правописание «ча-ща», приведен в листинге 1. Листинг 1. Пользовательская функция Kol_mistakes () public static bool Kol_mistakes(String s, out int k)

        {   bool ok = false;   k = 0;

            String st = s.ToLower(); //перевод в нижний регистр             for (int i = 0; i < st.Length; i++)

            if (((st[i] == 'ч') && (st[i+1]=='я'))||((st[i] == 'щ') && (st[i + 1] == 'я') ))                     k++;             if (k > 0) ok = true;

            return ok; //возврат результата

        }

 

Замечание.

Где разместить код функции или процедуры?

Напомним, что в C# процедуры и функции существуют только как методы некоторого класса, они не существуют вне класса. Поэтому, размещайте код процедуры внутри кода класса формы Form1 (Windows Forms приложение) или класса Program (консольное приложение)

 

2.Далее создадим код, обновляющий исходный текст по правилу: исправляются все ошибки на «ча-ща». Реализуем его в виде процедуры. Строка должна быть прочитана процедурой как исходный параметр, а результат ее обновления должен быть сохранен в ней же. Т.е параметр-строка является и входным и результатом одновременно, поэтому объявим его как обновляемый с ключевым словом ref. Обратите внимание, что в коде процедуры вызывается написанная нами функция Kol_mistakes (a), вычисляющая есть ли ошибки и сколько их.

 

Синтаксис объявления нашей процедуры, обновляющей строку, приведен в листинге 2. //Метод-процедура, 

Листинг 2. Пользовательская процедура CorrectSrting (), обновляющая исходную строку, исправляющая в ней ошибки правописания «ча-ща» public static void CorrectSrting(ref string s)

        {  String st = s.ToLower();             for (int i = 0; i < st.Length; i++)

           if (((st[i] == 'ч') && (st[i + 1] == 'я')) || ((st[i]=='щ')&&(st[i + 1] == 'я'))) 

               {    s = s.Remove(i + 1, 1); //удаление одного символа                     s = s.Insert(i + 1, "а"); //вставка буквы «а»

                }

        }

 

 

3.        Объявим глобальную переменную – строку S.  Синтаксис объявления нашей строки в классе Form следующий: public partial class Form1 : Form

    {  String s;

 

4.        Продолжим разработку функционала проекта созданием стандартной функции обработки события Click для кнопки «Найти ошибки ча-ща» (buttonl). 

Функция button1_ciick вызывает написанную нами функцию Kol_mistakes(). Если она возвращает истину, то количество ошибок выводится  в список ListBox1. 

Обратите внимание, что вызов функции стоит в логическом выражении условного оператора.

Синтаксис объявления нашей процедуры button1_Click, приведен в листинге 3.

Листинг 3. Процедура button1_Click ()

private void button1_Click(object sender, EventArgs e)

        {   int k=0;

            if (textBox1.Text.Length != 0)

            {  s = textBox1.Text;

                if (Kol_mistakes(s, out k)) //вызов функции                     listBox1.Items.Add("количество ошибок - " + k);

            }

            else MessageBox.Show("введите текст");

         }

        

 

5. Далее создадим стандартную процедуру обработки события Click для кнопки «Исправить ошибки» (button2). Функция button2_ciick вызывает процедуру обновления строки, исправляя в ней ошибки. Измененная строка выводится   в список ListBox1.

Синтаксис объявления нашей процедуры button2_Click, приведен в листинге 4.

Листинг 4. Процедура button2_Click ()

private void button2_Click(object sender, EventArgs e)

        {  if (textBox1.Text.Length!=0)

            {s = textBox1.Text;

      //вызов процедуры

            CorrectSrting(ref s);

            listBox1.Items.Add("Исправленный текст");             listBox1.Items.Add(s);}

            else MessageBox.Show("введите текст");

        }

    }

Замечание.

Обратите внимание, что вызов процедуры является отдельным оператором. При вызове перед обновляемым параметром S обязательно указывать слово ref!

Замечание.

Вы можете самостоятельно добавить процедуры обработки событий TextChanged и KeyPress для компонента TextBox, чтобы исключить неправильный ввод исходных данных.

& Компиляция и отладка проекта. Тестирование проекта.

Запустите на выполнение проект. Выполните его отладку. Протестируйте работу приложения при различных исходных данных. 

Упражнения для самостоятельной работы.

В приложении необходимо реализовать метод  в виде процедуры или функции. Правильно определите выбор параметров метода. Подсказка.

Для выделения слов в тексте (string s), используйте следующий код: string[] slova = s.Split('.','!','?'); Длина массива слов - slova.Length-1 Вариант № 1

Написать метод, возвращающий количество букв «а» в произвольном слове. С помощью него, определить в тексте слово с максимальным количеством букв «а». 

Вариант № 2

Написать метод, возвращающий количество гласных в произвольном слове. С помощью него, определить в тексте слово с максимальным количеством гласных. 

Вариант № 3

Написать метод, возвращающий преобразованную к верхнему регистру строку, полученную в качестве аргумента. С помощью него проверить, сколько раз в тексте встречается слово "NULL". Вариант № 4 

Написать метод, сравнивающий две строки. Метод возвращает 1, если строки равны, и 0 - в противном случае. С помощью него определить, равны ли первое и последнее слово в тексте.

Вариант № 5

Написать метод, возвращающий количество цифр в слове. С помощью него определить в тексте слово с минимальным количеством цифр.

Вариант № 6

Написать метод, возвращающий количество слов в предложении. С помощью него определить, в каком из двух заданных предложений больше слов.

Вариант № 7

Написать  метод, удаляющий лишние пробелы между словами в строке. Метод возвращает строку, в которой все слова разделены только одним пробелом. С помощью него посчитать количество слов в произвольном тексте.

Вариант № 8

Написать метод, проверяющий является ли строка – палиндромом

(перевертышем). С помощью него посчитать количество слов-палиндромов в произвольном тексте.

Вариант № 9

Написать метод, возвращающий номер позиции первого вхождения заданного символа в заданную строку. С помощью  написанного метода, удалить из заданного текста все запятые.

Вариант № 10

Написать метод склеивания двух строк. Метод возвращает обновленную первую строку, в которую подклеивается вторая. С помощью него в заданном тексте поставить последнее слово после первого.

Вариант № 11

Написать метод, который меняет порядок символов слова на обратный. С помощью него посчитать количество слов-палиндромов (перевертышей) в произвольном тексте.

Вариант № 12

Написать метод, который вставляет в заданную строку, новую строку, начиная с заданной позиции. С помощью него, в произвольном тексте после каждого числа вставить слово «руб.».

Вариант № 13

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

Вариант № 14

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

Вариант № 15

Написать метод, который сравнивает две заданные строки. Метод возвращает 1,если первая строка меньше либо равна второй,  0 – в противном случае. С помощью него проверить, расположены ли слова текста в лексикографическом порядке.

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Лабораторная работа "Передача и возврат строк из процедуры""

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Специалист органа опеки

Получите профессию

Менеджер по туризму

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

Данная лабораторная работа формирует навыки передачи и возврата строк из процедуры, функции  в программах. Приведено пошаговое описание разработки проекта в среде VisualStudio 2008  на языке  программирования С#. Также приведен список упражнений для самостоятельной работы. Лабораторная работа входит в лабораторный практикум по дисциплине «Основы программирования» для студентов специальности 230115» Программирование в компьютерных системах» среднего профессионального образования. 

 

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 656 199 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 25.12.2014 286
    • PDF 751.5 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Бабикова Татьяна Михайловна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Бабикова Татьяна Михайловна
    Бабикова Татьяна Михайловна
    • На сайте: 8 лет и 9 месяцев
    • Подписчики: 0
    • Всего просмотров: 15919
    • Всего материалов: 10

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Менеджер по туризму

Менеджер по туризму

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Использование нейросетей в учебной и научной работе: ChatGPT, DALL-E 2, Midjourney

36/72 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 610 человек из 77 регионов
  • Этот курс уже прошли 945 человек

Курс профессиональной переподготовки

Информатика: теория и методика преподавания с применением дистанционных технологий

Учитель информатики

300 ч. — 1200 ч.

от 7900 руб. от 3950 руб.
Подать заявку О курсе
  • Этот курс уже прошли 18 человек

Курс профессиональной переподготовки

Информационные системы и технологии: теория и методика преподавания в профессиональном образовании

Преподаватель информационных систем и технологий

300/600 ч.

от 7900 руб. от 3950 руб.
Подать заявку О курсе
  • Этот курс уже прошли 13 человек

Мини-курс

Читательская грамотность у школьников

2 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 32 человека из 16 регионов
  • Этот курс уже прошли 65 человек

Мини-курс

Продажи и самопрезентация в социальных сетях

5 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 108 человек из 38 регионов
  • Этот курс уже прошли 21 человек

Мини-курс

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

5 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 51 человек из 20 регионов
  • Этот курс уже прошли 21 человек