Средства алгоритмического языка
Язык BASIC как семейство высокоуровневых языков программирования. Средства алгоритмического языка программирования и их типы. Способы ввода исходных данных. Особенности оператора условного перехода. Детальная характеристика циклических вычислений.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 02.05.2015 |
Размер файла | 64,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ПУТЕЙ СООБЩЕНИЯ
ИНСТИТУТ ТРАНСПОРТНОЙ ТЕХНИКИ И СИСТЕМ УПРАВЛЕНИЯ
Кафедра «Электропоезда и локомотивы»
РЕФЕРАТ
по дисциплине ИНФОРМАТИКА на тему:
«Средства алгоритмического языка»
Выполнила: студентка группы ТПЭ-111
Петришина О.А.
Москва - 2014
ВВЕДЕНИЕ
В настоящее время большое место в нашей жизни отведено различным устройствам предназначенным для создания комфорта в быту, облегчения выполнения работы и т.д. Одним из таких устройств является компьютер.
Хотя компьютеры создавались для численных расчетов, скоро оказалось, что они могут обрабатывать и другие виды информации. Для обработки различной информации на компьютере надо иметь средства для преобразования нужного вида информации в числовую форму и обратно. Сейчас с помощью компьютеров не только проводятся числовые расчеты, но и подготавливаются к печати книги, создаются рисунки, кинофильмы, музыка, осуществляется управление заводами и космическими кораблями и т.д. Компьютеры превратились в универсальные средства обработки информации.
Язык БЕЙСИК, предназначенный для обучения программированию и получивший широкое распространение в виде различных диалектов, прежде всего, как язык для домашних микрокомпьютеров.
Бейсик (BASIC -- сокращение от англ. Beginner's All-purpose Symbolic Instruction Code -- универсальный код символических инструкций для начинающих; англ. basic -- основной, базовый) -- семейство высокоуровневых языков программирования. Был разработан в 1963 профессорами Дартмутского колледжа Томасом Куртцом (Thomas E. Kurtz, 1928-) и Джоном Кемени (John G. Kemeny, 1926--1993).
Бейсик был спроектирован так, чтобы студенты могли писать программы, используя терминалы с разделением времени. Он создавался как решение для проблем, связанных со сложностью более старых языков. Он предназначался для более «простых» пользователей, не столько заинтересованных в скорости программ, сколько просто в возможности использовать компьютер для решения своих задач.
Несмотря на то, что язык уже использовался на нескольких миникомпьютерах, его настоящее распространение началось с его появления на микрокомпьютере Altair 8800. Многие языки программирования были слишком большими чтобы поместиться в небольшую память, которую пользователи таких машин могли себе позволить. Для машин с таким медленным носителем как бумажная лента (позднее -- аудиокассета) и без подходящего текстового редактора такой небольшой язык как Бейсик был отличной находкой.
1. СРЕДСТВА АЛГОРИТМИЧЕСКОГО ЯЗЫКА БЭЙСИК
Оператор-это слово или предложение которое при занесении в вычислительную машину выполняет какие-либо действия.
А) Оператор присваивания
Б) Оператор ввода данных (input, let)
В) Оператор вывода данных (print)
Г) Операторы вычислений (+,-,/,*)
Д) Оператор проверки условия (if then else)
Е) Оператор повторяющихся вычислений (for-next, while-wend)
Ж) Оператор для образования массивов данных (dim)
З) Оператор создания файлов
Файл-средство хранения, передачи данных, обладающих каким-то определенным свойством.
И) Оператор графического изображения результатов (screen)
Й) Оператор средства ввода комментариев в текст программы
1.1 КОММЕНТАРИИ
Алгоритмический язык- это искусственный язык, предназначенный для записей алгоритмов
Алгоритм- это последовательность правил выполнение которых приводит к однозначному решению задач.
Существует три типа алгоритмов:
1) Линейный
Пример: Определить сумму двух чисел
rem primer 1
a=2
b=2
c=a+b
print «c»; c
end
Блок-схема
Размещено на http://www.allbest.ru/
2) Разветвленный
Пример: Найти значение переменной
Y= x^2 при x<=0
SQR(x) при x>0
rem primer 2
input «x»; x
if x<=0 then y=x^2
else y= SQR(x)
print «y»; y
end
Блок-схема
Размещено на http://www.allbest.ru/
3) Циклический
Пример: Найти сумму числового ряда 1, 2, 3, 4, 5
rem primer 3
s=0
for i=1 to 5
s=s+i
next i
print «s=»; s
end
Размещено на http://www.allbest.ru/
Любой алгоритм должен содержать 3 основных действия !
1- Ввод исходных данных
2- Постановку и решение задачи
3- Вывод результата
1.2 ВВОД ИСХОДНЫХ ДАННЫХ (разные способы)
1) Непосредственное присваивание: осуществляется с помощью оператора LET:
let/имя переменной/=/присваиваемое значение/
Для среды TB указание команды LET необязательно и его можно опустить.
Использование оператора присваивания (let a=3.84)- этот способ в основном применяется при программирование для ввода небольших чисел. (pi=3,1415)
Пример.
Команда программы Результат
a=10 Переменной a присвоено значение 10
tok=0 Переменной tok присвоено значение 0
2) Присваивание значения с помощью клавиатуры: осуществляется оператором INPUT, с указанием имени переменной:
input/имя переменной/
Ввод данных с клавиатуры используется для ввода небольшого количества чисел , их значения не задаются жестко (в том случае если нужно изменять вводимые данные многократно)
Правило записи:
input «ввести a, b, c» ;a, b, c
При выполнении этого оператора программа прекращает свою работу и на экране появится символ ?, после чего необходимо задать значение переменной с помощью клавиатуры и нажать ENTER, выполнение программы будет продолжено. В операторе INPUT можно вводить несколько переменных и применять комментарии. Комментарии должны быть заключены в кавычки и при выполнении команды они будут выведены на экран.
Пример: ввод данных с помощью «INPUT»:
input «Ввести a,b.c»; a, b. c
print «a=»; a, «b=»; b, «с=»; c
3) Присваивание значения для большого количества переменных осуществляется с помощью пары операторов READ-DATA(«образование блока данных»):
Правило записи:
read /имена переменных/
…
data /значение переменных/
Количество значений переменных должно соответствовать количеству переменных или быть больше ( т.е. на 10 переменных должно быть не менее 10 данных). Операторы READ и DATA могут быть расположены в разных местах программы. Применение такого вида присваивания целесообразно при количестве переменных более десяти и в том случае, если они не будут изменяться при выполнении вычислений.
Это способ применяется для ввода большого количества данных, основное преимущество этого способа заключается в том , что данные вписываются в текст программы и сколько бы раз мы бы запускали программу, эти данные все равно не изменятся.
Пример: ввод данных с помощью «read-data»
rem пример использования
read-date
read a, b, c
data 1.2, 3, 5
print «a=»; a, «b=»; b, «c=»; c
end
Дополнение к применению « read-data»
Имеется команда для восстановления блока данных restore(восстановить данные в блоке data)
Пример: применение restore
Присвоить a, b, c числа 3.8; 16.5; 18.0 и эти числа присвоить переменным
d, k, l
rem…
read a, b, c
restore
read d, k, l
data 3.8, 16.5, 18.0
print «a=»; a, «b=»; b, «c=»; c :(для записи неск. операторов) print
print «d=»; d, «k=»; k, «l=»; l
end
1.3 ОПЕРАТОР УСЛОВНОГО ПЕРЕХОДА
Часто при выполнении расчетов необходимо выполнять те или иные действия в зависимости от условий, поставленных задачей, т.е использовать разветвленный тип алгоритма. Для этого в алгоритмическом языке BASIC существует специальный оператор- оператор условного перехода IF.
Существуют три варианта написания оператора условного перехода:
1 короткий строчный:
if /условие/ then /действие, производимое при выполнении условия/
2 длинный строчный:
if /условие/ then /действие/ else /действие 2/,
где действие 1- действие, производимое при выполнении условия;
действие 2- действие, производимое при невыполнении условия;
3 блочный
if /условие/ then
…/действия, производимые при выполнении условия/
else
…/ действия, производимые при невыполнении условия /
end if
При наличии нескольких взаимоисключающих условий в блочной конструкции оператора можно применить оператора IF можно применить оператор ELSEIF и добавить блок действий соответствующего условия.
if /условие1/ then
…/действия, производимые при выполнении условия 1/
elseif /условие2/ then
…/ действия, производимые при выполнении условия 2/
else
…/ действия, производимые при невыполнении условия /
end if
Так же в операторе условного перехода можно использовать проверку по двум условиям для этого проверяемые условия объединяются оператором AND, если условия являются взаимоисключающими (проверяется выполнение хотя бы одного условия), то между условиями ставится оператор OR.
Пример: применение оператора IF
X^2 при x<0
Y= 0 при x=0,
SQR(x) при x>0
rem Короткая строчная
input «Введите x» ;x
if x<0 then y=x^2
if x=0 then y=0
if x>0 then y=sqr(x)
print «y=» ;y
end
rem Длинная строчная
input «Введите x» ;x
if x<0 then y=x^2 else if x=0 then y=0 else y=sqr(x)
print «y=» ;y
end
rem Блочная
input «Введите x» ;x
if x<0 then
y=x^2
else if x=0 then
y=0
else
y=sqr(x)
end if
print «y=» ;y
end
1.4 ОПЕРАТОРЫ ЦИКЛИЧЕСКИХ ВЫЧИСЛЕНИЙ
Переменная цикла- это переменная которая в процессе циклических вычислений многократно изменяется. Y=f(x)
Тело цикла- группа операторов, которая должна многократно выполняется в процессе циклических вычислений.
Реализаций алгоритмов циклических вычислений несколько .
Такие алгоритмы можно реализовать сочетанием операторов условного и безусловного переходов. Рассмотрим пример такой реализации для нахождения значений функции
y=x^2,
где x=0, 2, …8.
Исходя из условий задачи, реализовать циклические вычисления с помощью оператора IF можно двумя способами : с проверкой условия цикла в начале циклических вычислений либо в конце.
Пример:
rem Цикл через if в конце
xn=0: xk=8: dx=2
x=xn
5 y=x^2
print «x=»; x, «y=»;
x=x+dx
if x<=xk then 5
end
Алгоритмы циклических вычислений с заранее известным числом повторений реализуются с помощью оператора FOR-NEXT (цикл «До»)
for/переменная цикла = начальное значение/ to /конечное значение/ step/шаг/
… /тело цикла /
next /переменная цикла/
Рассмотрим предыдущий пример нахождения функции y=x^2 с использование оператора FOR-NEXT.
В данном примере, в строке с оператором NEXT производятся два действия: изменяется значение переменной цикла и проверяется условие превышения ею конечного значения.
Циклический с заранее неизвестным количеством повторений реализуется с помощью оператора WHILE-WEND:
while /условие, при котором цикл должен выполняться/
… /тело цикла /
wend
Такой тип циклических вычислений получил название цикл «ПОКА»,
т.е.
Пример нахождения функции y=x^2 с использованием оператора WHILE-WEND
Пример:
rem Цикл через
xn=0: xk=8: dx=2
x=xn
while x<=xk
y=x^2
print «x=»; x, «y=»; y
x=x+dx
wend
end
1.5 ОПИСАТЕЛЬ МАСИВОВ
Числовые массивы- совокупность числовых данных, объединенных общим смысловым назначением.
Если в алгоритм требуется применить числовой массив, то в программе его сначала нужно описать, то есть задать имя массива, его размерность и размер.
Для объявления массива используется оператор DIM (от английского dimension-размер)
Описание:
Размер массива- количество элементов или чисел которые входят в массив
Оперативная память
При описание массивов в оперативной памяти резервируется заданное количество ячеек , которое описано в описание массивов.
Массив чисел- средства, позволяющие хранить в оперативной памяти числовые значения в виде совокупности пронумерованных по порядку чисел.
Массивы принято делить на одномерные и многомерные, в частности, двумерные, или матрицы.
ОРГАНИЗАЦИЯ ПОДПРОГРАММ-ПРОЦЕДУР
Подпрограмма- это выполняющая конкретную функцию группа операторов, к которой можно обратиться из любого места основной программы.
Применение процедур позволяет снять все ограничения на применение подпрограмм и других программ. Для этого вводятся понятия фактические и формальные переменные.
Фактические переменные- это переменные, которые используются в основной(главной) программе.
Формальные переменные -это переменные, которые используются при написание подпрограмм-процедур.
Правило записи:
call /имя процедуры/ (/имя фактических переменных/)
Подпрограмма- процедура записывается после основной программы( после END). Последовательность используемых операторов:
sub /имя процедуры/ (/список формальных параметров/)
…/программа-процедура/
end sub
При передачи в процедуру массивов, в команде CALLуказывается только имя массива, а в команде SUB- объявляется имя массива и в скобках указывается размерность массива. Так при передачи двумерного массива А(5,5) в процедуру в операторе CALL необходимо указать А(), а в операторе SUB- В(2).
Блоки подпрограмм-процедур можно легко передавать между программами , согласовывая только количество, расположение и тип передаваемых фактических и формальных переменных. Рассмотрим пример использования подпрограммы-процедуры для нахождения максимального значения массива.
Пример. Дан массив A() , найти в нем максимум и минимум значения чисел.
rem
input «размер n»; n
dim A(n)
for i=1 to n
A(i)=-50+int(100*rnd(1))
coll max min (A(), max, min, n)
print «max=» ; max, «min=»; min
end
sub max_min (B(1), m, mn, k)
max=B(1): min=B(1)
for i=1 to k
if B(i)>m then
else if B(i)<min then
min=B(i)
else
end if
next i
end sub
1.7 ОПЕРАТОР ПЕЧАТИ
basic программирование алгоритмический
В алгоритмическом языке BASIC для вывода полученных результатов применяется оператор PRINT в различных формах.
print /имена переменных, выводимых на экран/
Пример:
а=48.486
print «a=»; a
end
При выводе большого количества данных, в операторе PRINT целесообразно применять комментарии.
print «/комментарии/» /имена переменных, выводимых на экран/
Если количество значащих цифр в выводимом результате необходимо ограничить, то применяется оператор PRINT в следующей форме:
print using «/комментарии и формат переменной/» , / список переменных/
Числовые значения могут выводиться в двух формах: десятичного числа с фиксированной запятой и экспоненциальной форме.
Для отображения формата числа в операторе используются специальные символы:
«-»- для знакоместа знака десятичного числа
«#»- для знакомест десятичного числа
«^»- для знакоместа показателя степени экспоненциального числа.
Для вывода результата в файл применяется следующая запись:
print #/номер канала/, /список выводимых переменных/
2. ОСНОВНЫЕ АЛГОРИТМЯ И ПРОГРАММЫ
2.1 ЗАПОЛНЕНИЕ ЧИСЛОВОГО МАССИВА, ПЕЧАТЬ МАССИВА
Двумерные массивы задаются количеством строк и количеством столбцов. Для записи элементов массивов можно применить операторы присваивания READ-DATA или INPUT. При занесении значений элементов одномерного массива оператор присваивания ставится внутри операторов цикла с количеством шагов равных количеству элементов массива. При занесении значений элементов двумерного массива оператор присваивания ставится внутри вложенного цикла и общее количество шагов циклов должно также равняться числу элементов массива .
Пример. Заполнить одномерный массив А(10) произвольными числами.
rem
dim A(12)
for i=1 to 12
input A(i)
next i
end
Пример. Заполнить массив A(5x5) произвольными числами
rem
dim B(5,5)
for i=1 to 5
for j=1 to 5
read B(i,j)
next j
next i
data 1, 2, 3, 4, 5
data 6, 7, 8, 9, 10
data 11, 12, 13, 14, 15
data 16, 17, 18, 19, 20
data 21, 22, 23, 24, 25
end
2.2 ПОИСК МАКСИМАЛЬНОГО И МИНИМАЛЬНОГО ПО МОДУЛЮ ЧИСЕЛ
Достаточно часто при решении задач с массивами чисел встречается необходимость определить максимальный и минимальные элемент массива. Для этого используется циклический алгоритм решения. Начальным условием нахождения максимума и минимума в массиве является присваивание этим переменным значения одного из элементов массива, обычно это первый элемент: А(1) или А(1,1).
Следует заметить, что при нахождении максимума(минимума) среди числовых значений, не сформированных в массив , в качестве начальных значений должны приниматься следующие числа : для максимума- бесконечно большое отрицательное число, для минимума- бесконечно большое положительное число.
Рассмотрим пример нахождения максимального и минимального элементов в одномерной матрице А(10), с произвольными числами.
rem
dim A(10)
for i=1 to 10
input A(i)
next i
max=A(1):min=A(1)
for i=1 to 10
if A(i)>max then max=A(i)
if A(i)<min then min=A(i)
next i
print «Min»; min
print «Max»; max
2.3 ПРЕОБРАЗОВАНИЕ ОДНОМЕРНОГО МАССИВА С ПРОИЗВОЛЬНЫМ КОЛИЧЕСТВОМ ЭЛЕМЕНТОВ В ДВУМЕРНЫЙ (КВАДРАТНАЯ ИЛИ ПРЯМОУГОЛЬНАЯ МАТРИЦА)
Пример:
Дан одномерный массив с 52 элементами, создать из него квадратную матрицу.
rem описание одномерного массива
dim A(52)
rem генерация чисел
for i=1 to 52
A(i)=-50+int(rnd(1)*100)
next i
rem вычисление количества строк кв. матрицы
m=int(sqr(52)):print «m=»; m
rem описание квадратной матрицы
dim A1(m,m):n=1
rem заполнение квадратной матрицы элементами из А()
for i=1 to m
for j=1 to m
A1(i;j)=A(n)
n=n+1
next j
next i
rem «печать» матрицы А1(,)
for i=1 to m
for j=1 to m
print A(i,j) ;
next j
next i
end
Размещено на Allbest.ru
Подобные документы
Характеристика базовых конструкций языков программирования. Изучение истории их развития и классификации. Определение основных понятий языков программирования. Описание основных операторов, которые используются в языках программирования высокого уровня.
курсовая работа [400,6 K], добавлен 10.11.2016Машинные коды и ассемблер. Первые языки программирования высокого уровня. Язык программирования FORTRAN. Достоинства и недостатки ALGOL. Научные и бухгалтерские программы. Основные принципы, которые соблюдались при создании языка программирования Basic.
курсовая работа [407,4 K], добавлен 21.06.2014Язык программирования Visual Basic: краткая история возникновения, значение и общая характеристика. Изучение основных свойств Visual Basic, синтаксис языка. Обзор ключевых операторов Visual Basic, пользовательские процедуры и функции данного языка.
контрольная работа [36,4 K], добавлен 23.07.2014Системы программирования и их графические возможности. Разработка мультимедиа курса, способствующего эффективному усвоению учащимися базовой школы темы "Графические возможности языка программирования" (на примере языков программирования Basic и Pascal).
дипломная работа [588,3 K], добавлен 29.12.2010История создания и применение языка Basic. Стандартные математические и строковые функции. Операции и выражения языка. Блоки данных и подпрограммы. Операторы управления, цикла, ввода-вывода и преобразования информации. Константы, переменные, массивы.
контрольная работа [2,3 M], добавлен 04.05.2015Этапы создания программы. Транслятор как средство для преобразования текстов из одного языка в другой. Понятие языков программирования, основные моменты их истории. Некоторые операторы языка QBasic. Понятие переменной, ее наглядное представление.
презентация [22,9 K], добавлен 16.06.2011Цели и задачи дисциплины "Технология программирования". Программные средства ПК. Состав системы программирования и элементы языка. Введение в систему программирования и операторы языка Си. Организация работы с файлами. Особенности программирования на С++.
методичка [126,3 K], добавлен 07.12.2011Особенности способов описания языков программирования. Язык программирования как способ записи программ на ЭВМ в понятной для компьютера форме. Характеристика языка Паскаль, анализ стандартных его функций. Анализ примеров записи арифметических выражений.
курсовая работа [292,0 K], добавлен 18.03.2013Алфавит языка программирования C#. Лексемы языка программирования. Область действия переменных. Понятие классов и объектов. Структура программного модуля на С#. Управление процессом повторения вычислений. Продолжение цикла и модификация параметра цикла.
курсовая работа [557,1 K], добавлен 10.03.2014Создание простого непроцедурного языка, которым может воспользоваться любой пользователь. Разработка языка запросов. Стандартный язык реляционных баз данных. Вопросы практического программирования. Фиксированный исполняемый код SQL и типы команд SQL.
доклад [1,9 M], добавлен 12.01.2011