
- •Задание
- •Содержание
- •Введение
- •Теоретическая часть.
- •Типы данных языка Паскаль – простые и структурированные
- •Условный оператор If... Then. Формат, пример, блок–схема
- •Проверяемое условие (логическое выражение)
- •Использование оператора if-then-elsEодноуровневой структуры
- •Использование оператора if-then-elsEмногоуровневой структуры
- •Операторы цикла While .. .Do и Repeat.. .Until. Формат, пример, блок–схема
- •Классификация циклов Оператор цикла while (Цикл с предусловием)
- •Оператор цикла repeat (Цикл с постусловием)
- •Оператор цикла с фиксированным количеством повторов For. Формат, пример, блок–схема
- •Структура программы на языке Паскаль
- •Алгоритм сортировки одномерного массива методом «пузырька»
- •Пример сортировки методом пузырька
- •Сортировка методом пузырька
- •Блок–схема сортировки методом пузырька.
- •Практическая часть
- •3) Имеется 11 треугольных деталей, у которых известна сторона. Определить их площадь. Использовать для исходных данных и результата соответствующий массив. Оформить вывод в виде таблицы.
- •4) Создать массив из 10 записей с полями «наименование изделия», «цена». Вывести массив записей на экран в виде таблицы. Упорядочить массив по 1- му полю. Вывести результат.
- •Заключение
- •Список использованной литературы
Практическая часть
1) Определить площадь торцевого сечения детали, внешняя поверхность которой - треугольная призма, внутренняя - цилиндр. Ввести диаметр цилиндра, определить мин.значение стороны призмы и вывести подсказку для пользователя для выбора реального размера.
Блок–схема
Листинг программы
Program zadacha1;
var
d: real; {диаметр цилиндра}
a: real; {сторона треугольника}
mina: real;{минимальное значение стороны}
s: real; {площадь}
begin
Write('Введите диаметр цилиндра d=');
ReadLn(d);
mina := 3 * d / Sqrt(3);
Write('Введите сторону а (>', mina:3:1, ')=');
ReadLn(a);
s := Sqrt(3) / 4 * a * a - PI * d * d / 4;
WriteLn('Площадь сечения S=', s:3:2);
ReadLn;
end.
Результат работы программы
2) Вводится последовательность символов, конец ввода - пробел. Определить количество гласных букв в последовательности. Решить эту же задачу, если текст будет вводиться в строку. Как изменится блок-схема? Определить и распечатать коды клавиш Пробел, Esc, Enter.
Блок–схема
1) 2)
Листинг программы
1)
Program z2;
Uses Crt;
var
C: char;
kg: integer;
gl: set of char;
begin
ClrScr;
gl := ['a', 'e', 'i', 'j', 'o', 'u', 'y', 'а',
'е', 'и', 'й', 'о', 'у', 'ы', 'э', 'ю', 'я',
'A', 'E', 'I', 'J', 'O', 'U', 'Y', 'А',
'Е', 'И', 'О', 'Й', 'У', 'Ы', 'Э', 'Ю', 'Я'];
Write('Введите строку ');
kg := 0;
repeat
Read(C);
if C in gl then
kg := kg + 1;
until C = ' ';
ReadLn;
WriteLn('Количество гласных букв ', kg);
Write('Нажмите пробел ');
C := ReadKey;
WriteLn('Код ', Ord(C));
Write('Нажмите Enter ');
C := ReadKey;
WriteLn('Код ', Ord(C));
Write('Нажмите Esc ');
C := ReadKey;;
WriteLn('Код ', Ord(C));
ReadLn;
end.
2)
Program z2;
var
C: string;
i, kg: integer;
gl: set of char;
begin
gl := ['a', 'e', 'i', 'j', 'o', 'u', 'y', 'а',
'е', 'и', 'й', 'о', 'у', 'ы', 'э', 'ю', 'я',
'A', 'E', 'I', 'J', 'O', 'U', 'Y', 'А',
'Е', 'И', 'О', 'Й', 'У', 'Ы', 'Э', 'Ю', 'Я'];
Write('Введите строку ');
ReadLn(C);
kg := 0;
for i := 1 to Length(C) do
if C[i] in gl then
kg := kg + 1;
WriteLn('Количество гласных букв ', kg);
ReadLn;
end.
Результат работы программы
3) Имеется 11 треугольных деталей, у которых известна сторона. Определить их площадь. Использовать для исходных данных и результата соответствующий массив. Оформить вывод в виде таблицы.
Блок–схема
Листинг программы
Program z3;
const
n = 11;
var
as: array [1..2, 1..n] of real;
i: integer;
begin
WriteLn('Ввод размеров');
for i := 1 to n do
begin
Write('Треугольник ', i, ' a =');
ReadLn(as[1, i]);
as[2, i] := Sqrt(3) / 4 * as[1, i] * as[1, i];
end;
{вывод таблицы}
WriteLn('-------------------------');
WriteLn('| Сторона a | Площадь s |');
WriteLn('-------------------------');
for i := 1 to n do
WriteLn('|', as[1, i]:11:1, '|', as[2, i]:11:2, '|');
WriteLn('-------------------------');
ReadLn;
end.
Результат работы программы