Файл: УМК_Практические работы.pdf

ВУЗ: Не указан

Категория: Методичка

Дисциплина: Информатика

Добавлен: 21.10.2018

Просмотров: 1969

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

16 

 

 

Рис. 2 поиск максимального отрицательного числа в двумерном массиве 

 

ввести  двумерный  массив  целых  чисел;  на  его  основе  создать 

новый  одномерный  массив,  каждый  элемент  которого  -  индекс 

наибольшего числа в каждой строке исходного массива (рис. 3); 

 

Рис. 3. Поиск координаты максимального элемента в строках двумерного массива 

Результат 

выполнения 

этапа

Вы 

научились 

записывать 

разработанные ранее алгоритмы обработки целых чисел в виде программ на 

алгоритмическом  языке  Pascal.  Вы  получили  представление  о  структуре 

программы и назначении ее разделов.  Вы узнали и проверили на практике, 

какими  операторами  языка  записываются  базовые  алгоритмические 

структуры  ветвления  и  цикла  и  как  работает  оператор  присваивания.  Вы 

научились  обрабатывать  одномерные  и  двумерные  числовые  массивы  с 

помощью вложенных циклов. 

Этап 3.3. Программы обработки символьных данных. 

1.  Вам предстоит, действуя по шаблонам, создать простейшие программы 

обработки  символьных  данных  и  сохранить  их  в  виде  файлов 

char_1.pas, char_2.pas. 

-2 

20 

-7 

 

-5 

-7 

12 

-5 

 
18 

19 

-14 

10 

 
30 

-4 

-10 

17 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Дано: массив 4 х 5 

1

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Результат: массив 1 х 4  

-2 

-8 

-7 

 

-5 

-7 

-12 

-5 

 
18 

-19 

-14 

10 

 
-15 

-4 

-10 

17 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Дано: массив 4 х 5 

-8 

-12 

-19 

-15

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Результат: массив 1 х 4  


background image

17 

 

2.  Переписать  из  листинга  №  4  и  отладить  программу  вывода  на  экран 

букв латинского алфавита, расположив их в строку. 

Листинг 4. Вывести на экран символы латинского алфавита, расположив 

их в строку, используя цикл For … to … 

Program char_1; 
USES CRT; 
VAR   i: char; 
BEGIN 
 

CLRSCR; 

 

Write('Изучаем алфавит: ') 
for i:= 'A' to 'Z' do 

 

 

Write (i); 

 

Writeln; 

END. 

3.  По  аналогии  с  предыдущим  заданием  написать  и  отладить  программу 

вывода на экран символов латинского алфавита, расположив их в строку в 

обратном порядке, используя оператор цикла For … downto … 

4.  Переписать  из  листинга  №  5  и  отладить  программу  вывода  на  экран 

букв латинского алфавита, расположив их в строку в особом порядке. 

Листинг 5. Вывести на экран символы латинского алфавита, расположив 

их в строку в следующем порядке: ABBCCCDDDD … ZZZ … Z 

Program char_2; 
USES CRT; 
VAR   i: char; 
 

k, j: integer; 

BEGIN 
 

CLRSCR; 

 

k:=1;  

 

for i:= 'A' to 'Z' do 

 

 

BEGIN 

 

 

 

For j:=1 to k do 

 

 

 

 

Write (i); 

 

 

 

 

k:=k+1; 

 

 

END; 

END. 

5.  По  аналогии  с  предыдущим  заданием,  используя  оператор  цикла, 

написать и отладить программы: 

 

вывести в одну строку символы в следующем порядке: Z Y Y X 

X X…A A…A; 

 

вывести    символы  в  следующем  порядке  (число  строк  равно 

числу символов в алфавите): 


background image

18 

 

A B C D … Z 
A B C D … Z 
A B C D … Z 
     … 
A B C D … Z 

 

вывести  треугольник,  состоящий  из  букв  латинского  алфавита, 

используя 

функцию 

SUCC(char)

которая 

возвращает 

следующий символ после char: 

A B C …  Z 
B C …  Z 
C …  Z 
… Z 

 

вывести треугольник другой конфигурации: 

A B C … Z 
    B C … Z 
        C …  Z 
            …  Z 
                 Z 

Результат  выполнения  этапа:  Вы  ознакомились  с  приемами 

