Читаем Язык программирования ABC PASCAL полностью

if c in Vowels then inc(n); // Если с – гласная, то увеличить n на 1

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


Задание 16

1. Внимательно изучите текст программы ABCMorse, задайте преподавателю вопросы.

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

3. Напишите программу, которая вводит из файла 10 текстовых строк и выводит их в другой файл, отсортированными в алфавитном порядке. Используйте алгоритм сортировки занятия №13, и операцию сравнения строк < или >. (5 баллов)

4. Основываясь на программе ABCMorse придумайте интересную задачу на использование текстовых строк и множеств. (доп. баллы)

- 44 -

Файл morse.txt

·-

-···

·--

--·

-··

·

···-

--··

··

·---

-·-

·-··

--

---

·--·

·-·

···

-

··-

··-·

····

-·-·

---·

----

--·-

--·--

-·--

-··-

··-··

··--

·-·-


Program ABCMorze;

Uses Sounds,CRT;

var A : array ['А '..'Я '] of string [5];

c : char;

f : text;

s : string;

i,j : integer;

dash, dot : integer;

morze : string [5];

begin

// Читаем файл и заполняем массив строк A['А'], A['Б'], A['Я'] азбукой Морзе

assign (f,'morze.txt'); reset (f);

for c:='А' to 'Я' do readln(f,A[c]);

close(f);

// Выводим таблицу на экран

for c:='А' to 'Я' do write(c,' ',A[c]:5,' ');

// Загружаем звуки

dash:=LoadSound('dash.wav'); dot:=LoadSound('dot.wav');

// Вводим текстовую строку

writeln; write('Введите сообщение '); readln(s);

for i:=1 to length(s) do // Разбираем ее по символам

if Upcase (s[i]) in ['А '..'Я '] then // Проверка принадлежности

begin // Если это русская буква (перевод в заглавные – Upcase)

morze:=A[Upcase(s[i])]; // Читаем s[i] элемент массива A в строку morze

for j:=1 to Length(morze) do // Разбираем строку Morze и проигрываем её

begin

write (morze [j]); // Вывод на экран буквы кодом Морзе

if morze[j]='-' then

begin

PlaySound(dash); Sleep(SoundLength(dash)); // играем dash

end

else

begin

PlaySound(dot); Sleep(SoundLength(dot)); // играем dot

end;

Sleep(50);

end;

write (' '); Sleep (500); // Пауза между буквами 500 мс

end; // end к внешнему оператору if

end.

- 45 -

Тема №17 Задача о квадратном уравнении

Решение квадратного уравнения выходит за рамки курса математики 7 класса, но мы сочли возможным внести эту классическую задачу программирования в дополнение.

Квадратным уравнением называется уравнение вида

ax2 + bx + c = 0


На первом этапе его решения определяется так называемый дискриминант:

d = b2 - 4ac


Далее рассматривают три случая

1. d < 0 – в этом случае вещественных решений нет[17];

2. d = 0 – один корень, определяемый формулой -b / 2a;

3. d > 0 – два корня, вычисляемых по формуле x1,2 = (-b ± √d)/2a, где знак «+» соответствует первому корню, а знак «–» – второму корню.


Составим программу для решения этой задачи:


Program SquareEquation;

var a, b, c : real; // Коэффициенты уравнения

d : real; // Дискриминант

x1, x2 : real; // Корни уравнения

begin

write ('Введите a, b, c ');

readln (a,b,c); // Ввод исходных данных

d:=b*b-4*a*c; // Вычисление дискриминанта

if d<0 then writeln('Решений нет')

else if d=0 then begin

x1:=-b/(2*a);

write('x=',x1)

end

else begin

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

write('x1=',x1,' x2=',x2)

end

end.


Перейти на страницу:

Похожие книги

Самоучитель UML
Самоучитель UML

Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы. Цель книги – помочь программистам освоить новую методологию разработки корпоративных программных приложений для последующего применения полученных знаний с использованием соответствующих CASE-инструментов.

Александр Васильевич Леоненков , Александр Леоненков

Зарубежная компьютерная, околокомпьютерная литература / Программирование / Прочая компьютерная литература / Книги по IT
Основы информатики: Учебник для вузов
Основы информатики: Учебник для вузов

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

Вадим Васильевич Лысенко , Лариса Александровна Малинина , Максим Анатольевич Беляев

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
SAP R/3 Системное администрирование
SAP R/3 Системное администрирование

Эта книга полностью обновлена и тщательно пересмотрена. Она является необходимым пособием для руководителей информационных служб, технических консультантов и системных администраторов R/3, которые хотят иметь полное представление об администрировании Basis.Знания, полученные "из первых рук" РѕС' различных специалистов SAP Global Support, работавших над реализацией более 20000 систем R/3, служат РѕСЃРЅРѕРІРѕР№ этой книги, которая научит выполнять все критически важные задачи системного администрирования с оптимальной эффективностью. Она учит быстро принимать правильные решения в сложных ситуациях, используя рекомендации экспертов и ценные рекомендации из реального мира, которые делают это уникальное РїРѕСЃРѕР±ие необходимым для повседневного использования.Кроме всего прочего, эта книга является ценным источником, помогающим подготовиться к экзамену СТС (Certified Technical Consultant) no R/3 Release 4.6C и Enterprise.Р' руководстве рассмотрены:# Настройка системной инфраструктуры.# Администрирование клиента.# Пользователи и полномочия.# Фоновая обработка.# Архивирование данных.# Администрирование спула.# Обслуживание инстанций.# Системный мониторинг.Р

Лиане Вилл , Сигрид Хагеман

Зарубежная компьютерная, околокомпьютерная литература