Этапы написания компьютерной программы

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

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 15.11.2016
Размер файла 108,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

ФГБОУ ВПО

Уфимский государственный авиационный технический университет

Кафедра Информатики

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе по дисциплине

Информатика и программирование

Федоровская М.М.

Уфа 2016 г.

Содержание

  • Задание 1
    • 1.1 Программный код
    • 1.2 Результат работы программы
  • Задание 2
    • 2.1 Программный код
    • 2.2 Результат работы программы
  • Задание 3
    • 3.1 Программный код
    • 3.2 Результат работы программы
  • Задание 4
    • 4.1 Программный код
    • 4.2 Результат работы программы
  • Задание 1
  • Ввести n строк с консоли, найти самую короткую строку. Вывести эту строку и ее длину.

1.1 Программный код

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package zad1;

import java.util.Scanner;

/**

*

* @author Никита

*/

public class Zad1 {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

/*Ввести n строк с консоли, найти самую короткую строку. Вывести эту строку и ее длину.*/

Scanner in = new Scanner(System.in);

System.out.println("\nВвести n строк с консоли, найти самую короткую строку. Вывести эту строку и ее длину.\n");

System.out.println("Введите количество вводимых строк:");

int n = in.nextInt();

int min = 32000;

String str = in.nextLine();

String strM = "";

for(int i=0;i<n;i++){

str = in.nextLine();

if(min>str.length()){

min=str.length();

strM=str;

}

}

System.out.println("\nСамая короткая строка ("+strM+") содержит "+min+" символов");

}

}

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

Ввести n строк с консоли, найти самую короткую строку. Вывести эту строку и ее длину.

Введите количество вводимых строк:

summer

sun

bright

love

cute

Самая короткая строка (sun) содержит 3 символов

Задание 2

Написать регулярное выражение, определяющее является ли данная строка строкой "abcdefghijklmnopqrstuv18340" или нет.

- пример правильных выражений: abcdefghijklmnopqrstuv18340;

- пример неправильных выражений: abcdefghijklmnoasdfasdpqrstuv18340.

2.1 Программный код

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package zad2;

import java.util.Scanner;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

*

* @author Никита

*/

public class Zad2 {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

/*Написать регулярное выражение, определяющее является ли данная строка строкой "abcdefghijklmnopqrstuv18340" или нет.

- пример правильных выражений: abcdefghijklmnopqrstuv18340.

- пример неправильных выражений: abcdefghijklmnoasdfasdpqrstuv18340.*/

Scanner in = new Scanner(System.in);

System.out.println("\nНаписать регулярное выражение, определяющее является ли данная строка строкой \"abcdefghijklmnopqrstuv18340\" или нет.\n"+

"- пример правильных выражений: abcdefghijklmnopqrstuv18340.\n"+

"- пример неправильных выражений: abcdefghijklmnoasdfasdpqrstuv18340.\n");

System.out.println("Введите строку:");

Pattern p1 = Pattern.compile("abcdefghijklmnopqrstuv18340");

Matcher m1 = p1.matcher(in.nextLine());

if(m1.matches())

System.out.println("\nСтрока соответствует шаблону");

else

System.out.println("\nСтрока не соответствует шаблону");

}

}

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

Написать регулярное выражение, определяющее является ли данная строка строкой "abcdefghijklmnopqrstuv18340" или нет.

- пример правильных выражений: abcdefghijklmnopqrstuv18340.

- пример неправильных выражений: abcdefghijklmnoasdfasdpqrstuv18340.

Введите строку:

abcdefghijklmnopqrstuv18340

Строка соответствует шаблону

Задание 3

Ввести строки из файла, записать их в стек. Вывести строки в файл в обратном порядке.

3.1 Программный код

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package zad3;

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Scanner;

/**

*

* @author Никита

*/

public class Zad3 {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

/*Ввести строки из файла, записать их в стек. Вывести строки в файл в обратном порядке. */

System.out.println("\nВвести строки из файла, записать их в стек. Вывести строки в файл в обратном порядке.\n\nВведите путь к файлу:");

Scanner in = new Scanner(System.in);

String file=in.nextLine();//"F:\\data_zad3.txt";

try{

File f=new File(file);

Scanner fr = new Scanner(f);

ArrayList <String> stack = new ArrayList<String>();

System.out.println("Строки в файле:");

while(fr.hasNextLine()){

stack.add(fr.nextLine());

System.out.println(stack.get(stack.size()-1));

}

System.out.println("Строки в обратном порядке:");

FileWriter fw = new FileWriter(f);

for(int i=stack.size()-1;i>=0;i--){

System.out.println(stack.get(i));

fw.append(stack.get(i)+((i!=0)?"\r\n":""));

}

fw.close();

System.out.println("Строки записаны в файл в обратном порядке.");

} строка консоль направление

catch(IOException err){

System.out.println(err.getMessage());

}

}

}

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