обработки  символьных  данных  на  примере  латинского  алфавита,  узнали 

новые возможности организации цикла For, применили функцию-генератор  

следующего  символа.  Вы  получили  навыки  форматированного  вывода 

символов на экран. 

Этап 3.4. Программы обработки строковых данных 

1.  Вам предстоит, действуя по шаблонам, создать простейшие программы 

обработки  строковых  (текстовых)  данных  и  сохранить  их  в  виде  файлов 

str_1.pas, str_2.pas. 

2.  Переписать  из  листинга  №  6  и  отладить  программу  ввода  и 

редактирования текста. 

Листинг 6. Ввести текст с клавиатуры. Вывести его на экран до первого 

знака препинания. 

Program str_1; 
USES CRT; 
VAR   str: string; 
 

k, i : integer; 

 

m: set of char; 

BEGIN 

CLRSCR; 

 

m:= ['.', ',', '!', '? ', ':', ';', '-']; 


background image

19 

 

 

writeln ('Введите текст'); 
readln (str); 

 

k:=length (str); 

 

writeln ('Печатаем текст до первого знака препинания:');  

 

for i:=1 to k do 

 

 

If not (str[i] in m) then  

write (str[i]) 

else  

break; 

END.   

3.  По аналогии с предыдущим заданием написать и отладить программы: 

 

ввести  текст  с  клавиатуры,  вывести  его  на  экран  без  знаков 

препинания; 

 

ввести  текст  с  клавиатуры,  вывести  его  на  экран  без  гласных 

букв, определив их первоначальное количество в тексте. 

4.  Переписать из листинга № 7 и отладить программу работы с текстовым 

файлом. 

Листинг 7. Создать текстовый файл File1.txt, заполнить его текстом. 

Прочитать текст из файла и вывести его  на экран. 

Program file_1 
USES CRT; 
VAR   F1: text; 
 

str: string; 

BEGIN 
 

CLRSCR; 

 

Assign (F1, 'File1.txt'); 

 

Reset (f1); 

 

Read (f1, str); 

 

Writeln('В файле записан текст: '); 

 

Writeln (str); 

 

Close(f1); 

END. 

5.  По аналогии с предыдущим заданием написать и отладить программы: 

создать  текстовый  файл  File1.txt,  записать  в  него  текст  «Hello, 

friend!».  Прочитать  текст  из  файла.  Преобразовать  его  в  вид: 

«Hello, 

my 

friend!»

Использовать 

процедуру 

INSERT(Word:string,  String:string,  pos:integer)

,  где 

Word – вставляемый текст, String – исходный текст, pos – позиция для 

вставки)  и  функцию  POS(word:string,  str:string):integer, 

где  Word  –  символ,  позицию  которого  в  строке  надо  найти,  str  – 


background image

20 

 

строка, в которой ведется поиск. 

создать  текстовый  файл  File2.txt,  записать  в  нем  текст.  Прочитать 

текст  из  файла.  Ввести  с  клавиатуры  строку  текста.  Вывести  на  экран 

объединение  текста  и  введенной  строки.  Использовать  функцию 

CONCAT(str1:string,  str2:string):string  –  возвращает 

объединение строк. 

создать  текстовый  файл  File3.txt,  записать  в  нем  текст.  Удалить  из 

текста  второе  слово.  Использовать  процедуру  DELETE(str:string, 

i:integer,  j:integer),  где  str  –  строка,  в  которой  надо 

произвести  удаление,  i  –  позиция,  с  которой  начать  удаление,    j  – 

количество удаляемых символов. 

создать  текстовый  файл  File4.txt,  записать  в  нем  текст.  Прочитать 

текст из файла, вывести его на экран, разбив на слова по 5 символов. 

создать  текстовый  файл  File5.txt,  записать  в  нем  текст.  Изменить 

текст в файле, разбив его на слова по 5 символов. 

Результат  выполнения  этапа:  Вы  ознакомились  с  приемами 

обработки  текстовых  данных,  вводимых  с  клавиатуры  и  из  файла, 

поработали  со  специфическим  типом  данных  «множество»,  освоили 

последовательность  работы  с  файлом,  применили  функции  и  процедуры 

модификации текстовых данных. 

Форма представления результатов работы: файлы.