Методические указания к практическим занятиям по дисциплине «Основы начального курса информатики»


Методические указания к практическим занятиям по дисциплине

«Основы начального курса информатики с элементами

программирование »

 

Тема 1. системы счисления

Позиционные системы счисления. Двоичная и восьмеричная системы счисления.

Перевод чисел в различные системы счисления.

Арифметические операции в двоичной и восьмеричной системах счисления

 

теоретическая часть

Системой счисления называется совокупность правил и знаков, с помощью которых можно отобразить (кодировать) любое неотрицательное число.К системам счисления предъявляются определенные требования, среди которых наиболее важными являются требования однозначного кодирования неотрицательных чисел 0, 1, … с некоторой их конечного множества — диапазона Р по конечное число шагов и возможности выполнения по цифр арифметических и логических операций. Различают следующие типы систем счисления: позиционные; смешанные; непозиционные.

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

Например, если b — натуральное число, то для представления числа x в системе счисления с основанием b его представляют в виде линейной комбинации

n

степеней числа b:

x ab k, где a — целые, 0 a

b.

k k k

k 0

Основа — это количество символов, используемых при записи чисел.Пример: число «сто пять» представляется в десятичной системе счисления в виде 105 1 10 февраля 0 10 1 5 10 0

Двоичная система счисления               — это позиционная система счисления с

основой; использует для записи чисел только два символа: 0 и 1.

Восьмеричная система счисления — это позиционная система счисления с основанием 8 .Для представления чисел в ней используются цифры до 7 .

 

Перевод чисел в различные системы счисления

1. с десятичной в двоичную и восьмеричную:

90 8
2 11 8
1 1

 

 

90 (10) = 1 111 010 (2) = 1 12 (8)

 

2. с двоичной и восьмеричной в десятичную 1011101 (2) = 1 ∙ 2 6 + 0 ∙ 2 5 + 1 ∙ 2 4 + 1 ∙ 2 3 +1 ∙ 2 2 + 0 ∙ 2 1 + 1 ∙ 2 0 = 64 + 16 + 8 + 4 + 1 = 93 (10) 147 (8) = 1 ∙ 8 2+ 4 ∙ 8 1 + 7 ∙ 8 0 = 64 + 32 + 7 = 103 (10).

Таблица добавления Таблица вычитание в двоичной системе счисления

 

0 + 0 = 0

0 + 1 = 1 + 0 = 1

1 + 1 = 0

0-0 = 1-1 = 0

1-0 = 1

10-1 = 1

 

Таблица сложения в восьмеричной системе счисления

  1 2 3 4 5 6 7
1 2 3 4 5 6 7
1 1 2 3 4 5 6 7 10
2 2 3 4 5 6 7 10 11
3 3 4 5 6 7 10 11 12
4 4 5 6 7 10 11 12 13
5 5 6 7 10 11 12 13 14
6 6 7 10 11 12 13 14 15
7 7 10 11 12 13 14 15 16

Сложение и вычитание «в столбик»

 

 

 

задания

 

Перевести числа 125 (10), 199 (10), 157 (10), 112 (10), 191 (10), 182 (10) в двоичную систему счисления.

Перевести числа 1567 (10), 8723 (10), 1253 (10), 8932 (10), 6791 (10) в восьмеричную систему счисления.

Вычислить сумму и разность чисел:

7353 (8) и 5645 (8), 6477 (8) и 4656 (8), 4561 (8) и 2765 (8), 2346 (8) и 1707 (8),

7625 (8) и 4276 (8), 2721 (8) и 1773 (8), 6721 (8) и 2753 (8).

 

110101101 (2) и 111110 (2), 101 010 101 (2) и 100110 (2), 101 100 111 (2) и 100111 (2),

110101001 (2) и 110110 (2), 110 111 100 (2) и 101011 (2).

 

Тема 2. Алгоритмы.

Свойства алгоритмов. Способы описания алгоритмов.

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

 

Теоретическая часть.

Алгоритм — это точные распоряжения (указания, команды) исполнителю относительно осуществления последовательности действий, направленных на решение определенной задачи.

Свойства алгоритма — это требования, которые должен удовлетворять алгоритм:

Дискретность. Однозначность.

формальность Массовость

Конечности.

Результативность.

Способы представления алгоритмов:

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

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