Ввести строки из файла, записать их в стек. Вывести строки в файл в обратном порядке.

Введите путь к файлу:

D:\test1.txt

Строки в файле:

hello

how are you

I am fine

Good morning

Строки в обратном порядке:

Good morning

I am fine

how are you

hello

Строки записаны в файл в обратном порядке.

Задание 4

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

4.1 Программный код

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package zad4;

import java.applet.Applet;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Random;

import javax.swing.JFrame;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JPanel;

import javax.swing.Timer;

/**

*

* @author Никита

*/

public class Zad4 {

/**

* @param args the command line arguments

*/

public static class DirectionControll extends Applet{

int[] Position={0,0};

int Direction=1;

public void paint(Graphics g,String s){

switch(Direction){

case 1:Position[0]++;break;

case 2:Position[1]++;break;

case 3:Position[0]--;break;

case 4:Position[1]--;break;

}

g.setFont(new Font("Arial",Font.PLAIN,14));

g.drawString(s,Position[0],Position[1]+14);

}

}

public static void main(String[] args) {

/*Задать движение по экрану строк (одна за другой) из массива строк. Направление движения по апплету и значение каждой строки выбирается случайным образом.*/

System.out.println("\nЗадать движение по экрану строк (одна за другой) "+"из массива строк. Направление движения по апплету и значение каждой "

+"строки выбирается случайным образом.\n\n");

final DirectionControll dc=new DirectionControll();

final Random random = new Random();

String[] s=new String[3];

for(int i=0;i<s.length;i++)

s[i]=""+((char)(random.nextInt(30)+65))+((char)(random.nextInt(30)+65))+((char)(random.nextInt(30)+65));

JFrame f = new JFrame ("Движение по экрану строк");

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setPreferredSize(new Dimension(800,600));

JMenuBar menu = new JMenuBar();

String[] nb={"right","top","bottom"};

JMenuItem left=new JMenuItem("left");

left.setFont(new Font("Arial",Font.PLAIN,11));

left.setBackground(Color.red);

left.addActionListener(new ActionListener(){

@Override

public void actionPerformed(ActionEvent e){

dc.Direction=3;

}

});

menu.add(left);

JMenuItem right=new JMenuItem("right");

right.setFont(new Font("Arial",Font.PLAIN,11));

right.setBackground(Color.blue);

right.addActionListener(new ActionListener(){

@Override

public void actionPerformed(ActionEvent e){

dc.Direction=1;

}

});

menu.add(right);

JMenuItem top=new JMenuItem("top");

top.setFont(new Font("Arial",Font.PLAIN,11));

top.setBackground(Color.green);

top.addActionListener(new ActionListener(){

@Override

public void actionPerformed(ActionEvent e){

dc.Direction=4;

}

});

menu.add(top);

JMenuItem bottom=new JMenuItem("bottom");

bottom.setFont(new Font("Arial",Font.PLAIN,11));

bottom.setBackground(Color.ORANGE);

bottom.addActionListener(new ActionListener(){

@Override

public void actionPerformed(ActionEvent e){

dc.Direction=2;

}

});

menu.add(bottom);

f.setJMenuBar(menu);

final JPanel panel=new JPanel();

panel.setPreferredSize(new Dimension(300,300));

panel.setBackground(Color.WHITE);

f.add(panel);

f.pack();

f.setVisible(true);

Timer tm=new Timer(500,new ActionListener(){

int i=0,j=0;

@Override

public void actionPerformed(ActionEvent arg0){

Graphics2D gr=(Graphics2D)panel.getGraphics();

panel.update(gr);

dc.paint(gr,s[j++]);

if(j==s.length)

j=0;

}

});

tm.start();

}

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

При запуске программы на экране появляется окно «Движение по экрану строк» (Рисунок 1), в котором есть возможность задать направление движения строки нажатием на цветные кнопки «left» (влево), «right» (вправо), «top» (вверх) или «bottom» (вниз). После нажатия на одну из кнопок строка, которая, кстати, постоянно меняет свое содержание, будет передвигаться в заданном направлении.

Рисунок 1

Размещено на Allbest.ru

...

Подобные документы

