Автор работы: Пользователь скрыл имя, 18 Июня 2012 в 10:07, шпаргалка
Работа содержит ответы на 27 вопросов по дисциплине "Основы программирования".
1.этапы решения прикладных задач на компьютере. Часто решение прикладных задач с помощью компьютера называют моделированием, т. к. в этом случае обычно используют упрощенное представление о реальном объекте, процессе или явлении. Часто задача, которую требуется решить, сформулирована не на математическом языке. Для решения на компьютере ее сначала нужно привести к форме математической задачи, а потом уже программировать. Работа по решению прикладной задачи на компьютере проходит через следующие этапы:
*постановка задачи (должно быть четко определено, что дано, и что требуется найти);
*математическая формализация (строится математическая модель - система математических соотношений - формул, уравнений, неравенств и т. д., отражающих существенные свойства объекта или явления);
*построение алгоритма (Для этого может быть использован язык блок-схем или какой-нибудь псевдокод, например учебный алгоритмический язык; Разработка алгоритма включает в себя выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схемы, псевдокод и др.); выбор тестов и метода тестирования; проектирование самого алгоритма)
*составление программы на языке программирования (включает в себя следующие виды работ: выбор языка программирования; уточнение способов организации данных; запись алгоритма на выбранном языке программирования);
*отладка и тестирование программы (процесс испытания работы программы и исправления обнаруженных при этом ошибок);
*проведение расчетов и анализ полученных результатов (использование уже разработанной программы для получения искомых результатов).
2.понятие алгоритма. Свойства алгоритма. Способы представления алгоритмов. Алгоритм - точное предписание исполнителю совершить определенную последовательность действий для достижения поставленной цели за конечное число шагов. Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством. Свойствами являются:
• Дискретность (прерывность, раздельность) – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых шагов.
• Определенность – каждое правило алгоритма должно быть четким, однозначным.
• Результативность (конечность) – алгоритм должен приводить к решению задачи за конечное число шагов.
• Массовость – алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными.
Виды алгоритмов в зависимости от цели, начальных условий задачи, путей ее решения, определения действий исполнителя подразделяются следующим образом:
• Механические алгоритмы, или иначе детерминированные, жесткие (например, алгоритм работы машины, двигателя и т.п.);
• Вероятностный (стохастический) алгоритм дает программу решения задачи несколькими путями или способами, приводящими к вероятному достижению результата.
• Эвристический алгоритм (от греческого слова “эврика”) – это такой алгоритм, в котором достижение конечного результата программы действий однозначно не предопределено, так же как не обозначена вся последовательность действий, не выявлены все действия исполнителя.
• Линейный алгоритм – набор команд (указаний), выполняемых последовательно во времени друг за другом.
• Разветвляющийся алгоритм – алгоритм, содержащий хотя бы одно условие, в результате проверки которого ЭВМ обеспечивает переход на один из двух возможных шагов.
• Циклический алгоритм – алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными.
• Вспомогательный (подчиненный) алгоритм (процедура) – алгоритм, ранее разработанный и целиком используемый при алгоритмизации конкретной задачи.
• Структурная (блок-, граф-) схема алгоритма – графическое изображение алгоритма в виде схемы связанных между собой с помощью стрелок (линий перехода) блоков – графических символов, каждый из которых соответствует одному шагу алгоритма. Внутри блока дается описание соответствующего действия.
3.основы организации языков. Понятие операторов. Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами.
Язык программирования — это способ передачи команд, приказов, чёткого руководства к действию.
Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.
Язык программирования может
быть представлен в виде
Можно сказать, что оператор - это инструкция, содержащая руководство к действию. Для компьютера выполнять запущенную на нём программу означает (последовательно переходя от одного оператора к другому) выполнять предписания (инструкции, приказы), содержащиеся в операторах. Существует несколько различных видов операторов. Каждый вид оператора обладает собственным свойством. Например, свойством оператора присваивания является способность присвоения указанной переменной некоторого значения, свойством оператора цикла является его многократное исполнение.
4.понятие величины и ее характеристики. История языка паскаль. Величина — это элемент данных с точки зрения их смыслового содержания или обработки. Смысловое разбиение данных производится во время постановки задачи и разработки алгоритма ее решения. Величины в программировании, так же, как и математические величины, делятся на переменные и константы. Существуют три основных типа величин, с которыми работает компьютер: числовой – целые и вещественные числа; символьный – текст, который может содержать буквы, числа, знаки препинания, служебные символы и т.д.; логический – принимает два значения: True (истина) и False (ложь).
Язык
назван в честь выдающегося
5.структура программы на языке паскаль. Программа состоит из заголовка и блока. Заголовок программы. В заголовке указывается имя программы и список параметров. Заголовка может и не быть или он может быть без параметров. Блок. Блок программы состоит из шести разделов, следующих в строго определенном порядке:
Раздел меток (label). Любой выполняемый оператор может быть снабжен меткой – целой положительной константой, содержащей не более 4-х цифр.
Раздел констант (const). Если в программе используются константы, то такие константы обычно обозначаются какими-либо именами и описываются в разделе const, а в программе используются только имена констант.
Раздел типов (type). в программе вводится тип, отличный от стандартного.
раздел переменных (var)
Раздел процедур и функций. Здесь присутствуют заголовки и тела пользовательских процедур и функций. Раздел действий должен присутствовать всегда. Состоит из операторов.
6.Встроенные стандартные типы величин.
1.Простые типы
Порядковые типы.
Целые типы (Integer(2 байта), Byte(1 байт), LongInt(4 байта), Word(2 байта))
Логический тип (Boolean(1 байт))
Символьный тип (Char(1 байт))
Вещественные типы (Real(6 байт)), Single (4 байта), Double (8 байт), Extended (10 байт), Comp (8 байт))
2. Структурированные типы
Строковый тип (string)
Регулярный тип
Множественный тип
Файловый тип
3. Процедурные типы (type)
7.Операторы ввода-вывода. Вложенные условные конструкции. Оператор чтения (Read) обеспечивает ввод числовых данных, символов, строк, логических данных и т.д. для последующей их обработки программой. Read (X), где X - переменные допустимых типов данных. После запуска программы значения X набираются минимум через один пробел на клавиатуре и высвечиваются на экране. После набора данных для одного оператора нажимается клавиша ввода. Оператор чтения Readln аналогичен оператору Read, с отличием лишь в том, что после считывания последнего в списке значений для одного оператора Readln данные для следующего оператора Readln будут считываться с начала новой строки. Оператор записи Write производит вывод числовых данных, символов, строк, логических значений. Write (Y) осуществляет вывод на экран значений Y. Можно задавать ширину поля вывода. Оператор записи Writeln аналогичен оператору Write, но после вывода значений происходит перевод курсора на другую строку.
8.Линейные программы. Простейший алгоритм - это алгоритм линейной структуры. Его команды выполняются одна за другой по порядку, т.е. линейно, и этот порядок ничем и никогда не нарушается.
Алгоритм
линейной структуры напоминает
план, список указаний исполнителю
в порядке очередности их
Program Pl1; { Вычисление площади тр-ка по формуле Герона }
Var a,b,c, p, s : Real;
Begin
Writeln('Вычисление площади треугольника');
Write('Введите длины сторон треугольника: ');
Readln(a,b,c);
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln('S = ',s:8:4)
End.
9.оператор условного перехода. Вложенные условные конструкции. В разветвляющихся процессах отдельные этапы вычислений зависят от некоторых условий, проверяемых во время вычислений, выбираются для исполнения различные их последовательности. Если требуется вычислить z=Max(x,y), то желаемый результат получается в результате выполнения либо оператора присваивания. В Паскале есть два условных оператора: If Then Else и Case.
Оператор If может принимать одну из следующих форм:
1. If <условие> Then <оператор1> Else <оператор2>;
2. If <условие> Then <оператор>;
Здесь ключевые слова If, Then, Else означают соответственно "если", "то", "иначе". Условие - это выражение логического типа. Первая форма - это полная форма, вторая - сокращенная форма. Очень часто после Then или Else используется составные операторы. Составной оператор - объединение нескольких операторов в одну группу. Составной оператор начинается служебным словом Begin и заканчивается служебным словом End;.
Program Prog03;
Var x,y,z : Real;
Begin
Write('X Y : ');
Readln(x,y);
If x>y Then z:=x Else z:=y;
Writeln('Max = ',z);
End.
10.оператор выбора CASE. Оператор выбора Case является обобщением оператора If и позволяет сделать выбор из произвольного числа имеющихся вариантов. Он состоит из выражения, называемого селектором, и списка операторов, каждому из которых предшествует список констант выбора. Как и в операторе If, здесь может присутствовать слово Else, имеющее тот же смысл. Форма записи:
Case <выражение> Of
<список1> : <оператор1;>
<списокN> : <операторN>
[ Else <оператор> ]
End;
Оператор Case работает следующим образом. Сначала вычисляется выражение. Если вычисленное значение равно одной из констант списка, то выполняется соответствующий оператор для данного списка. Затем управление передается за пределы оператора Case. Выражение может быть скалярного типа, кроме Real. Тип константы должен совпадать с типом выражения.
Program Prog05;
Var n : Integer;
Begin
Write('N = ');
Readln(n);
Write('Число ');
Case n Of
0..9 : Write('одно');
10..99 : Write('дву');
100..999 : Write('трех')
End;
Writeln('значное')
End.
11.цикл со счетчиком «для». Оператор цикла For имеет две формы:
а) For i:=n1 To n2 Do <оператор>;
б) For i:=n2 DownTo n1 Do <оператор>;
В первом случае счетчик получает следующее значение, во втором - получает предыдущее значение. Тип Real запрещен для счетчика цикла. Можно использовать оператор For с символьным счетчиком или с логическим счетчиком.
Program Summa; { вычисление суммы S=1+1/2+..+1/n }
Var i,n : Integer;
s : Real;
Begin
Write('N = '); Readln(n);
s:=0;
For i:=1 To n Do s:=s+1/i;
Writeln('S = ',s:8:3)
End.
12.цикл с предусловием. Свойства цикла «пока». Методика составления программ с этим циклом. Оператор цикла While имеет формат: While <условие> Do <оператор>; Перед каждым выполнением цикла вычисляется значение условия. Если оно истинно, то тело цикла выполняется и выполняется переход к заголовку цикла. Если оно ложно, то происходит выход из цикла и переход к первому после тела цикла оператору.