Графический — представление алгоритмов в виде графических схем (блок-схем или структурных схем) для упрощения разработки и анализа алгоритмов, облегчение перехода от записи алгоритмов к написанию программ.

Программный — представление алгоритмов на языке программирования для их дальнейшей обработки на компьютере.

 

Основные элементы схем алгоритма

 

 

обозначение функция
  Начало и конец программы
  Выполнение одной или нескольких последовательных операций (изменение значения данных, формы представления, расположение)
Вычисления (проверка) условий
Для обработки (ввод) или отображения результатов

 

линейный алгоритм

Линейный алгоритм — это алгоритм, который обеспечивает получение результата путем однократного выполнения последовательности действий независимо от входных данных и промежуточных результатов.Действия в таких алгоритмах выполняются последовательно одна за другой, то есть линейно

 

 

 

 

задания

1. Даны два ненулевых числа. Найти их сумму, разность, произведение и долю.

2. Даны два числа. Найти среднее арифметическое их квадратов и среднее арифметическое их модулей.

3. Найти периметр и площадь прямоугольного треугольника, если даны длины его катетов a и b.

4. Дано длину ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба.

5. Найти длину окружности и площадь круга заданного радиуса R.

6. Найти площадь кольца, внутренний радиус которого равен R1, а внешний радиус равен R2 (R1 <R2).

7. Даны координаты трех вершин треугольника (x1, y1), (x2, y2), (x3, y3).  Найти его периметр и площадь.

8. Дано целое четырехзначное число. Используя операции div и mod, найти сумму его цифр.

Читать  МЕТОДИЧЕСКИЙ СБОРНИК индивидуальных практических заданий Turbo Pascal

9. вычислить z = sign (x) + sign (y) sig (xy).

 

Тема 3. Алгоритмы с ветвлением Теоретическая часть

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

Полное ветвление — это ветвление, в котором определены различные действия в случае выполнения и невыполнения заданного условия.

Неполное ветвление — это ветвление, в котором действия определены только в случае выполнения (или невыполнения) заданного условия.

 

задания

1. Даны три целых числа. Вычислить квадраты отрицательных чисел и кубы положительных (число 0 НЕ учитывать).

2. С двух (трех) заданных чисел выбрать наименьшее (больше всего).

3. На числовой оси расположены три точки: A, B, C. Определить, какая из двух последних точек (B или C) расположена ближе к A, и вывести эту точку и ее расстояние от точки A.

4. Для данного x вычислить значение следующей функции f, принимающей вещественные

3x-1, x <= 0,

значение: f (x) =

x 2, x> 0

5. Дано целое число, лежащее в диапазоне от -999 до 999. Вывести строку — словесное описание данного числа вида «отрицательное двузначное число», «нулевое число», «положительное однозначное число «.

 

Тема 4. Циклические алгоритмы Теоретическая часть

Структура повторения (цикла) — это структура, которая предусматривает повторение некоторой серии команд.Эта серия команд называется телом цикла,

Структура цикла реализуется в трех основных вариантах: цикл с предусловием, цикл с постусловием, цикл с параметром, который можно рассматривать и как частный случай цикла с предусловием.

Цикл с предусловием (цикл- «пока») — это цикл, в котором тело цикла выполняется только в случае выполнения условия, заданного перед телом цикла.

Цикл с предусловием реализуется следующим образом. Проверяется условие. Если она выполняется, то выполняется тело цикла. Опять проверяется условие и т. Д. Тело цикла выполняется, пока выполняется условие. Цикл завершается, когда условие перестает выполняться.

задания

1. Даны два целых числа A и B (A <B). Вывести все целые числа, расположенные между данными числами (включая сами эти числа), в порядке их возрастания, а также количество N этих чисел.

2. Дано действительное число A и целое число N (> 0). вычислить A N.

3. вычислить N!

4. Дано целое число N (> 0). Если N — нечетное, то вычислить произведение 1 • 3 • …

• N; если N — четное, то вычислить произведение 2 • 4 • …• N.

5. Дано целое число N и две точки на числовой оси: A, B (A <B). Отрезок [A, B] разбит на равные отрезки длины H с концами в N точках вида A, A + H, A 2H, A 3H, …, B. Вывести значение H и набор из N точек, образующий разбиение отрезка [A, B].

6. Дано целое число N (> 2) и две точки на числовой оси: A, B (A <B). функция F