  • Понятие стандартной библиотеки C++. Количество удобных операций и методов. Создание пустой строки и конструктор копирования. Создание строки на основе нуль-терминальной строки. Примеры использования конструкторов. Присвоение строки типа string.

    презентация [221,2 K], добавлен 04.05.2012

  • Понятие и использование командной строки. Открытие командной строки. Команды, выполняемые с помощью командной строки. Как выполнить команду с повышенными привилегиями. Изменение внешнего вида окна командной строки с помощью параметров командной строки.

    презентация [948,2 K], добавлен 22.10.2014

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

    контрольная работа [20,6 K], добавлен 09.11.2010

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

    курсовая работа [234,6 K], добавлен 27.12.2014

  • Разработка гипотетической машины при помощи макросредств ассемблера. Разработка алгоритма для реализации обязательных команд: сравнения двух символьных строк; их обмена; определения длины слова. Основные функции обработки строки, листинг программы.

    курсовая работа [59,6 K], добавлен 14.07.2012

  • Описание общих функций сетевого уровня модели OSI: протоколирование, маршрутизация и логическая адресация. Изучение принципов работы сетевого протокола TCP/IP и сетевых утилит командной строки. Адрес локальной сети и определение класса сети Интернет.

    презентация [412,7 K], добавлен 05.12.2013

  • Выбор программ CodeVisionAVR и Altium Designer для быстрой реализации бегущей строки на микроконтроллере с применением программного симулятора. Реализация передачи данных, отображение текста на экране LCD. Составление эксплуатационной документации.

    курсовая работа [723,5 K], добавлен 17.11.2014

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

    лабораторная работа [12,8 K], добавлен 09.01.2011

  • Разбиение задачи на несколько более простых подзадач. Вычисление логарифма с использованием ряда Тейлора при небольших значениях. Функция поиска строки с максимальной суммой. Создание дополнительной функции. Процедура печати строки с максимальной суммой.

    контрольная работа [171,0 K], добавлен 17.08.2013

  • Хабовая архитектура системных плат. Интерфейс командной строки Unix System V. Структура командной строки интерпретаторов sh и ksh. Системные, процессы-демоны и прикладные процессы. Способы порождения и запуска "демонов". Работа с сигналами UNIX.

    реферат [149,5 K], добавлен 11.05.2012

  • Разработка программы нахождения значения определенного интеграла с помощью метода трапеций. Оценка абсолютной погрешности метода. Использование среды программирования Visual Studio Community 2015 для написания программы. Работа с графическим интерфейсом.

    курсовая работа [573,8 K], добавлен 17.03.2016

  • Строгая типизация и наличие средств структурного (процедурного) программирования императивного языка Pascal. Структура программы, выражения, строки. Правила и описание типов, процедур и функций, операторов ввода - вывода, модулей и подпрограмм.

    курсовая работа [37,3 K], добавлен 28.06.2008

  • Разработка программы для работы с последовательностью прописных латинских букв. Алгоритм программы, результаты ее работы и вывод о работоспособности. Поиск количества вхождений элементов одной строки в другую. Тестирование программы, ее результаты.

    лабораторная работа [858,0 K], добавлен 23.11.2014

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

    лабораторная работа [427,3 K], добавлен 21.01.2012

  • Специфические типы массивов. Составление программы по вычислению произведения матриц. Нахождение наибольшего элемента в массиве. Вывод номера строки и столбца, в котором он содержится, на экран. Создание массива, заполнение его рандомными числами.

    отчет по практике [309,0 K], добавлен 07.01.2014

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

    курсовая работа [1,9 M], добавлен 17.07.2014

  • Логика высказываний и предикатов. Построение таблицы истинности для логической формулы. Обоснование выбора структур данных. Описание алгоритма решения задачи. Описание пользовательского интерфейса. Окно командной строки, для ввода логической формулы.

    курсовая работа [437,7 K], добавлен 10.04.2017

  • Вектор и матрица с числовыми компонентами как математические прообразы массивов. Создание программы, содержащей процедуры для выполнения заданных операций: построение массива, перестановка строк и столбцов. Использование диалоговых окон "уведомлений".

    курсовая работа [1,3 M], добавлен 15.02.2011

  • Элементарные конструкции языка ПАСКАЛЬ: имена, числа и строки. Стандартные типы данных. Организация ввода и вывода данных с терминального устройства. Разработка программы, изменяющей первоначальную матрицу по заданной схеме и выводящей ее на экран.

    курсовая работа [68,6 K], добавлен 09.07.2015

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

    курсовая работа [236,7 K], добавлен 09.03.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.