
- •Экзаменационный вопрос №1 базовые понятия алгоритмизации
- •Экзаменационный вопрос №2 средства изображения алгоритмов
- •Экзаменационный вопрос № 3 базовые канонические структуры алгоритмов
- •Экзаменационный вопрос № 16. Общая характеристика языка программирования паскаль
- •Экзаменационный вопрос № 17. Программирование ввода-вывода данных различного типа
- •Экзаменационный вопрос № 18. Программирование линейных вычислительных процессов
- •Экзаменационный вопрос № 19. Программирование разветвляющихся вычислительных процессов с использованием if -then –else
- •Экзаменационный вопрос № 20. Программирование разветвляющихся вычислительных процессов с использованием оператора case
- •Экзаменационный вопрос № 21.
- •Экзаменационный вопрос № 22. Программа вычисления корней квадратного уравнения
- •Экзаменационный вопрос № 23. Программирование разветвляющихся структур с использованием в цикле операторов repeat – until
- •Экзаменационный вопрос № 24. Программа вычисления суммы бесконечного ряда
- •Экзаменационный вопрос № 25. Программирование циклических вычислительных структур
- •Экзаменационный вопрос № 26. Программирование с использованием цикла с параметрами
- •Экзаменационный вопрос № 27. Программирование циклов с постусловием
- •Экзаменационный вопрос № 28. Программирование с использованием подпрограмм
- •Экзаменационный вопрос № 29. Алгоритмы нахождения корней уравнений
- •Экзаменационный вопрос № 30. Алгоритмы численного интегрирования
- •Экзаменационный вопрос № 31. Программа вычисления определенного интеграла методом прямоугольников
- •Экзаменационный вопрос № 32. Программа вычисления определенного интеграла методом трапеций
- •Экзаменационный вопрос № 33. Программа вычисления определенного интеграла методом симпсона
- •Экзаменационный вопрос № 34. Программа вычисления корней алгебраического уравнения методом половинного деления
- •Экзаменационный вопрос № 35. Программа вычисления корней алгебраического уравнения методом ньютона
- •Экзаменационный вопрос № 36. Программа вычисления корней алгебраического уравнения методом хорд
- •Экзаменационный вопрос № 37. Программирование операций в одномерных массивах
- •Экзаменационный вопрос № 38. Программирование операций в двумерных массивах (На примере задания 1)
- •Экзаменационный вопрос № 39. Программирование операций в двумерных массивах (На примере задания 2)
- •Экзаменационный вопрос № 40. Построение графических изображений
- •Экзаменационный вопрос № 41. Программа для построения объекта с циклическим изменением цвета
- •Экзаменационный вопрос № 42. Программа для построения динамического объекта
Экзаменационный вопрос № 16. Общая характеристика языка программирования паскаль
Язык Паскаль был разработан Никласом Виртом первоначально для целей обучения программированию.
В настоящее время он получил широкое распространение по ряду объективных причин.
Во-первых, по своей идеологии Паскаль наиболее близок к современной методике и технологии программирования. В частности, он достаточно полно отражает идеи структурного программирования, что довольно хорошо видно даже из основных управляющих структур языка.
Во-вторых, Паскаль хорошо приспособлен для применения технологии разработки программ сверху-вниз (пошаговой детализации).
В-третьих, Паскаль содержит большое разнообразие различных структур данных, что обеспечивает простоту алгоритмов, а следовательно снижение трудоемкости при разработке программ.
Основные отличия алгоритмических языков от машинных языков:
- алгоритмический язык обладает гораздо большими выразительными возможностями, т.е. его алфавит значительно шире алфавита машинного языка, что существенно повышает наглядность текста программы;
- набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса;
-формат предложений достаточно гибок и удобен для использования, что позволяет с помощью одного предложения задать достаточно содержательный этап обработки данных;
- требуемые операции задаются в удобном для человека виде, например, с помощью общепринятых математических обозначений;
- для задания операндов операций, используемым в алгоритме данным присваиваются уникальные имена, выбираемые программистом, и ссылка на операнды производится, в основном, по именам;
- в языке может быть предусмотрен значительно более широкий набор типов данных по сравнению с набором машинных типов данных.
Экзаменационный вопрос № 17. Программирование ввода-вывода данных различного типа
Используемые в программах данные могут быть постоянными (константами) или переменными. Перед применением их необходимо описать, т. е. указать имена и типы. Именем может выступать любая последовательность латинских букв и цифр. Типы бывают стандартные или специально определенные пользователем. Перечислим некоторые стандартные типы:
INTEGER — целочисленные данные; REAL — вещественные данные; CHAR — символьные данные; BOOLEAN — логические данные.
Описание переменных и констант происходит в блоках описаний. Для переменных такой блок начинается со слова VAR, для констант — CONST. Непосредственно описание переменной производится следующим образом: фиксируется ее имя, ставится двоеточие и указывается тип, к которому она принадлежит. Если несколько переменных относятся к одному и тому же типу, то их можно описать в одной строке через запятую.
П р и м е р
VAR
d: BOOLEAN; {переменная d является логической}
a, kk, b7: REAL; {переменные a, kk, b7 являются вещественными}
Тип константы определяется способом записи ее значения. Для ввода данных можно применять два способа. Первый предусматривает использование операции присваивания в блоке описания констант. П р и м е р:
CONST {блок описания констант}
X = 45.246;
Y = 87.5724
Во втором случае ввод данных осуществляется с помощью процедуры READ(F), где F — список, который может состоять из одной или нескольких переменных. Их имена разделяются запятыми. П р и м е р:
READ(J); {ввод переменной J}
READ(I,MM,C); {ввод переменных I, MM, C}
Процедура WRITE(А,В,С) производит вывод значений переменных А, В, С в заданном формате по следующей схеме.
1. Записывается имя выводимой величины.
2. Ставится двоеточие. Указывается число, соответствующее общему количеству позиций на экране (включая знак «минус» и десятичную точку), отводимых для размещения выводимого значения. Если позиций отведено больше, чем необходимо, то слева добавляется определенное число пробелов; если позиций меньше или совсем не отведено, — несмотря на второй параметр, выводимая величина займет столько позиций, сколько нужно.
При выводе вещественных значений после общего количества позиций ставится двоеточие и указывается число знаков после десятичной точки. Если этот параметр отсутствует, то данное значение выводится в форме с плавающей точкой. При необходимости программы могут сопровождаться комментариями, в качестве которых используется любой набор символов в фигурных скобках. П р и м е р:
Пусть K = 135, N = 4, X = 72,83, B = TRUE, C = 'A'. Тогда оператор
WRITE (K + K : N, X : 12, X : 6 : 1, '_A=', C, '_', B)
выводит на экран следующие значения:
_270_ _7.2830 E + 01_ _72.8_A = A_TRUE
Процедуры READLN и WRITELN аналогичны по действию READ и WRITE, но с одним отличием: после их выполнения курсор переводится в начало следующей строки.
Для просмотра результатов работы программы можно воспользоваться процедурой задержки экрана: READLN.
Задание. Используя нижеприведённую таблицу, разработать и отладить программу для организации ввода и вывода данных определенных типов. Сделать в ней соответствующие заголовки.
Исходные данные:
Целые числа |
Вещественные числа |
Кол-во символов
|
Значение логической константы |
|||
Кол-во чисел |
Формат чисел |
Кол-во чисел |
Общее кол-во знаков |
Кол-во знаков после точки |
||
3 |
4 |
1 |
5 |
2 |
2 |
TRUE |
В примере исходные данные задаются следующим образом:
Целые числа А1= 1111; А2= 2222; А3= 3333;
Вещественные (дробные) числа В1=11.11
Символьные С1; С2
Логическое D= TRUE
Код программы.
PROGRAM primer1; {заголовок программы}
USES
CRT;
CONST {блок описания констант}
d=TRUE; {константа d имеет значение «истина»}
VAR {блок описания переменных}
a1,a2,a3 : INTEGER; {переменные a1, a2, a3 — целочисленные}
b : REAL; {переменная b — вещественная}
c1,c2 : CHAR; {переменные c1, c2 — символьные}
BEGIN {начало тела программы}
ClrScr;
WRITELN; {блок ввода данных}
WRITELN('Введите значения целочисленных переменных a1, a2, a3: ');
READLN(a1,a2,a3);
WRITELN('Введите значение вещественной переменной b: ');
READLN(b);
WRITELN('Введите значения символьных переменных c1, c2: ');
READLN(c1,c2);
{блок вывода данных}
WRITELN('Значения целочисленных переменных: ');
WRITELN('a1 = ',a1:4,', a2 = ',a2:4,', a3 = ',a3:4);
WRITELN('Значение вещественной переменной: ');
WRITELN('b = ',b:5:2);
WRITELN('Значения символьных переменных: ');
WRITELN('c1 = ',c1,', c2 = ',c2);
WRITELN('Значение логической константы: ');
WRITELN('d = ',d)
READLN; {задержка экрана}
END.