(X) задана формулой F (x) = 1 — sin (x). Вывести значение функции F в N равноотстоящих точках, образуют разбиение отрезка [A, B]: F (A), F (A + H), F (A + 2H), …, F (B).

7. Дано число D (> 0). Последовательность чисел AN определяется следующим образом: A 1 = 2, A N = 2 + 1 / A N-1, N = 2, 3, …Найти первый номер K, для которых выполняется условие | A K — A K-1 | <D, и вывести этот номер, а также числа A K-1 и A K.

8. Дано N чисел. Вывести их среднее арифметическое.

9. Дано целое число N и набор из N вещественных чисел. Вывести сумму и произведение чисел по данному набора.

10.Дано целое число N и набор из N целых чисел. Вывести в том же порядке все четные (нечетные) числа из данного набора и количество K таких чисел.

11.Даны целые числа K, N и набор из N целых чисел. Если в наборе присутствует число, меньше K, то вывести True; в противном случае вывести False.

12.Даны набор ненулевых целых чисел, который заканчивается числом 0. Вывести количество элементов в наборе.

13.Даны набор ненулевых целых чисел, который заканчивается числом 0. Вывести сумму всех положительных четных чисел из данного набора. Если требуемые числа в наборе отсутствуют, то вывести 0.

14.Дано целое число N и набор из N целых чисел. Вывести номера тех чисел в наборе, которые меньше своего левого соседа, и количество K таких чисел.

15.Дано целое число N и набор из N целых чисел. Вывести номера тех чисел в наборе, которые больше своего правого соседа, и количество K таких чисел.

16.Найти минимальный и максимальный из данных N элементов.

17.Найти количество минимальных (максимальных) по данным N целочисленных элементов.

18.Найти номера минимальных (максимальных) по данным N элементов. 19.Найти минимальный (максимальный) парный (нечетный) по данным N

ненулевых целочисленных элементов.

20.Даны числа a, b (0 <a <b) и набор из N элементов. Найти минимальный (максимальный) из элементов, содержащихся в интервале (a, b). Если необходимые элементы отсутствуют, то вывести -1.

21.Даны набор из N целочисленных элементов. Найти количество элементов, расположенных после (перед) первого (последнего) минимального (максимального).

22.Даны набор из N целочисленных элементов. Найти максимальное количество минимальных (максимальных) элементов, расположенных рядом.

23.Вывести строку длины N (N — четное), который состоит из символов C1 и C2, что чередуются.

24.Дана последовательность символов, которая заканчивается точкой. Посчитать количество малых и больших букв латинского алфавита, которые содержит данная последовательность.

25.Дана последовательность символов, которая заканчивается точкой. Проверить можно с этих символов составить слово «зачет».

26.Дан текст, который заканчивается точкой. Проверить данный текст можно считать записью числа в восьмеричной системе счисления.

Читать  МЕТОДИЧЕСКОЕ ПОСОБИЕ Язык программирования Паскаль

Тема 5. Среда Pascal ABC. Оператор присваивания, процедуры read и write.

Простые линейные программы Теоретическая часть

Основные понятия языка Паскаль

понятие описание пример
 

алфавит языка

Буквы латинского алфавита, цифры, специальные символы, зарезервированные слова. A …Z, a … z, 0 … 9,

+ — * / = <> [] {} $

^ & #

 

 

 

идентификаторы

Имена объектов (констант, типов данных, переменных, функций, программ). Правила записи идентификаторов: все идентификаторы состоят из букв латинского алфавита, цифр, начинаются с буквы или знака, «_»; большие и малые буквы не различаются.  

А, В

begin Write Test

My_First_Program

 

 

элементы данных

Константа — ячейка памяти, значение которой в течение выполнения программы остается постоянным.  

45, Pi

Переменная — ячейка памяти, значение которой в течение выполнения программы может меняться.  

a, b, c

 

комментарий

Предназначен для внесения в текст программы объяснений. Ограничивается символами {} или (**) {Это комментарий) (* Это комментарий *)

 

Служебные слова языка Pascal

and — и

array — массив begin — начало case — выбор const — стали

div — деление нацело

do — выполнить downto — вниз к else — иначе

end — конец file — файл for — для

function — функция goto — перейти к if — если

in — в

label — отметка mod — остаток

nil — ноль not — нет of — с

or — или

