46752 (571862)

Файл №571862 46752 (Алгоритмические языки: обработка массивов)46752 (571862)2016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

КОНТРОЛЬНАЯ РАБОТА

по дисциплине “Основы программирования”

на тему

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

Задание 1. Символьные типы данных. Работа со строками


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

Символьный тип (char) представляет собой тип данных, предназначенных для хранения одного символа (буквы, знака или кода).

Функции над символьными переменными:

chr(x) - определение символа из набора символов по порядковому номеру;

ord(x) - определение порядкового номера символа в наборе символов;

upcase(x) - преобразование строчных букв в прописные;

pred(x) - определение предыдущего элемента;

succ(x) - определение последующего элемента.

Тип данных string (строка) специально предназначен для обработки строк (цепочек символов). Переменная типа string состоит из элементов типа char. Переменные типа string могут быть объявлены следующим образом:

var Имя_переменной1: string;

Имя_переменной2: string[n];

Переменная типа string объявляется, как правило, путем указания имени переменной, зарезервированного слова string и указания (в квадратных скобках) максимального размера (длины) строки, которая может храниться в этой переменной. Если максимальный размер строки не указан, то он автоматически принимается равным 255 - максимально возможная длина строки.

Стандартные процедуры и функции для строк:

  • функция Length - определение фактической длины текстовой строки, хранящейся в указанной переменной;

  • функция UpCase - преобразование символа любой литеры из строчного в прописной;

  • функция Copy - копирование фрагмента некоторой строки из одной переменной в другую;

  • функция Pos - осуществление в некоторой строке поиска определенного фрагмента;

  • функция Concut - соединение строк;

процедуры Insert и Delete - вставка фрагмента из одной строки в другую, удаление фрагмента из строки[1-8].

Постановка задачи.

Дана последовательность слов; между соседними словами – запятая, за последним словом – точка. Напечатать эту же последовательность слов, но удалив из неё повторные вхождения слов. Составить блок схему алгоритма и программу.

Листинг программы

uses crt;

var str:array[1..10] of string; - массив для слов

Slovo,st:string; - строка предложения

i,j,n,k:integer; - вспомогательные переменные

begin

ClrScr;

Writeln(' Programma ydalyaet povtornoe vhojdenie slov ');

Writeln;

Writeln('Vvedite posledovatelnost slov v formate: <>,<>,<>.'); - формат ввода слов в программе

Write('Vashi slova: ');

Readln(Slovo);

if Length(Slovo)<1 then - проверка на ввод слов

begin

Writeln('Nujno vvesti slovo!');

Halt;

end;

j:=0; i:=1; k:=1; n:=1; - н.у. для переменных

while i<=Length(Slovo) do - цикл в котором слова из предложения заносятся в массив begin строк

n:=i;

while (Slovo[i]<>',')and(Slovo[i]<>'.') do begin inc(i); inc(j); end;

str[k]:=Copy(Slovo, n, j); - занесение в массив слова

j:=0;

inc(k);

inc(i);

end;

str[k]:='.';

for i:=1 to k-1 do - цикл в котором происходит сравнение и удаление

for j:=(i+1) to k-1 do begin одинаковых слов в предложении

if str[i]=str[j] then begin

str[j]:='';

end;

end;

st:='';

for j:=1 to k-1 do begin - формирование предложения из неповторяющихся слов

if (str[j]<>'') then st:=st+str[j]+',';

end;

delete(st,Length(st),1);

st:=st+'.';

writeln;

writeln('Posledovatelnost');

write('bez povtoreniy:',st); - вывод результата

readln;

end.

Блок-схема алгоритма программы.

Начало


Ввод предложения через ‘,’



Slovo>1

Нет



Да


While i<=Length(Slovo)

Нет



Да


Копир-е слов в массив строк




Сравнение слов

Нет


Да


Удаление одинаковых слов



Вывод

результата



Конец


Рис.1 Блок-сема программы задания 1.

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

Задание 2. Организация программ с использованием процедур и функций


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

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

procedure Имя_процедуры (Список параметров);

Список параметров - перечень имен для обозначения исходных данных и результатов работы процедуры с указанием их типов. Параметры, перечисленные в списке, называются формальными. Константа, переменные, типы, описанные в блоке program, называются глобальными. Допускается описание процедуры, не содержащей параметры. Вызов процедуры имеет вид:

Имя_процедуры (Список параметров);

Параметры, содержащиеся в Списке параметров при вызове процедуры, называются фактическими.

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

Function Имя_функции (Список параметров): Тип_результата;

Процедуры и функции помещаются в главной программе после раздела var и перед bеgіn основного блока программы[1-8].

Постановка задачи.

По вещественному числу а>0 вычислить величину



Составить блок схему алгоритма и программу.

Листинг программы.

uses crt;

var t:real; - вспомогательные переменные

st1,st2,st3:real; - вспомогательные переменные

a,a2,a3:real; - промежуточные переменные

