ЕЙСКИЙ МОРСКОЙ РЫБОПРОМЫШЛЕННЫЙ ТЕХНИКУМ
(ФИЛИАЛ) ФЕДЕРАЛЬНОГО ГОСУДАРСТВЕННОГО БЮДЖЕТНОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«АСТРАХАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ»
МЕТОДИЧЕСКАЯ РАЗРАБОТКА РАБОЧЕЙ ТЕТРАДИ
по учебной дисциплине
Основы алгоритмизации и программирования на
современных языках
Тема: «Рабочая тетрадь «Основы алгоритмизации и
программирования на современных языках»»
для
студентов специальности
09.02.01
(230113) Компьютерные системы и комплексы
|
разработал:
Преподаватель
спец.дисциплин
ЕМРТ ФГБОУ ВПО
«АГТУ»
Алексеева Марина
Владимировна
|
2014
Содержание
Введение
1. Основные понятия в
языке Turbo Pascal 7.0…………………………………….
|
3
5
|
2. Стандартные типы данных и выражения..……………………………………...
|
13
|
2.1 Задания…………………………………………………………………….……..
|
13
|
2.2 Самостоятельная
работа………………………………………………….……..
|
16
|
2.3 Вариант 1……………………………………………….………………………..
|
16
|
2.4 Вариант 2……………………………………………….………………………...
|
16
|
3. Линейные структуры ……………………………………………………………..
|
17
|
3.1 Задания…………………………………………………………………………...
|
17
|
3.2 Самостоятельная работа
………………………………………………………..
|
20
|
3.3 Вариант 1 ………………………………………………………………………...
|
20
|
3.4 Вариант 2 ………………………………………………………………………...
|
21
|
4.
Разветвляющиеся
структуры……………………………………………………
|
21
|
4.1 Задания……………………………………………………………………………
|
21
|
4.2 Самостоятельная работа
………………………………………………………..
|
25
|
4.3 Вариант 1 ………………………………………………………………………...
|
25
|
4.4 Вариант 2 ………………………………………………………………………...
|
26
|
5.
Циклические
структуры…………………………………………………………
|
26
|
5.1 Задания……………………………………………………………………………
|
26
|
5.2 Самостоятельная работа
………………………………………………………..
|
32
|
5.3 Вариант 1 ………………………………………………………………………...
|
33
|
5.4 Вариант 2 ………………………………………………………………………...
|
33
|
6.
Подпрограммы. Процедуры и
функции.…………………………………… …
|
33
|
6.1 Задания……………………………………………………………………………
|
33
|
6.2 Самостоятельная работа ………………………………………………………..
|
35
|
6.3 Вариант 1 ………………………………………………………………………...
|
35
|
6.4 Вариант 2 ………………………………………………………………………...
|
36
|
7.
Массивы
одномерные……………………………………………………………
|
36
|
7.1 Задания……………………………………………………………………………
|
36
|
7.2 Самостоятельная работа ………………………………………………………..
|
38
|
7.3 Вариант 1 ………………………………………………………………………...
|
38
|
7.4 Вариант 2 ………………………………………………………………………...
|
39
|
8.
Массивы двумерные
…………………………………………………………….
|
39
|
8.1 Задания……………………………………………………………………………
|
39
|
8.2 Самостоятельная работа ………………………………………………………..
|
43
|
8.3 Вариант 1 ………………………………………………………………………...
|
43
|
8.4 Вариант 2 ………………………………………………………………………...
|
44
|
Список использованных
источников………………………………………………
|
45
|
ВВЕДЕНИЕ
Методическое пособие «Рабочая
тетрадь» предназначено для студентов ЕМРТ ФГБОУ ВПО «АГТУ». Цель пособия –
систематизировать контроль знаний обучающихся по темам учебного плана дисциплины
«Основы алгоритмизации и программирования на современных языках», а также
упорядочить самостоятельную работу студентов и способствовать более глубокому
усвоению учебного материала.
Предложенное пособие содержит 7
тем по основным разделам дисциплины: «Знакомства с системой программирования
Turbo Pascal», «Основные понятия языка программирования Turbo Pascal», «Типы
данных», «Основные алгоритмические конструкции и их реализация на языке Turbo
Pascal», «Сложные типы данных», « Массивы», « Алгоритм, его свойства,
представления и способы описания», «Основные алгоритмические структуры».
Объем заданий в рабочей тетради варьируется
в пределах от 1 до 15, самостоятельная работа разделена на 2 варианта с
заданиями от 1 до 15. Задания разного уровня сложности включают в себя
теоретические вопросы и практические задачи. Внимание уделяется и правильным
обозначениям, и точности формулировок определений, и навыкам решения стандартных
задач. Большое внимание уделяется алгоритмическим структурам и типам данных;
часть заданий имеет ярко выраженный прикладной характер.
Студент, приступающий к выполнению
заданий для самостоятельного выполнения, должен предварительно проработать
необходимый теоретический и практический материал. При поиске ответов он не
связан временными рамками. На какие-то задания можно ответить быстро, а над
какими-то вопросами надо подумать, даже может что-то решить в тетради.
Рабочая тетрадь удобны тем, что выполнивший
задания, поняв, что знаний его недостаточно, может доучить какие-то вопросы и
повторно проверить уровень своей подготовки. Таким образом, у студентов
формируется стимул к более внимательному изучению предмета.
В результате выполнения
заданий в рабочей тетради студент должен овладевать общими компетенциями,
включающими в себя способность:
ОК 2.
Организовывать собственную деятельность, выбирать типовые методы и способы
выполнения профессиональных задач, оценивать их эффективность и качество.
ОК 3. Принимать
решения в стандартных и нестандартных ситуациях и нести за них ответственность.
ОК 4. Осуществлять
поиск и использование информации, необходимой для эффективного выполнения профессиональных
задач, профессионального и личностного развития.
ОК 5. Использовать
информационно-коммуникационные технологии в профессиональной деятельности.
ОК 7. Брать на
себя ответственность за работу членов команды (подчиненных), результат
выполнения заданий.
ОК 8.
Самостоятельно определять задачи профессионального и личностного развития,
заниматься самообразованием, осознанно планировать повышение квалификации.
1 Основные
понятия в языке TURBO PASCAL 7.0
В курсе «Системы управления базами
данных» метод проектов используется на завершающем этапе изучения дисциплины.
Студентам специальности 09.02.01 Компьютерные системы
и комплексы после изучения теоретических основ и приобретения практических
навыков по проектированию и разработке баз данных предлагается создать
информационную систему, имеющую практическое применение. Разработка и защита
проекта проводится на четырех практических занятиях и в ходе самостоятельной
внеаудиторной работы. На последнем из практических занятий проводится защита
проекта. Получение оценки за проект является необходимым условием допуска
студентов к дифференцированному зачету по дисциплине.
Алфавит языка – это совокупность допустимых в
языке символов (или групп символов, рассматриваемых как единое целое).
В языке Turbo Pascal все компоненты формируются из
множества символов стандарта ASCII.
Элементы алфавита
можно условно разбить на четыре группы:
·
Буквы: A,B,C,...,Z, a,b,c,...z;
·
Цифры: 0,1,2,…,9
и шестнадцатиричные цифры: 0,1,2,..,A,B,C,D,E,F;
·
Специальные
символы: +, -, *, /, =, <, >, [ ], :, @, { }, $, #, Ù;
·
Комбинации
символов: < >, <=, >=, :=, .. , (* *), (. .)
Идентификаторы – имена, используемые для обозначения
программ, переменных и постоянных величин, различных процедур, функций ,
объектов.
Для обозначения типов
данных, констант, процедур, функций служат стандартные идентификаторы: integer, Sin, Cos, Ln, Sgr, Sgrt, Read, Readln ,Write, Writeln.
В этом примере
стандартный идентификатор Sin вызывает функцию, вычисляющую
синус заданного угла, Read, Readln вызывает процедуру, организующую ввод
данных, Write, Writeln вызывает процедуру, организующую вывод
данных.
Разделители используются для отделения друг
от друга идентификаторов, чисел, зарезервированных слов. В качестве
разделителей можно использовать:
·
Пробел;
·
Любой
управляющий символ (коды от 0 до 31), включая символ возврата каретки (код13);
·
Комментарий.
Комментарии заключаются в скобки { }, либо в скобки вида (* *) и могут
занимать любое число строк.
При написании программ
применяются следующие специальные символы:
+ плюс
, запятая
. точка
- минус
* умножить
/ деление
div деление целых чисел
mod остаток от деления целых чисел
Комбинации
специальных символов могут образовывать составные символы:
:= присваивание
<= меньше или равно
<> не равно
>= больше
или равно
.. диапазон значений
(..) альтернатива [ ]
(* *) альтернатива { }
В программе эти пары
символов нельзя разделять пробелами, если они используются как знаки операций
отношения или ограничители комментария.
Типы данных в TURBO
PASCAL
Любая программа
обрабатывает какие-либо данные. В практике встречаются различные типы данных:
целые и дробные числа, символы, строки, массивы, множества и т.д.
Тип данных – это множество значений, которые
может принимать переменная, и совокупность действий, которые можно выполнять с
этими значениями.
Для описания каждого
типа данных существует свой стандартный идентификатор: для целых числовых
данных – integer, для вещественных (дробных) - real, для символьных – char, для строковых –string и т.д.
Данные целочисленных
типов могут быть представлены как в десятичной, так и в шестнадцатеричной
системе. Если число представлено в шестнадцатеричной системе, перед ним без
пробела ставится знак $.
В десятичной системе
числа могут записываться двумя способами: с фиксированной и с плавающей
запятой.
Пример:
125 -целое
десятичное число
$1FF -шестнадцатеричное число
125,563
-вещественное число
-12.9 -отрицательное
вещественное число
Вещественные
десятичные числа в форме с плавающей точкой представлены в экспоненциальном
виде: mE+p, где m-
мантисса (целое или дробное число с десятичной точкой), E означает десять в степени, p - порядок (целое число).
Пример:
5.18Е+02=5.18*102=518
10Е - 03=10*10-3=0.01
Пользователь может
разрабатывать собственные типы данных и давать им произвольные имена.
Константы и
переменные
Константы – это данные, не изменяющие
своего значения до завершения работы программы, описываются зарезервированным
словом CONST, за которым идет список имен
констант, и каждой константе с помощью символа «=» присваивается конкретное
значение:
Пример:
CONST PI=3.14;
E=2.71;
R=’МИР’;
Переменные – это данные, которые могут менять свое
значение в процессе выполнения программы. Для их описания используется
зарезервированное слово VAR, за которым следуют имена
переменных и через двоеточие их тип.
Пример:
VAR A, B: integer; {A и B –целые переменные}
C: real; {C – вещественная переменная}
Программы
Переменные и константы
всех типов используются в выражениях. Выражение задает
порядок выполнения действий над элементами данных и состоит из операндов
(констант, переменных, обращений к функциям), круглых скобок и знаков операции.
Операции определяют действия, которые надо выполнить над
операндами.
Программа – это совокупность операций
решения какой–либо задачи, записанных в соответствие алгоритму с помощью
зарезервированных слов языка программирования.
По определению
стандартного Pascal программа состоит из:
·
заголовка программы
·
тела программы (блока), за которым
следует точка – признак конца программы.
В свою очередь, блок
(тело программы) содержит:
·
раздел
описаний;
·
раздел
операторов.
Заголовок программы
состоит из служебного слова Program, имени программы, образованного
по правилам использования идентификаторов Pascal,
и точки с запятой.
Раздел описаний
включает следующие подразделы:
·
раздел
описания меток;
·
раздел
описаний констант;
·
раздел
описания типов;
·
раздел
описания переменных;
·
раздел
описания подпрограмм.
В языке Turbo Pascal должны быть описаны все
переменные, типы, константы, которые будут использоваться программой. Более
подробно структуру программы на языке Turbo Pascal можно представить следующим образом:
Program <имя программы>;
Label <раздел меток>;
Const <раздел констант>;
Type <раздел типов>;
Var <раздел переменных>;
Procedure (Function) <раздел подпрограмм>;
Begin
<раздел
операторов>
End.
Раздел операторов
имеется в любой программе и является основным. Предшествующие разделы носят
характер описаний и не все обязательно присутствуют в каждой программе.
В Turbo Pascal, в отличие от стандарта, возможно
следующее:
·
отсутствие
заголовка программы;
·
разделы Const, Type, Var, Label могут следовать друг за другом в любом
порядке и встречаться в разделе описаний сколько угодно раз.
Тело программы
начинается со слова begin, затем следуют операторы языка Pascal, реализующие алгоритм решаемой задачи. Операторы
в языке Pascal отделяются друг от друга точкой с
запятой и могут располагаться в одну строчку или начинаться с новой строки.
Назначение символа «;» - отделение операторов друг от друга. Тело
программы заканчивается служебным словом end.
Принципы работы с
системой turbo pascal
1. Для запуска интегрированной среды
программирования TURBO PASCAL 7.0 нужно
установить на диске С: каталог TP
и ввести команду turbo.exe.
С:\ТР\turbo.exe
После запуска
программы на экране отображаются три видимых компонента интегрированной среды
программирования: полоса меню в верхней части(1), область
редактирования в центре(2) и строка статуса внизу(3).
1
2
3
Полоса меню и
подменю. Полоса
меню и подменю является основным доступом ко всем командам меню. Для
активизации выбора команды меню необходимо нажать клавишу F10. Чтобы выбрать меню, которое хотите
просмотреть, используйте клавиши со стрелками, затем нажмите Enter. Чтобы прервать действие нажмите клавишу
Esc.
В поле редактирования
набирается текст вводимой программы. При наборе текста программы используются
следующие клавиши:
Enter(¿) – перевод курсора на новую строку;
¬(Backspace) – удаление символа перед курсором;
Delete – удаление символа над курсором;
Ctrl+Y – удаляет всю строку, на которой
расположен курсор;
Home – перевод курсора в начало строки;
End – перевод курсора в конец строки;
Page Up – на страницу вверх;
Page Down
– на страницу
вниз;
Ctrl+Page Up – в начало текста;
Ctrl+Page Down – в конец строки;
Tab – отступ строки на шаг табуляции;
¬®¯ - стрелки перемещения курсора по тексту.
При подготовке текстов
программ часто возникает необходимость перенести фрагмент текста в другое место
или удалить его. Для такого рода операций удобно использовать блоки
– фрагменты текста, рассматриваемые как единое целое. В каждый момент в
оболочке может быть объявлен только один блок в одном окне редактора. Сочетания
клавиш, предназначенные для работы с блоком, таковы:
Ctrl+K+B
– пометить начало блока;
Ctrl+K+K
– пометить конец блока;
Ctrl+K+T
– пометить в качестве блока слово слева от курсора;
Ctrl+K+Y – стереть
блок;
Ctrl+K+C – копировать
блок в позицию, где находится курсор;
Ctrl+K+V
– переместить блок в позицию, где находится курсор;
Ctrl+K+W
– записать блок в файл;
Ctrl+K+R
– прочитать блок из файла;
Ctrl+K+P
– напечатать блок;
Ctrl+K+H – снять пометку блока (повторное
использование этих клавиш вновь выделит блок).
Строка статуса. В строке статуса обозначено
назначение оперативных клавиш, действующих в данный момент. Для того чтобы
увидеть, как работают другие комбинации клавиш, нажмите Alt и подержите
ее в нажатом положении несколько секунд: строка статуса изменится, и вы
увидите назначение комбинаций Alt с другими клавишами.
Запуск программы на
выполнение
Нажмите Ctrl +F9.
При этом будет
произведена компиляция программы т. е. проверка правильности набора и
использования операторов. Если текст ввели правильно, то на экран будет
выведено сообщение об успешности компиляции "Compile successful" и программа запустится на выполнение. Если появится красная
надпись, следовательно, в программе есть ошибки. Курсор будет находиться в
месте предполагаемой ошибки. Проверьте и исправьте ошибку, затем повторите
запуск.
Просмотр
результатов выполнения программы
Результат выполненной
программы можно увидеть нажав комбинацию клавиш - Alt + F5.
Вернуться в окно редактирования клавиша Esc.
Сохранение
программы
§ Активизируйте верхнее меню – F10. Выберите пункт меню File, затем пункт "Save as…" нажимая клавишу Tab перейти на свой диск А: и записать
имя файла.
§ Клавиша F2. Нажимая клавишу Tab перейти на свой диск А: и записать
имя файла.
Открытие ранее
сохраненной программы
§ Активизируйте верхнее меню – F10. Выберите пункт меню File, выберите пункт подменю Open. Перейдите на свой диск А:
выберите ранее сохраненный файл.
§ Клавиша F3. Перейдите на свой диск А: выберите ранее
сохраненный файл.
Завершение работы
§ Активизируйте верхнее меню – F10. Выберите пункт меню File, выберите пункт подменю Exit.
§ Комбинация клавиш Alt – X.
1 Стандартные
типы данных и выражения
1.1 Задания
1. Идентификатор Почему он недопустим?
5Summa _________________________
Begin _________________________
D'Artanyan _________________________
Сумма _________________________
Summa Dohoda _________________________
A*B _________________________
Nomer.Doma _________________________
2. Зачеркните числа, записанные не по правилам языка Turbo Pascal
1)3.14159 5)16. 9) 12.SE.3
2)150 6)15.0Е-04 10) 12Е+5
3)0,005 7)2.345Е2 11) Л23ЕЗ
4).12345 8)
1.15Е-3 12) 1.15Е-3
3. Подберите подходящий тип данных:
Количество учеников в классе________________________
Площадь круга____________________________________
Количество автомобилей в регионе____________________
Количество автомобилей у одного владельца_____________
Первая буква фамилии______________________________
Количество жителей в государстве____________________
Плотность населения в
государстве____________________
Произведение цифр двузначного
числа_______________ __
Произведение цифр трехзначного
числа_________________
Фамилия сотрудника фирмы _________________________
Заработная плата сотрудника фирмы____________________
4. Записать
выражение на языке программирования Pascal.
1) ______________________________________________________
2) ____________________________________________________
3) ________________________________________________________
4) _____________________________________________________
5) ____________________________________________________
6) __________________________________________________________
7) _________________________________________________________
8) _________________________________________________________
9) ______________________________________________________
10)
_________________________________________________
11)
_____________________________________________
12)
__________________________________________________
13)
______________________________________________
5. Определить тип результата, если: X-integer, Y-real, C-char.
Al:=sqrt(X) ______ A7:=A6<X________
A2:=
sqrt (Y) _______ A8:=23 mod 4______
A3:=2.5*X _______ A9:=7 div 2/3______
A4:=X-A1 _______ A10:=pred(C)______
A5:=A4>A3 _______ A11:=A8/y_______
A6:=ord(C) _______ A12:=chr(X)______
6. Найти значение выражения:
1) 25/2= _____________
2)
25 div 2 = ___________
3) 25 mod 2 = __________
4) 15+21 div
2= _________
5) 2 div 3 = ____________
6) 2 mod 3 = ___________
7) 11 mod 5 = ___________
8) 14 mod (5 + 3) = ___________
7. Записать
в виде обычной математической формулы
1)
y:=2*sin(x)*sqrt(x+sqrt(abs(x)))_______________________________________
2)
y:=
sqrt(sin(x)+sin(sqrt(x)))___________________________________________
3)
y:= sqrt(abs(x-1)+sqrt(sin(x)))__________________________________________
4)
y:=(5*sin(x)
+4)/2*15*sin(sqrt(x))_______________________________________
5)
y:=k+15*x/(2*sin(x)) _________________________________________________
6)
y:=sin(sqr(x)+sqr(sin(x))_______________________________________________
7) y:=a+b/b+c___________________________________________________________
8) у:=a*b*sin(x)_____________________________________________________
9) y:=abs(2*sin(a/2)*cos(b/2))_____________________________________________
8. Вычислить значение выражения:
1) abs(-40)= _____ 7) trunc (12.19) = _____
2) trunc(-13.6)= ____ 8) abs(trunc(-6.32)) = _____
3) round(-13.6) = ____ 9) round(6.8)+sqr(3)=_____
4) frac(3.428)= _____ 10) trunc(12.2)*sqr(2) = _____
5) ргеd('Л') = _____ 11)
sqrt(abs(round(-12.6))) = _____
6) round(12.19) = _____ 12) sqrt(sqr(trunc(-3.32)) = _______
9. Выберите для каждого значения наиболее
подходящий тип данных из таблиц типов и укажите ниже.
1)
5
|
'X'
|
'*'
|
-5
|
|
|
|
|
999
|
-999
|
'5'
|
'-5'
|
|
|
|
|
True
|
False
|
5.0
|
-5.0
|
|
|
|
|
1.2 Самостоятельная работа
1.3 Вариант 1
1.
Найти значение
выражения:
1)
220 div 10 mod 3 = ________
2)
-16 mod 11 * 3 = __________
3)
3 div (5+3) = __________
4)
(16 mod 6) / (2 div 1) = ______
2.
Записать выражение
на языке программирования Pascal:
1.4 Вариант 2
1. Найти значение выражения:
1)
220 mod 10 div 3 = ________
2)
3 div 5 + 3 = _________
3)
(-19+9) div -5 = ________
4)
16 mod 6 / 2 div 1 __________
2. Записать выражение на языке программирования Pascal:
2 Линейные структуры
2.1 Задания
1.
Установите
соответствие между служебными словами и названиями разделов программы:
1) Var
2) Program
3) Uses
4) Begin … end
|
1) Раздел операторов
2) Раздел имени программы
3) Раздел описания переменных
4)
Раздел описания
библиотечных модулей
|
2. Напишите
заголовок программы и объявите переменные в разделе описания переменных к
задачам:
Задача 1. Найти
корни квадратного уравнения ах2+вх+с=0
Задача 2. Даны
координаты двух точек. Найти расстояние между ними.
Задача 3. Вычислить
площадь прямоугольного треугольника, если известны его стороны
3. Напишите инструкцию
вывода на экран:
а) вашего имени
б) числа 400
в) значения выражения 7,3(3,22+8,61)
4. Найдите значение S после
выполнения следующих операторов:
S:=18;
S:=8;
S:=113;
Write(S);
|
S:=27;
S:=S+19;
S:=76;
Write(S);
|
S:=3;
S:=S+1;
S:=S+3;
Write(S);
|
S:=7;
S:=S+S;
S:=S+S;
Write(S);
|
_________
|
_________
|
__________
|
|
5. Расположите в
правильном порядке строки программы, вычисляющей периметр и площадь
параллелограмма:
1) S:=a*h;
|
|
2) end.
|
|
3) program pr;
|
|
4) p:=2*(a+b);
|
|
5) Uses crt;
|
|
6) var a,b,h,p,s: integer;
|
|
7) readln;
|
|
8) Writeln(‘p=’,p,’ s=’,s);
|
|
9) a:=6;b:=3;h:=4;
|
|
10) clrscr;
|
|
11) begin
|
|
6. Дан текст программы в таблице с ошибками:
исправьте ошибки в программе;
что выведется на экран в результате выполнения программы?
Программа с ошибками
|
Программа без ошибок
|
На экране будет
напечатано:
|
War: a,b,c – integer, x: real;
Bigin
A=7,
b=3,2,
c:=a+b;
Writln ( summa= , c);
C:=c/2;
x:=a-c;
Writeln(‘x=’ , x,
‘kvadrat=’ , x*x);
And
|
|
|
Program Ошибки2;
Begin Var
X:integer;
X:=6+8;
Write(X);
End;
|
|
|
7. Перевести блок-схему вычисление расстояния между
точками А и B на язык Паскаль.
8. Напишите программы для следующих задач, организуя экран пользователя по
предложенному варианту.
Задача
|
Экран
пользователя
|
Программа
|
1. Написать программу вычисления площади поверхности
параллелепипеда. S=2*(A*B+B*C+C*A)
(Запустите программу, введите данные: А=9, В=7.5, С=5. Если правильно
составлена программа, то вы получите результат S=300.00)
|
Вычисление S
поверхности параллелепипеда.
Введите исходные
данные:
Длина (см)? 9
Ширина (см)? 7.5
Высота (см)? 5
Площадь
поверхности: 300.00 кв.см.
|
|
2. Написать программу вычисления стоимости
покупки, состоящей из нескольких тетрадей и карандашей.
|
Вычисление стоимости покупки.
Введите исходные данные:
Цена тетради (руб.)? 2.75
Количество тетрадей? 5
Цена карандаша (руб.)? 0.85
Количество карандашей? 2
Стоимость покупки: 15.45
руб.
|
|
9. Заполните таблицу. Пробел перед числом обозначайте
_
Значение
|
Формат
|
Вывод
|
3.14159
3.14159
0.1234
-0.006
25.876
-0.006
‘***’
‘*’
3.14159
3.14159
3.14159
-0.006
-0.006
-124.3123
-3.14159
‘*’
‘мышь’
|
:5:2
:5:3
:4:2
:8:3
:3:1
:9
:7
:7
________________
________________
________________
________________
________________
________________
________________
________________
________________
|
________________
________________
________________
________________
________________
________________
________________
________________
3.14
_ _
3.1
_
3.14159
-0.01
-0.00600
-124.31
-3.14Е+00
_ _ _
*
_ _ _
мышь
|
2.2
Самостоятельная
работа
2.3
Вариант 1
1. Представить
результат работы процедуры (по позициям и строкам)
WriteLn (r, ':', a:8);
WriteLn (s, x, d:9:3);
WriteLn ('i =', i:3);
WriteLn (t, d);
WriteLn (z).
2. Составить линейный алгоритм вычисления у по формуле:
y= 6x (x + 2) – (x + 4), при x = 2
2.4
Вариант 2
1. Представить
результат работы процедуры (по позициям и строкам)
WriteLn (y, d:10:3);
WriteLn ('Введите к', k:3);
WriteLn (y, t, a);
WriteLn (' При к = ',k, s, g);
WriteLn (s:3, d).
2. Составить
линейный алгоритм вычисления у по формуле:
y = 3x – (2x + 1), при x =3
3 Разветвляющие структуры. Оператор варианта.
3.1 Задания
1. Отметьте те выражения, результат которых
вычислен правильно:
a) 60>20 = true
b)
not (30> 10) = false
c)
(3>2) and (5>6) = true
d)
(60>70)
or (100<90) = true
e)
(60>70)
and (100<90) = true
2. Предположим
А:=5; B:=10; C:=15.
Вычислите
значение выражения (true, false):
Выражение
|
Результат
|
Выражение
|
Результат
|
(А=В) or (A<=B)
|
|
Not (A>=5)
|
|
(А=В) and (A<=B)
|
|
(С=А+В) or (B>C)
|
|
not(A=B) and (A<B)
|
|
(С<=А-В) or (B<C)
|
|
(В<=12)ог(С=15)
|
|
(С<=А+В) or (B>C)
|
|
(B<=12)and(C=15)
|
|
(С=А+В) and(B<C)
|
|
3. Запишите логическое
выражение для каждой из фраз:
А принадлежит диапазону (18;
80)___________________________________
А принадлежит диапазону [18;
80) __________________________________
А принадлежит диапазону (-10;
18) __________________________________
А принадлежит диапазону [-10;
18] _________________________________
А не принадлежит диапазону
[-10; 18]_______________________________
А не принадлежит диапазону
(-10; 18) _______________________________
А меньше -1 или больше
1_________________________________________
А не принадлежит диапазону
[18; 80) _______________________________
А больше 0 и не равно
10__________________________________________
А кратно 4 и 5 (используйте mod)__________________________________
4. Запиши словесное описание фрагмента алгоритма на языке Паскаль:
1) Если число Х равно 47, то увеличить переменную Х на 15,
иначе уменьшить на 36;
2) Если переменная S не равна 21, то увеличить переменную S в 6 раз, иначе
уменьшить на 53;
3) Если переменная U нечетная, то увеличить ее на 8, иначе увеличить в
53 раза;
4) Если число Z больше 48, то увеличить на 51, иначе уменьшить на
51;
5) Если X меньше 15, то Y присвоить значение X/2, а Z присвоить значение 15/ X, иначе Y присвоить
значение X*2, а Z присвоить значение 15- X.
5. Расставь строки программы в правильном порядке, чтобы получилась
программа, которая находит решение уравнения ах=b:
1)
writeln(‘решения нет’)
|
|
2) a,x,b:real;
|
|
3) if
|
|
4)
writeln(‘x=’,b/a);
|
|
5)
a<>0
|
|
6) begin
|
|
7) then
|
|
8) readln(a,b)
|
|
9) end.
|
|
10) else
|
|
6. Что будет выведено на экран, после
выполнения данной программы:
a=8, n=5
|
a=3, n=3
|
a=9, n=2
|
a=7, n=4
|
Program Primer;
Var x, y:integer;
Begin
Read(a,n);
if a<=10 then writeln(a*2)
else writeln(n*2);
End.
|
Program Primer;
Var x, y:integer;
Begin
Read(a,n);
If a mod 3<>0
then writeln(a+5)
else writeln(n+2);
End.
|
Program Primer;
Var x, y:integer;
Begin
Read(a,n);
If (a mod 2=0) and (n<>2)
then writeln(a*5)
else writeln(n*5);
End.
|
Program Primer;
Var x, y:integer;
Begin
Read(a,n);
If (a mod 2=0) or (n<>2)
then writeln(a*5)
else writeln(n*5);
End.
|
Ответ: __________
|
Ответ: __________
|
Ответ: __________
|
Ответ: __________
|
7. Заполните таблицу:
x
|
y
|
a
|
19
|
10
|
|
6
|
44
|
|
100
|
49
|
|
55
|
22
|
|
Program Primer;
Var a, x, y:integer;
Begin
Read(x,y);
If (x+y>50) or (y>100) Then
A:=x+y
Else
A:=2*x+y;
Write(a);
End.
8. Представьте фрагмент
программы в виде блок-схемы
а)
IF a>b THEN
k:=k+l
ELSE
IF b>c THEN
k:=k+2
ELSE
k:=k+3;
Writeln(k)
б)
IF a=0 THEN
Begin
X:=l;
Y:=l;
End
ELSE
Begin
X:=2;
Y:=2;
End;
в)
IF a=b THEN
z:=a+b
ELSE
Begin
IF a>0 THEN
a:=2*a;
a:=a-l; b:=b-l;
z:=a/b;
End;
z:=z+10;
9. Запишите оператор IF, эквивалентный следующему оператору CASE.
CASE x OF
2, 5 : writeln ('Ничья');
7..11: writeln ('Выигрыш')
ELSE
writeln ('Проигрыш')
END;
10. Определить, что будет выведено на
экран после выполнения фрагмента программы:
k:=10;
CASE k mod 3 OF
0: writeln('k=4m');
1: writeln('k=4m+l');
2: writeln('k=4m+2');
3: writeln('k=4m+3');
END;
|
d:=30; s:=1000;
Case d of
1..5: s:=15;
6..10: s:=36;
11..25: s:=30;
End;
Writeln(s);
|
m:=43; s:=1234;
case m of
10..15: s:=30;
20..25: s:=5;
30..35: s:=25;
End;
Writeln(s);
|
____________________
|
___________________
|
_______________
|
11. Запишите оператор CASE, эквивалентный следующему оператору IF.
……………………….
If (x>=a) and (x<=b) then
writeln ('Хорошо')
else
If (x = d) or (x = f) then
writeln ('Плохо')
else
writeln ('Неверный ввод');
……………………….
12 . Составьте программы для следующих задач:
Задачи
|
Отметка
|
Дано число х. х2+1,
если х <0
1)
Вычислить
значение функции: У= x-2,1,если х>
Sin x, если
0х
|
|
2)
По введенному году обучения в школе
(числу от 1 до 11) вывести сообщение «Привет, k-классник!».
Например, если k=1, «Привет, первоклассник!»
|
|
13. Разгадайте сканворд:
3.2
Самостоятельная
работа
3.3
Вариант 1
1. Какое
значение будет иметь переменная d после выполнения операторов при a = 3, b = 1, d
= 0:
1)
If a>b Then d:=a Else d:=b; d:=d*10;
2)
If a>b Then Else d:=b; d:=d*10;
3)
If a>b Then begin d:=b; d:=d+a end Else ; d:=d*10;
4)
If a>2 Then
If b>2 Then d:=1 Else d:=2; d:=d*10.
2. Составить блок-схему и программу вычисления значения функции:
3.4
Вариант 2
1. Какое значение будет иметь переменная d после выполнения операторов при
a = 3, b = 1, d
= 0:
1)
If a>b Then d:=a Else d:=b; d:=d*10;
2)
If a>b Then d:=b; d:=d*10;
3)
If a>b Then Else begin d:=b; d:=d+a end; d:=d*10;
4)
If a>2 Then d:=2 Else If b>2 Then d:=1; d:=d*10.
2. Составить
блок-схему и программу вычисления значения функции:
4 Циклические структуры
4.1. Задания
1. Запишите заголовки цикла For для изменения параметра из диапазонов:
от -10 до
+10_______________________________________________
от 100 до 1_________________________________________________
от 15 до
25_________________________________________________
от -10 до
-20_______________________________________________
2. Запишите оператор цикла For, который бы выводил все числа в диапазоне от 100 до 10 включительно:
________________________________________________________________________________________________________________________________________________
________________________________________________________________________
3. Определить, сколько раз выполнится
цикл:
I:=4;
While i<6 do
i:=i+3;
|
y:=1;
i:=1;
While i>1 do begin
y:=y+1/i;
end;
|
i:=5;
y:=1;
While i>2 do
i:=i-1;
y:=y+i*i;
|
__________________
|
_______________________
|
|
4. Определить
значение переменной S после выполнения
следующих команд и заполнить таблицу:
……………..
Read(n);
S:=3;
I:=1;
While i<=n do begin
S:=s+I;
I:=i+5;
End;
Write(s);
…………….
5. Составьте блок-схему по готовой программе.
PROGRAM summa;
VAR A,S:REAL;
BEGIN
S:=0;
A:=0.2;
WHILE A<=2 DO
BEGIN
S:=S+A;
A:=A+0.1;
END;
WRITELN(‘Сумма=’,
S:15:2);
END.
|
|
6. Определите значение переменной a после выполнения фрагмента алгоритма:
7. Выполните
трассировку и определите значение переменной S и I после выполнения фрагмента программы.
S:=0;
I:=0;
Repeat
I:=I+5;
Until I<=5;
S:=S+I*I;
S _____________
I _____________
Тело цикла выполняется ____ раз
|
I
|
S
|
I<=5?
|
|
|
|
8. Определите сколько раз будет
выполняться тело цикла:
S:=0;
I:=0;
Repeat
I:=I-1;
S:=S+1/I;
Until I<=1;
|
S:=0;
I:=1;
Repeat
I:=I+1;
Until I>2;
S:=S+1/I;
|
S:=0;
I:=1;
Repeat
S:=S+1/I;
I:=I+1;
Until I<1;
|
_____________
|
_______________
|
|
9. Расставьте строки программы в
правильном порядке, чтобы получилась программа, которая находит сумму первых N натуральных чисел:
1) writeln(‘sum=’,sum);
|
|
2) end;
|
|
3) end;
|
|
4) sum:=sum+i; i:=i+1;
|
|
6) sum:=0; i:=1;
|
|
7) while i<=n do begin
|
|
8) var i,n,sum: integer;
|
|
9) write(‘n=’); readln(n);
|
|
10) begin
|
|
10 .Определите сколько раз будет
выполняться тело цикла:
S:=0;
For n:=4 downto 3 do begin
S:=s+n;
S:=s*10;
End;
|
Y:=0;
For n:=4 to 6
Y:=y+I;
Y:=y/10;
|
Y:=1;
For i:=1 to 3 do begin
Y:=y+1;
Y:=y+i;
End;
|
Y:=5;
For n:=1 downto 4 do
Y:=y+n;
|
________________
|
________________
|
_________________
|
|
11.
Сопоставьте фрагменту программы с циклом while
соответствующий ей фрагмент программы с циклом For:
For i:=1 to 5 do
s:=s+5;
|
|
While y<=10 do begin
S:=s+5;
Y:=y+1;
End;
|
For i:=5 downto 1 do
S:=s+5;
|
|
I:=5;
While i>=1 do begin
S:=s+5;
I:=i-1;
End;
|
K:=3;
For i:=k to n do
S:=s+5;
|
|
I:=1;
While i<=5 do begin
S:=s+5;
I:=i+1;
End;
|
For i:=y to 10 do
S:=s+5;
|
|
I:=3;
While i<=n do begin
S:=s+5;
I:=i+1;
End;
|
12.
Выполните трассировку (пошаговое выполнение алгоритма вручную на бумаге).
Определите значение переменной Х после выполнения фрагмента программы.
X:=10;
For I:=1 to 5 do
Begin
Writeln (I,X);
X:=X-2;
End;
X ____________
|
I
|
X
|
Экран
результата
|
|
|
|
13. Составить программу по
блок-схеме:
14. Исправьте синтаксические ошибки в
следующем фрагменте программы:
a)
Var I, k:real;
S:real;
Begin
K=81;
S:=4
For i=1 to k
S=s/2
End.
|
б) Var a:real;
Begin
s=10;
s:=s+2
for s:1 to 10 do
writeln s
end.
|
15. Отгадайте кроссворд:
По горизонтали:
2. Универсальный язык программирования.
3.
Символическое имя определенного программного объекта.
4.
Структурная команда, выполнение которой происходит после проверки условия.
5.
Программа-переводчик с Паскаля на язык машинных команд с полным предварительным
переводом.
6.
Последовательность действий(команд), которую должна выполнить ЭВМ, чтобы решить
поставленную задачу обработки информации.
7.
Отдельный информационный объект (число, символ, таблица и пр.) называется…..
9. Процесс занесения данных
в оперативную память.
По вертикали:
1. Повторение
некоторой группы действий по условию называется ……
2. Занесение
значений в ячейку памяти называется ……
8. Все множество
символов, используемых в некотором языке для представления
информации.
4.2
Самостоятельная
работа
4.3
Вариант 1
1. Составить
циклический алгоритм вычисления произведения всех чисел от 25 до
40.
2. Определить
значение переменной n после выполнения следующих элементов программы:
y:=0;
x:=10;
while x>0 do
Begin
x:=x+2;
y:=y+x;
end;
4.4
Вариант 2
1. Составить циклический алгоритм вычисления
среднеарифметического значения всех четных чисел от 0 до 20.
2. Определить значение переменной n после выполнения
следующих элементов программы:
x:=0;
y:=5;
repeat
y:=2*y;
x:=x+y
until y>5;
5 Подпрограммы. Процедуры и функции
5.1 Задания
1. Какое из следующих описаний
процедуры, выводящей строку символов (*), свободно от ошибок:
Procedure Stars;
Var s:integer;
Begin
For s:=1 to 78 do
Writeln(‘*’);
End;
|
Procedure Stars;
Var s:integer;
For s:=1 to 78 do
Write(‘*’);
|
Procedure Stars;
Var s:integer;
Begin
For s:=1 to 78 do
Write(‘*’);
End;
|
2. Ниже представлены заголовки процедуры и функции, а также обращения к
процедуре и функции.
Procedure
Proc(x, y:integer; var z:real);
Function
Func1(a, b:integer);
Proc(k, l,
m);
H:=Func1(I,
j);
Укажите
соответствие между представленными ниже наборами параметров этих
подпрограмм(слева) и названиями разновидностей параметров(справа).
a)
X, y, a, b
|
|
1.Параметры-переменные
|
b)
X, y, z, a, b
|
2.Параметры-значения
|
c)
K, l, m, I, j
|
3.Формальные
параметры
|
d)
z
|
4.Фактические
параметры
|
3. Какое определение верно, либо ложно:
1.Вложение
подпрограмм не допускается.
|
|
2.После раздела
описаний процедуры следует ее тело, содержащее последовательность операторов,
заключенных в операторные скобки.
|
|
3.Передача
информации из тела программы в процедуру осуществляется с помощью механизма
параметров.
|
|
4.Имена,
объявленные в основной программе, доступны во всех описанных в ней
подпрограммах.
|
|
5.
Параметр-значение просто передает некоторое значение в подпрограмму.
|
|
6. Передача
значений из процедуры в программу осуществляется с помощью
параметров-переменных.
|
|
7. В Turbo
Pascal наличие в теле подпрограммы оператора вызова самой себя
не допускается.
|
|
4. Напишите, что выведет на экран следующая
программа:
Program
V1_Z1;
Var
A,B: Integer;
Procedure
F1
(X,Y:Integer);
Begin
Y:=2*X+3;
End;
Procedure
F2
(Var X,Y:Integer);
Begin
Y:=3*X+1;
End;
Begin
A:=1;
B:=3;
F1(A,B);
WriteLn('A=',A,'B=',B);
F2(A,B);
WriteLn('A=',A,'B=',B);
End.
5. Напишите, что напечатает следующие
программы:
Program V1
var
a,b,c,d:integer;
function
func(x,y,z:integer):integer;
var
w:integer;
begin
w:=x+y;
if
y<z+1 then w:=w+1;
func:=w
end;
begin
a:=5;
b:=4;
c:=2;
d:=func(a,b,c);
writeln('func от ',a,',',b,' и ',c,' дает ',d);
a:=func(b,c,d);
writeln('func от ',a,',',b,' и ',c, ' дает ',a);
end.
5.2
Самостоятельная
работа
5.3 Вариант 1
1. Напишите
программу, которая по значениям двух катетов вычисляет гипотенузу, площадь,
прямоугольного треугольника (используя подпрограмму).
2.
Напишите, что выведет на экран следующая программа:
Program
V2_Z1;
Var
A,B:Integer;
Procedure
F1(Var X,Y:Integer);
Begin
Y:=SQR(X);
X:=SQR(X)+X;
End;
Procedure
F2(Var X:Integer; Y:Integer);
Begin
Y:=SQR(X);
X:=SQR(X)+X;
End;
Begin
A:=1;B:=3;
F1(A,B); WriteLn('A=',A,'B=',B);
F2(A,B); WriteLn('A=',A,'B=',B);
End.
5.4 Вариант 2
1. Написать программу сравнения площадей и периметров двух
прямоугольных треугольников, если заданы их катеты (используя подпрограмму).
2. Напишите, что выведет на экран следующая
программа:
Program
V1_Z2;
Var
A,B,A1,B1:Real;
Procedure SD(X,Y:Real; Var
P,Q:Real);
Begin
P:=(X+Y)/2; Q:=(X-Y)/2 ;
End;
Begin
A:=2; B:=-4;
SD(A,B,A1,B1);
WriteLn('A=',A:4:0,'B=',B:4:0,'A1=',A1:4:0,'B1=',B1:4:0);
SD(A,B,B1,A1);
WriteLn('A=',A:4:0,'B=',B:4:0,'A1=',A1:4:0,'B1=',B1:4:0);
SD(B,A,A1,B1);
WriteLn('A=',A:4:0,'B=',B:4:0,'A1=',A1:4:0,'B1=',B1:4:0);
End.
6 Массивы одномерные
6.1 Задания
1. Определите
количество элементов в массиве:
Var
A: array [6..7] of integer;
|
____________
|
Var
C: array [5..13] of real;
|
____________
|
Var
K: array [0..19] of integer;
|
____________
|
Var
A: array [1..8] of real;
|
____________
|
Var
D: array [-8..15] of integer;
|
____________
|
2. Какие из приведенных описаний массивов являются правильными?
1)
Var A: array [1..20] of real;
2)
Type Mas=array [‘A’..’D’];
Var A:Mas;
3) Type
Город=(Киев, Москва, Сочи, Адлер);
Var A:array[Город] of real;
4)
Var MM:array [false..true] of
char.
3. Укажите числовой диапазон:
a)
A[i]:=random(61)____________________
b)
B[j]:=random(35)____________________
c)
C[5]:=random(14)___________________
d)
B[z]:=random(45)___________________
e)
A[k]:=random(28)___________________
4. Используя оператор RANDOM запишите правильно команды:
a)
Элемент массива А с номером 7
находится в интервале [32..45] ______________
_________________________________________________________________
b)
Элемент массива D с
номером c находится в интервале [219..270]
_____________
_________________________________________________________________
c)
Элемент массива E с
номером i находится в интервале
[17..37] _____________
_________________________________________________________________
d)
Элемент с номером s
массива К находится в интервале [138..175] ____________
_________________________________________________________________
e)
Элемент с номером к массива С находится
в интервале [122..124] _____________
_________________________________________________________________
4.
Записать циклы для решения следующей задачи:
1.
Ввод 112 элементов массива В с
клавиатуры. Параметром цикла является переменная h. Нумерация начинается с 1.
_______________________________________________________________
|
2.
Ввод 96 элементов массива А в
столбец. Параметром цикла является переменная h. Нумерация начинается с 1.
_______________________________________________________________
|
3.
Формирует массив Е из 162 случайных
чисел, принадлежащих промежутку [15;30]. Параметром
цикла является переменная Х.Нумерация начинается с 1
_______________________________________________________________
|
4.
Формирует массив D из
179 случайных чисел, принадлежащих промежутку [16;24].
Параметром цикла является переменная f.
Нумерация начинается с 1
_______________________________________________________________
|
6. Напишите
пропущенные команды. Ввести массив В, из 18 элементов целого типа, заданных
случайным образом на промежутке [12;65], нумерация
начинается с 1 и вывести элементы массива с 1-го по 7-й в столбец.
Program
Primer;
___________________;
j: integer;
BEGIN
For J:=1 to______
do
_________________________
For j:=1 to
_____ do
_________________________
End.
7. Дан
массив К. Индексы начинаются с 1.
Чему равно?
1) K[6]=______
2) R[4]+K[1]=_______
3) 2+K[6]=________
4) K[1+2]=________
5) K[5]+10=________
6) 10*K[4]=________
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.