packed — сжатый procedure — роцедура program — программа record — запись

repeat — повторять set — множество then — то

to — к type — тип

until — пока var — переменные

while — пока и другие.

Стандартные типы данных

Тип данных позна- ния описание объем памяти примеры
 

 

Цило- численный тип

Byte Целые числа в интервале [0; 255] 1 байт 0, 5, 245
Shortint -128..127 1 байт 5, 26, 96
Word 0..65535 2 байта 0, 36, 6545
Integer Целые числа в интервале [-32767; 32767] 2 байта 457, -568, —

7 0

longint -2147483648..2147483647 4 байта -2356,

988456

 

 

 

действительный тип

Single 1.5 · 10-45-3.4 · 1038 4 байта 236,36;

6954,369

 

 

Real

Значение с плавоючою точкой, содержит мантиссу (до 11 значащих цифр) и экспоненту — степень числа 10 (от 10 -39 до 10 38)  

 

6 байтов

 

0.4, -1.8,

0.172 + 3,

37е-4

Extended 3.4 · 10 -4951 -1.1 · Октябрь 4932 10 байт 0.4, -1.8,

0.172 + 3,

Символь- ный тип данных  

Char

Символьные константы содержат один символ ограничено апострофами  

1 байт

 

А ‘,’ есть ‘, Y,’ 2 ‘

 

Строчный тип данных

 

 

String

 

Строка символов длиной не более 255

Зале- жить от длины ни  
Логический тип  

Boolean

Константы логического типа имеют два возможных значения: True (истинное) и False (ложно)  

1 байт

5 <3 — True

5 + 8> 14-

False

 

Операции над стандартными типами данных

Операции над целыми числами:

операция обозначение пример
Добавление + Х + У
вычитание Х-У
умножения * Х * В
Целочисленное деление с определением целой части div X div В

Целочисленное деление с определением дробной части mod X mod В
равенство = Х = В
НЕ равенство <> Х <> В
Меньше (сравнение) < Х <В
Меньше или равно (сравнение) <= Х <= В
Больше (сравнения) > Х> В
Больше или равно (сравнения) > = Х> = В

 

Операции над действительными числами:

операция обозначение пример
Добавление + Х + У
вычитание Х-У
умножения * Х * В
равенство = Х = В
НЕ равенство <> Х <> В
Меньше (сравнение) < Х <В
Меньше или равно (сравнение) <= Х <= В
Больше (сравнения) > Х> В
Больше или равно (сравнения) > = Х> = В

 

 

функция Тип аргумента Тип результата Математическая запись, комментарий
abs (x) integer, real integer, real | X |
arctan (x) integer, real real arctg x
cos (x) integer, real real cosx
sin (x) integer, real real sinx
exp (x) integer, real real e x
ln (x) integer, real real lnx
sqrt (x) integer, real real
sqr (x) integer, real integer, real x 2
ord (x) упорядоченный integer ASCII-код символа
succ (x) упорядоченный упорядоченный возвращает следующее значение x
pred (x) упорядоченный упорядоченный возвращает предыдущее значение x
round (x) real integer округляет число х до целого
trunc (x) real integer отвергает дробную часть числа х
int (x) real real отвергает целую часть числа х
frac (x) real real дробная часть числа х
odd (x) integer boolean true (x — нечетное), false (x — четное)

random (x) integer integer Генерирует случайное число с диа- пазону от 0 до x
upcase (x) char char заменяет строчную букву латинского алфавита на большую
процедуры:
inc (x, y) integer integer увеличивает x на y
inc (x) integer, char integer, char увеличивает x на 1
dec (x, y) integer integer уменьшает x на y
dec (x) integer, char integer, char уменьшает x на 1

 

некоторые операторы

оператор Общий вид описание примеры
 

=

присваивании я

 

 

Идентификатор = выражение

Присваивает переменной конкретное значение, заполняя ячейку памяти, отведенную для переменной, новым значением, видночас знищу- кая старое  

А = 2

X = В + 2 — Z

Name = «Ира»

 

 

Read Ввод данных с клавиатуры

Read (a 1, a 2, …, а n),

где а 1, а 2, …, а n — переменные указанных типов, которым присваиваются значения, вводимые

Программа останавливается и ожидает ввода необходимого количества данных. Числа при вводе разделяются пробелами или нажатием клавиши <Enter>.

Введение заканчивается нажатием клавиши <Enter>

 

 

Read (Name) Read (А, В, В, Z)

Readln После ввода значений а 1, а 2, …, а n курсор переводится на следующую строку
 

Write Вывод (запись) данных на монитор

Write (a 1, a 2, …, а n),

где а 1, а 2, …, а n — константы или переменные указанных типов

Вывод указанных данных (чисел, переменных, текста, ограничено апострофами) выполняется с позиции курсора Write ( ‘Ответ’, 2) Ответ 2 Write ( ‘Привет, »

, Name, ‘!’) Привет, Федор!

Writeln После вывода значений а 1, а 2, …, а n курсор переводится на следующую строку

 

Задача по теме 2.

Тема 6. Логические выражения. Условный оператор. Оператор выбора Теоретическая часть

В общем случае полная форма конструкции условного оператора имеет вид:

если <логическое выражение> тогда

<Оператор 1>

иначе

<Оператор 2>

if <логическое выражение> then

<Оператор 1>

else

<Оператор 2>

Неполная форма условного оператора имеет следующий вид.

если <логическое выражение> тогда

<Оператор>

if <логическое выражение> then

<Оператор 1>

Иногда может потребоваться выполнение последовательности операторов. В этом случае эта последовательность укладывается в блок begin end;

Перед служебным словом else разделитель (;) не ставится.

логические операции

not возражения
and и
or или

Задание 1.Вывести на экран большее из двух данных чисел. var х, у: integer;

begin

WriteLn ( ‘Введите 2 числа’); {Вводим два целых числа через пробел} ReadLn (x, y);

If x> в then

WriteLn (x) {если х больше у, то выводим х} else

WriteLn (в) {Иначе выводим в} ReadLn;

end.

Задача 2. Составить программу, которая, если введено число отрицательное, меняет его на противоположное.

var х: real; begin

WriteLn ( ‘Введите число’); {Вводим целое число} ReadLn (х)

if х <0 then х = — х; WriteLn (х)

ReadLn; end.

 

Задача по теме 3.

Тема 7-9. Цикл for.

Циклы с предусловием и постусловием.

Вложенные циклы. обработка исключений

теоретическая часть

Конструкция цикла for:

for переменная = начало to конец do действие (если начало <конец)

for переменная = начало downto конец do действие (если начало> конец) Конструкция цикла предпосылкой:

Конструкция цикла постусловием:

Задание 1. Дано n целых чисел. Вычислить их сумму. var х, n, i, S: integer;

begin

writeln ( ‘Введите n’); readln (n);

for i: = 1 to n do begin

readln (x); S = S + x;

end;

writeLn (s) {выводим сумму} readLn;

end.

 

var х, n, i, S: integer; begin

writeln ( ‘Введите n’); readln (n);

i: = 1;

while (i <= n) do begin

readln (x); S = S + x; i = i + 1;

end; writeln (s) readln;

end.

Задача по теме 4.

var х, n, i, S: integer; begin

writeln ( ‘Введите n’); readln (n);

i: = 1;

repeat

readln (x); S = S + x; i = i + 1;

until (i> n): writeln (s) readln;

end.

Тема 10. Одномерные массивы Теоретическая часть

Одномерные массивы описываются следующим образом: var mas = array [1..10] of integer;

 

Ввод и вывод массивов writeln ( ‘Введите элементы массива’); for i: = 1 to n do

readln (mas [i]);

 

writeln ( ‘Массив mas:’); for i: = 1 to n do

writeln (mas [i]);

 

Задания. Для каждого элемента массива прибавить число 7. const k = 7; n = 10;

var mas = array [1..n] of integer; i: integer;

begin

writeln ( ‘Введите элементы массива’); for i: = 1 to n do

readln (mas [i]);

 

for i: = 1 to n do mas [i]: = mas [i] + k;

 

writeln ( ‘Массив mas:’); for i: = 1 to n do

writeln (mas [i]); end.

задания

1. Дан массив размера N. Вывести его элементы в обратном порядке.

2. Дан массив размера N. Вывести вначале его элементы с четными (нечетными) номерами, а затем — с нечетными (парными).

3. Дано целочисленный массив A размера N. Вывести номера тех его элементов A [i], удовлетворяющих двойное неравенство: A [1] <A [i] <A [10].

4. Дано целочисленный массив размера N. Преобразовать его, добавив к парных (нечетных) элементов первый (последний).

5. Поменять местами минимальный и максимальный элементы массива.

6. Дан массив размера N. Осуществить циклический сдвиг элементов массива влево (вправо) на одну позицию.

7. Дан массив размера N и число k (0 <k <5, k <N). Осуществить циклический сдвиг элементов массива влево (вправо) на k позиций.

8. Проверить, образуют элементы целочисленного массива размера N арифметическую (геометрическую) прогрессию.

9. Дан массив размера N. Определить количество участков, на которых его элементы монотонно растут (приходят).

10.Упорядочить массив размера N по возрастанию (убыванию).

 

Тема 11. Двумерные массивы Теоретическая часть

Одномерные массивы описываются следующим образом: var mas = array [1..10, 1..5] of integer;

Ввод и вывод двумерных массивов

writeln ( ‘Введите элементы массива’); for i: = 1 to n do

for j = 1 to m do readln (mas [i, j]);

 

writeln ( ‘Массив mas:’); for i: = 1 to n do

begin

for j = 1 to m do write (mas [i, j], »);

writeln; end

 

Задания. Для каждой строки двумерного массива вычислить сумму его элементов.

const n = 10; m = 5

var mas = array [1..n, 1..m] of integer; i, j, s: integer;

begin

writeln ( ‘Введите элементы массива’); for i: = 1 to n do

for j = 1 to m do readln (mas [i, j]);

for i: = 1 to n do begin

s: = 0;

for j = 1 to m do s = s + mas [i, j];

writeln ( ‘Сумма элементов «, i,’ -й строки = ‘, s); end

end.

 

1. Дано число k (0 <k <N) и матрица размера N × M. Найти сумму и произведение элементов k-й строки данной матрицы.

2. Дано матрицу размера N × M. Найти суммы элементов всех ее четных (нечетных) строк (столбцов).

3. Дано матрицу размера N × M. Найти минимальное (максимальное) значение в каждой строке (столбце) .

4. Дано матрицу размера N × M. Превратить матрицу, поменяв местами минимальный и максимальный элемент в каждой ленте (столбцы).

5. Дано матрицу размера N × M. Найти минимальний1 (максимальный) среди максимальных (минимальных) элементов каждой ленты (столбца).

6. Дано квадратную матрицу порядка N. Найти сумму элементов ее главной (побочного) диагонали.

7. Дано квадратную матрицу порядка M. Найти суммы элементов ее диагоналей, параллельных главной (побочной).

8. Дано квадратную матрицу порядка M. Зеркально отразить ее элементы относительно горизонтальной (вертикальной) оси симметрии матрицы.

9. Дано квадратную матрицу порядка M. Зеркально отразить ее элементы относительно побочной диагонали матрицы.

10.Даны два числа k1 и k2 и матрица размера N × M. Поменять местами ленты (столбцы) матрицы с номерами k1 и k2.

 

 

 

Объявления функции:

Тема 12. Процедуры и функции Теоретическая часть

Function <имя> [(формальные параметры)] <тип результата>; [<Разделы описаний>;]

begin

<Раздел операторов> end;

Формат вызова:

Y = <идентификатор функции> [(фактические параметры)];

Объявления процедуры:

Procedure <имя> [(формальные параметры)]; [<Разделы описаний>;]

Begin

<Разделы операторов> end;

Формат вызова:

<Идентификатор> [(фактические параметры)];

1. Описать функцию Min2 (A, B) (Max2 (A, B)) вещественного типа, которая находит минимальное (максимальное) из двух действительных чисел A и B. С помощью этой функции найти минимальное (максимальное) из пар чисел A и B, A и C, A и D, если даны числа A, B, C, D.

2. Описать процедуру Minmax (A, B), записывающий в переменную A минимальное из значений A и B, а в переменную B — максимальное из этих значений (A и B — настоящие параметры, являющиеся одновременно входными и выходными). Найти минимальное и максимальное из чисел A, B, C, D.

3. Описать функцию Fact (N) целого типа, которая вычисляет значение факториала N! = 1 • 2 • … • N (N> 0 — параметр целого типа). Вычислить факториалы 10 заданных чисел.

4. Описать Нерекурсивные функцию Fib (N) целого типа, которая вычисляет N-е число Фибоначчи F (N) по формуле: F (1) = F (2) = 1, F (k) = F (k-2) + F ( k — 1), k = 3, 4, …. Вычислить 10 чисел Фибоначчи с указанными номерами.

5. Описать функцию Exp1 (x, eps) вещественного типа (параметры x, eps — настоящие, eps> 0), находит приближенное значение функции exp (x): exp (x) = 1 + x + x2

/ 2! + X3 / 3! + … + Xn / n! + …. В сумме учитывать все слагаемые, большие по eps. Найти приближенное значение экспоненты для данного x и eps.

6. Описать функцию Ln1 (x, n) вещественного типа (параметры x, eps — настоящие, x <1, eps> 0), которая находит приближенное значение функции ln (1 + x):

ln (1 + x) = x — x 2/2 + x 3/3 — … + (-1) n x n / n + …

В сумме учитывать все слагаемые, большие по модулю за eps. Найти приближенное значение ln (1 + x) для данного x и eps.

7. Описать процедуру Invert (A, N), которая меняет порядок следования элементов массива A из N действительных чисел на противоположный ( «инвертирование массива»). Массив A — входной и выходной параметр, N — входной параметр. Инвертировать массивы A, B, C размера NA, NB, NC соответственно.

8. Описать процедуру Smooth (A, N), которая заменяет каждый элемент массива A размера N на его среднее арифметическое со своими соседями ( «сглаживания массива»). Массив A — входной и выходной параметр, N — входной параметр. Выполнить пятикратное сглаживание данного массива A размера N, выводя на экран результаты каждого сглаживания.

9. Описать рекурсивные функции Fact (N) вещественного типа, что вычисляют значение факториала N! (N> 0 — параметр целого типа). Вычислить факториалы пяти заданных чисел.

10.Описать рекурсивную функцию PowerN (x, n) вещественного типа, находящую значение n-й степени числа x по формуле: x 0 = 1, x n = x • x n-1 при n> 0, x n

= 1 / x -n при n <0 (x> = 0 — действительное число, n — целое).Вычислить значения заданного полинома.

 

Тема 13. Работа с символами и лентами. Работа с файлами

теоретическая часть

Функции и процедуры для работы с лентами

1.Функция Concat. Функция Concat осуществляет объединение строк Rl; R2, R3 в одну строку в таком порядке, в котором они записаны.

Формат Concat (Rl, R2, R3) или R1 + R2 + R3 (string)

Const Rl = ‘ЯЗЫК’; R2 = ‘программирования’; R3 = ‘Turbo Pascal’; Var R: string [35];

begin R = concat (Rl, R2, R3) writeln (R)

end.

 

2. Функция Length.Функция Length выдает фактическую длину строки, содержащейся в данной переменной. При подсчете длины строки учитываются все символы, в том числе и промежутки !!!

Формат: Length (R) (integer) Program Flength;

Const R = ‘Turbo Pascal’; Var N: integer;

begin N = length (R) writeln ( ‘n =’, N); end.

 

3. Функция Copy.Функция Copy копирует фрагмент длиной N строки R, начиная с позиции Poz.

Формат Copy (R, Poz, N); (String) Program Fcopy;

const R = ‘Turbo Pascal’; var R1: string [6];

begin R1 = Copy (R, 7, 6);

writeln (R1) end.

 

4. Функция Pos.Функция Pos находит номер позиции Р, с которой начинается первое вхождение слова C в строке R. Если слово C в строке R не найден, то будет напечатано число 0.

Формат Pos (C, R); (Integer)

Program Fpos;

Const R = ‘информатика’; C = ‘форма’; Var P: integer;

begin P = Pos (C, R);

writeln ( ‘P =’, P) end.

 

5. Процедура Insert.Процедура Insert вставляет слово R1 в строку R, начиная с позиции Poz.

Формат Insert (R1, R, Poz) (string) Program PInsert;

Var Poz: integer; R, R1: string [35]; begin

R = ‘ЯЗЫК Pascal’; R1 = ‘Turbo’;

insert (R1, R, 6); writeln (R)

end.

 

6. Процедура Delete.Процедура Delete уничтожает слово, которое начинается с указанной позиции Poz и имеет заданную длину N в строке R.

Формат Delete (R, Poz, N); (string) Program PDelete;

Var R: string [35]; begin

R = ‘ЯЗЫК Turbo Pascal’; delete (R, 6, 6); writeln (R)

end.

 

практическая часть

1. Дано ленту. Вывести первые k символов ленты (k меньше, чем длина ленты).

2. Дано ленту. Вывести коды ее первого и последнего символов.

3. Дано ленту. Вывести ленту, содержащую те же символы, но расположенные в обратном порядке.

4. Дано ленту, изображающая целое число. Вывести сумму цифр этого числа.

5. Дано ленту. Посчитать количество вхождений слова «лето» в данную ленту и заменить его на слово «зима».

6. Дано ленту. Напечатать ее, удалив из нее лишние пропуски.

7. Даны два числа: N1 и N2, и две ленты: S1 и S2. Получить из этих лент новую, объединив N1 первых символов ленты S1 и N2 последних символов ленты S2.

8. Дано ленты: S1 и S2. Проверить, содержится лента S2 в ленте S1. Если да, то вывести номер позиции, начиная с которой S2 содержится в S1.

9. Даны две ленты: S1 и S2. Определить количество вхождений ленты S2 в ленту S1.

10.Дано ленту S и символ C. Удвоить каждое вхождение символа C в ленту S.

11.Даны предложения на английском языке и число k (0 <k <10). Зашифровать строку, выполнив циклическую замену каждой буквы на букву того же регистра, расположенную в алфавите на k-й позиции после буквы, шифруется. Знаки препинания и пробелы не изменять.

 

Тема 14. Работа с файлами. Модули и их применение Теоретическая часть

Объявления файловых переменных var f1, f2: text;

Процедуры и функции для работы с файлами:

assign (f, ‘имя_файла’) — устанавливает связь между файловой переменной и файлом

reset (f) — открыть файл для чтения;

rewrite (f) — создать или перезаписать файл;

append (f) — создать или открыть и дописать в конец файла;

close (f) — сохранить и закрыть файл $

readln (f, a, b) — читать из файла f две переменные a и b;

writeln (f, a, b) — записать в файл f переменные a и b, а затем записать туда же символ «конец строки».

 

задания

1. Даны два файла целых чисел одного размера с именами Name1 и Name2. Создать текстовый файл с именем NameT, содержащий изображение этих цифр, расположенных в два столбца: первый содержит числа из файла Name1, второй — из файла Name2.

2. Даны действительные числа A, B и целое число N. Создать текстовый файл, содержащий таблицу значений функции f (x) = sin (x) на промежутке [A, B] с шагом (BA) / N. Таблица состоит из двух столбцов: с аргументами x и со значениями f (x).

Список литературы Базовая

1. Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль.

— М .: Наука, 1988.

2. Вирт Н. Алгоритмы + структуры данных = программы. — М .: Мир, 1985.

3. Вьюнова Н.И., Галатенко В.А., Ходулев А.Б. Систематический подход к программированию. — М .: Наука, 1988.

4. Дудзяный И. М. Программирование на языке Object Pascal. — Львов: ЛНУ имени Ивана Франко, 2004

5. Злобин Г. Руководство пользователя ПК. Учеб. пособие — Львов, СПОЛОМ, 2003 — 272 с.

6. Злобин Г., Рикалюк Р.Е. Архитектура и аппаратное обеспечение IBM- подобных ПЭВМ. Учеб. пособие — М .: Каравелла, 2005 — 304 с.

7. Ковалюк Т.В. Основы программирования. — М .: Издательская группа BHV, 2005. — 384с.

 

Вспомогательная

1. Довгаль С.И., Литвинов Б.Ю., Сбитнева А.И. Персональные ЭВМ: Турбо Паскаль V6.0. Объектное программирование. Локальные сети. — М .: Информсистема сервис, 1993.

2. Зуев Е.А. Язык программирования Turbo Pascal 6.0. — М .: Унитех, 1992.

3. Костов О. В., Ярошко С. А. Методы разработки алгоритмов: Тексты лекций. — Львов: ЛНУ имени Ивана Франко, 2002.

4. Корниенко М. М. Информатика. Основы алгоритмизации и программирования: Теоретические основы, примеры и задания, практические работы / М. М. Корниенко, И. Д. Иванова—, 2009. 48 с.

 

задачники

1. Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн М.И. Задачи по программированию. — М .: Наука, 1988.

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

 

[Всего голосов: 4    Средний: 5/5]