t1,t2,t3:real; - вспомогательные переменные

Function pow1(x, v: real): real; - функция для возведения числа x в степень v

Begin

if (v = 0.0) then - проверка условия v>0

pow1:= 1

else

if (x = 0.0) then - - проверка условия x<>0

pow1:= 0

else

if (x > 0.0) then

pow1:= exp(v*ln(x)) - вычисление числа в заданной степени

else

if (odd(trunc(v))) then

pow1:= -exp(int(v)*ln(-x))

else

pow1:= exp(int(v)*ln(-x));

End;

BEGIN

clrscr;

st1:=1/3;

st2:=1/6;

st3:=1/7;

writeln('Format vvoda chisla: *.*');

write('Vvedite vewestvennoe chislo "a":');

readln(a);

a2:=a*a+1; - промежуточные вычисления

a3:=3+a; - промежуточные вычисления

t1:= pow1(a,st1);

t2:= pow1(a2,st2);

t3:= (1+pow1(a3,st3));

t:= (t1-t2) / t3; - вычисление заданной формулы

writeln;

write('Otvet: t=',t); - вывод результата

readln;

END.

Блок-схема алгоритма программы.


Начало



Ввод вещественного числа ‘а’




Нет


If (v>0)or(x<>0)


Да


t=



Вывод

значения t



Конец


Рис.2 Блок-сема программы задания 2.

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

Задание 3. Работа с файлами


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

Файл - это последовательность компонент, являющихся объектами одного и того же типа. Количество компонент в файле заранее не оговаривается, компоненты файла не имеют индексов. В Паскале возможно использование трех файловых типов: текстовые файлы, компонентные файлы, бестиповые файлы.

Процедуры и функции, использующиеся при обработке файлов любых типов:

• процедура Assign(Var_file, Road) связывает переменную Var_file с некоторым именем файла, которое хранится в переменной Road;

• процедура Reset(f) открывает файл с именем f для чтения;

• процедура Rewrite(f) создает новый файл f и открывает его для записи;

• процедура Erase(f) стирает существующий файл с диска;

• функция EOF(f) проверяет достижение конца файла;

• функция Close(f) закрывает файл f.

Типизированный, или компонентный файл - это файл с объявленным типом его компонент. Объявление такого типа имеет структуру:

var Имя_переменной_файла: file of Тип_элементов_файла;

Текстовые файлы организуются по строкам и объявляются следующим образом:

var file: text;

Кроме общих для всех файлов процедур и функций, определены еще несколько, работающих только с текстовыми файлами:

• процедура Append(file), открывающая текстовый файл file для дозаписи в конец файла;

• функция EOLn(file), проверяющая достижение конца строки[1-8].

Постановка задачи.

Скопировать из файла F1 в файл F2 строки, начиная с N до K. Составить блок схему алгоритма и программу.

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

Файл F2.txt

sasa

ss

fedg

dfhdfh

Листинг программы.

uses crt;

var f,g:text; - логические имена файлов

s:string; - вспомогательные переменные

i,n,m:integer; - вспомогательные переменные

BEGIN

clrscr;

assign(f,'D:\FF\F1.txt '); - открытие файла F1.txt из D:\FF\F1.txt

reset(f);

assign(g,'D:\FF\F2.txt'); - открытие файла F2.txt из D:\FF\F2.txt

rewrite(g);

writeln('Kopirovat stroki'); - запрос на копирование строк

write(' s:');

readln(n);

write('po:');

readln(m);

i:=1;

while not EOF(f) do begin - цикл в котором происходит копирование

с позиции n до позиции m

readln(f,s);

if (i>=n)and(i<=m) then

begin

writeln(g,s);

end;

inc(i);

end;

writeln('Gotovo!'); - результаты выполнения программы в файле F2.txt

close(g);

close(f);

readln;

end.

Блок-схема алгоритма программы.

Начало



Ввод значений n и m



Нет



Да


Запись в файл F2.txt строк





Начало

Рис.3 Блок-сема программы задания 3.

Список использованных источников

1. Абрамов С.А., Зима Е.В. Начала информатики. —М.: Наука, 1990.

2. Грогоно П. Программирование на языке Паскаль. - М.: Мир, 1982.

3. Йенсен К., Вирт H. Паскаль. Руководство для пользователя и описание языка. -М.: Финансы и статистики, 1982.

4. Перминов О.Н. Программирование на языке Паскаль. - М.: Радио и связь, 1988.

5. Пильщиков В.Н. Сборник упражнений по языку Паскаль. - М.: Наука, 1989.

6. Прайс Д. Программирование на языке Паскаль. Практическое руководство. -М.: Мир, 1987.

7. Турбо Паскаль 7.0. - К.: Торгово-издательское бюро BHV, 1996.

8. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие.-М.: «Нолидж», 1997.

Характеристики

Тип файла
Документ
Размер
511,5 Kb
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов ответов (шпаргалок)

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6549
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее