
- •Программирование на языке Turbo Pascal Материалы к урокам
- •Тема №1: этапы решения задач на эвм. Алгоритмизация. Основные понятия. Блок-схемы.
- •Свойства алгоритма
- •Элементы блок-схемы
- •Тема №2: работа в среде turbo-pascal. Транслятор. Набор текста программы. Справочная система. Выполнение и отладка программы.
- •Основные понятия:
- •Встроенные стандартные математические функции, используемые в Turbo Pascal.
- •Переменные. Описание переменных.
- •Тип переменных указывается после списка переменных через двоеточие (: ). Числовые переменные можно описать по-разному, в зависимости от вида (целые, вещественные) и значности чисел:
- •Простейшие операторы работы в текстовом режиме.
- •Нестандартный оператор очистки экрана:
- •Операторы ввода данных в переменные с клавиатуры:
- •Оператор ожидания нажатия на клавишу.
- •Целочисленные арифметические операции:
- •Функции, преобразования числовых переменных:
- •Получение случайных чисел.
- •Тема №4: программирование на языке turbo-pascal. Прорядковые типы данных. Ветвление. Операторы условного и безусловного перехода. Составление программ с использование ветвления и переходов.
- •Порядковые типы переменных (дополнительные сведения)
- •Функции, используемые для работы с порядковыми переменными.
- •Условный оператор (выбор одного из двух направлений)
- •Оператор 1, оператор 2 – какой либо оператор, в том числе и составной оператор, т.Е. Несколько операторов, объединенных операторными скобками begin end.
- •Ветвление на несколько направлений (оператор – переключатель, или оператор выбора или оператор варианта):
- •Операторы безусловного перехода goto и halt:
- •Тема №5: программирование на языке turbo-pascal. Организация циклов. Операторы циклов. Составление программ с использование операторов цикла.
- •Оператор цикла с параметром.
- •Цикл с предварительным условием
- •Цикл с последующим условием
- •Особенности и отличия операторов цикла
- •Примеры программ
- •Ответить на вопросы
- •Тема №6: программирование на языке turbo-pascal. Процедуры. Функции. Составление программ с использование процедур и функций. Рекурсия.
- •Тема №7: программирование на языке turbo-pascal. Основные графические операции языка turbo pascal. Составление программ с использование операторов графики.
- •Примеры программ:
- •Составить программу Абстракция, которая выводит на экран всевозможные графические фигуры.
- •Тема №8: программирование на языке turbo-pascal. Массивы, одномерные и вдухмерные. Составление программ с использованием массивов.
- •Задача MaxMin. Программа для поиска максимального и минимального элемента массива, с указанием их номеров (maxmin.Pas).
- •Сортировка массивов
- •Сортировка методом «пузырька»
- •Сортировка методом выбора
- •Поиск элемента в упорядоченном массиве
- •Тема №9: данные типа strung.
- •Тема №8: файлы. Типизированные файлы. Текстовые файлы.
- •Пример записи в текстовый файл:
- •Приложение 1. Структура типов данных
- •Приложение 2. Таблица кодов ascii
- •Назначение некоторых кодов ascii
- •Приложение 3. Расширенные ascii –коды клавиш
- •Приложение 4. Кодировка символов по модифицированной альтернативной кодировке символов госта (десятичный код-символ)
- •Содердание
Получение случайных чисел.
Random – получение (генерация) случайных чисел в диапазоне от 0 до 1. Например, Y := random; (переменной Y присваивается значение равное числу из промежутка от 0 до 1, возможно 0.45678).
Random(X) - Получение случайных целых чисел в диапазоне от 0 до (Х-1). Аргумент Х - целое. Например, Y :=Random(39); (переменной Y присваивается значение равное числу из промежутка от 0 до 38).
Randomize - Формирование базы случайных чисел, на основе временного таймера ПК. Обеспечивает генерацию неповторяющихся последовательностей случайных чисел. Используется, чтобы получать разные случайные числа при каждом запуске программы. Должен стоять в программе до первого использования функции Random.
Генерация случайных чисел (А) |
|||
Что требуется получить |
Дано |
Оператор |
Результат (А) |
Любое число от 0 до 90 |
Аргумент - 91 |
А : = Random(91); |
Любое число от 0 до 90, например 62. |
Двухзначные целые положительные числа |
Числа от 10 до 99, всего: 99-10+1=90 (числа). |
А : = Random(90)+10; |
Любое число от 10 до 99, например 12. |
Двухзначные целые положительные четные числа |
Числа 10, 12, 14, … до 98, всего чисел (98-10)/2+1=88/2+1=45. |
А : = Random(45)*2+10;
|
Получаются число от 0 до 44, умножаются на 2 и увеличиваются на 10. Например, 56 |
Числа в заданном промежутке с заданным шагом. |
N - начало промежутка, M - конец промежутка, шаг - К. |
А : = Random (((N–M) div K)+1)*К+N; |
Сгенерируем случайное число в промежутке от 0 до (N – M) div k. Умножаем на К и прибавляем N. |
Примеры программ:
Объявите переменные, необходимых для вычисления значения функции y=x2. |
Var x:real, y:real; |
Объявите переменные, необходимые для вычисления площади кольца. |
Var r1,r2,s:real; |
Запишите на языке Паскаль Y=-2,7x3+0,23x2-1,4 |
Y:=-2.7*x*x*x+0.23*x*x-1.4 |
Написать программу, которая выводит на желтом фоне синими буквами: Буря мглою небо кроет … То заплачет, как дитя. А.С.Пушкин |
Ответ: Uses crt; Begin Textbackground (yellow); Textcolor(blue); Clrscr; Writeln(‘Буря….’); … Writeln; Writeln(‘ ‘ А.С.Пушкин’); Readkey; End. |
Написать программу вывода значений переменных a,b,c. Значение каждой переменной – на отдельной строке и начинается с имени переменной, затем знак =, затем значение. |
Uses crt; Var a,b,c:integer; Begin A:=5; b:=6; c:=7; Writeln(‘a=’,a); Writeln(‘b=’,b); Writeln(‘c=’,c); Readkey; end. |
Объявите переменные и напишите программу для вычисления стоимости покупки нескольких тетрадей и карандашей. |
Uses crt; Var koltet, sttet, kolkar,stkar,obst:integer; Begin Writeln(‘Введите колтетрадей’); Readln(koltet); … obst:=koltet*sttet+kolkar*stkar; writeln(‘obst=’, obst); Readkey; end. |
Написать программу вычисления величины дохода по вкладу. Процентная ставка (в процентах годовых) и время хранения (в днях) задаются во время работы программы. |
Uses crt; Var sum,srok,stavka,dohod:real; Begin Readln(sum); Readln(stavka); Readln(srok); Dohod:=((sum*(stavka/100))/36)*srok; Sum:=sum+dohod; Writeln(sum:9:2,’руб’); Readkey; end. |
Написать программу вычисления величины стоимости поездки на дачу. Расстояние, расход бензина на 100 км. и цена бензина может задаваться с клавиатуры или задаваться случайными числами. |
Uses crt; Var … Begin Clrscr; Writeln(’ … ’); Readln( … ); … Readkey; end. |
Найти остаток от деления и округленный результат деления двух целых чисел, заданных с клавиатуры |
Uses crt; Var a,b,c,d:integer; Begin Clrscr; Writeln(‘Введите два целых числа’); Readln(a,b); с:= a div b; d:= a mod b; Writeln(‘округленный результат - ’, c ); Writeln(‘остаток от деления - ’,d); Readln; end. |
Преобразовать вещественное число в денежный формат. Пример, 24.5 – 24 тенге 50 тиын
|
Uses crt; Var a: real; b,c: integer; Begin Clrscr; Writeln(‘Введите вещественное число’); Readln(a); b:= trunc(a); c:= round((a-b)*100); Writeln; Writeln(b:4,' тенге', c:6,’тиын’); Readkey; end. |
Сгенерировать случайные числа: 1) целое в интервале от 0 до 67; 2) целое двухзначное; 3) вещественное с двумя целыми знаками; 4) целое из ряда 60, 70, 80, 90, …, 150; 5) вещественное из ряда -1.5, -1.3, -1.1, …, 0.7, 0.9. |
Uses crt; Var a… Begin Clrscr; Randomize; a:=random(68-); Writeln(‘1 -’, a); a:=random(90)+10; Writeln(‘2 -’, a); a:=random; b:=b*100; Writeln(‘3 -’, b); a:=random(10)*10+60; Writeln(‘4 -’, a); a:=random(round((0.9-(-1.5))/0.2+1))*0.2-1.5; … Readkey; end. |