Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otveti na profilnie bileti po informatike.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

2. С помощью системы проверки орфографии исправить ошибки в готовом текстовом документе.

Проверка правописания может выполняться непосредственно при вводе текста или после завершения ввода всего текста. По умолчанию Microsoft Word проверяет орфографию и грамматику автоматически при вводе текста, выделяя возможные орфографические ошибки красной волнистой линией, а возможные грамматические ошибки — зеленой волнистой линией.

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

Отличие проверки орфографии от проверки грамматики пояснит следующий пример. Если в результате опечатки получается слово, существующее в словаре (например, вместо слова “пара” написано слово “парта”), программа проверки орфографии не пометит это слово. Для обнаружения ошибок такого рода используют программу проверки грамматики. Средство проверки грамматики выделяет возможные ошибки после полного анализа текста. Это средство может находить не все типы ошибок. Оно предназначено для выделения наиболее типичных или наиболее часто встречающихся ошибок.

Проверим правописание в следующем тексте.

Лазерные прикнтеры обеспечивают наилучшее качество печати. В этих принтерах для печати используется принцип ксерографии: изображение переносится на бумагу со специального барабана к которому электрически притягиваются частички краски. Лазерные принтеры являются наиболее удобными устройствами для получения качественных черно-белых печатных документов.

Так как предлагаемый документ уже готов, нужно проверить орфографию и грамматику сразу во всем тексте. Выберем меню Сервис диалог Правописание. Откроется окно Правописание:

 

Окно Правописание содержит два основных элемента: окно Нет в словаре, где расположен фрагмент текста, и окно Варианты с указанием возможного правильного ответа. Можно пропустить эту ошибку, если пользователь уверен в своей правоте, нажав кнопку Пропустить.

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

Так как в нашем случае слово явно нуждается в исправлении и возможен только один вариант, следует нажать кнопку Заменить. Система продолжит проверку и обнаружит следующую ошибку:

Здесь программа не совсем верно определила источник ошибки, на самом деле в тексте не поставлена запятая после слова “барабана”. Придется самим исправить эту ошибку в исходном тексте. После этого программа проверки выведет следующую статистику и завершит свою работу:

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

Пример. Написать и отладить программу ввода и сортировки по возрастанию (неубыванию) целочисленного массива из 20 элементов.

Решение. Решим задачу в общем случае, т.е. отсортируем массив из n элементов. В качестве метода сортировки используем сортировку обменом (“пузырьковую” сортировку).

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

Запишем этот алгоритм на языках программирования (массив при этом заполняется случайным образом; если после запуска программы введем n = 20, то получим массив, удовлетворяющий условию исходной задачи).

QBasic

DECLARE SUB Vvod (n!, A() AS INTEGER)

DECLARE SUB Vivod (n!, A() AS INTEGER)

DECLARE SUB Sort (n!, A() AS INTEGER)

DIM A(20) AS INTEGER

RANDOMIZE TIMER — 32767

PRINT "N? ": INPUT n

CALL Vvod(n, A())

CALL Vivod(n, A())

CALL Sort(n, A())

CALL Vivod(n, A())

SUB Sort (n, A() AS INTEGER)

FOR i = 1 TO n

FOR j = 1 TO n — 1

IF A(j) > A(j + 1) THEN

Vsp = A(j)

A(j) = A(j + 1)

A(j + 1) = Vsp

END IF

NEXT j

NEXT i

END SUB

SUB Vivod (n, A() AS INTEGER)

FOR i = 1 TO n

PRINT USING "####"; A(i);

NEXT i

PRINT

END SUB

SUB Vvod (n, A() AS INTEGER)

FOR i = 1 TO n

A(i) = -20 + INT(RND(1) * 41)

NEXT i

END SUB

Pascal

Program Obmen;

Type arr = array[1..20] of integer;

Procedure Vvod(n: byte; var a: arr);

Var i: byte;

Begin

For i := 1 to n do

A[i]:= -20 + random(41)

End;

Procedure Vivod(n: byte; const a: arr);

Var i: byte;

Begin

For i := 1 to n do

Write(a[i]:4);

Writeln

End;

Procedure Sort(n: byte; var a: arr);

Var i, j: byte; Vsp: integer;

Begin

FOR i := 1 TO n do

FOR j := 1 TO n — 1 do

IF A[j] > A[j + 1] THEN

begin Vsp := A[j];

A[j] := A[j + 1];

A[j + 1] := Vsp

end

End;

Var a: arr; n: byte;

Begin

Randomize;

Write('n? '); readln(n);

Vvod(n, a);

Vivod(n, a);

Sort (n, a);

Vivod(n, a)

End.

C++

#include <iostream.h>

#include <stdlib.h>

#include <time.h>

void Vvod(int n, int a[21]);

void Vivod(int n, int a[21]);

void Sort(int n, int a[21]);

void main()

{int n, a[21];

cout << "Сколько элементов в массиве? "; cin >> n;

randomize();

Vvod(n, a);

Vivod(n, a);

Sort(n, a);

Vivod(n, a);

}

void Vvod(int n, int a[21])

{ int i;

for (i = 1; i <= n; i++)

a[i] = -20 + random(41);

}

void Vivod(int n, int a[21])

{ int i;

for (i = 1; i <= n; i++)

{ cout.width(4); cout << a[i];}

cout<<endl;

}

void Sort(int n, int a[21])

{ int i, j, Vsp;

for (i = 1; i <= n; i++)

for (j = 1; j <= n-1; j++)

if (a[j] > a[j+1])

{Vsp = a[j]; a[j] = a[j+1];

a[j+1] = Vsp;}

}

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